Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
faa4e7b
Live storage migration of volume in scaleIO within same storage scale…
harikrishna-patnala Apr 6, 2023
a782f37
Added migrate command
harikrishna-patnala Jan 31, 2023
9d8d174
Recent changes of migration across clusters
harikrishna-patnala Feb 22, 2023
7af37ed
Fixed uuid
harikrishna-patnala Feb 23, 2023
9f4145e
recent changes
harikrishna-patnala Mar 6, 2023
e5cbf31
Pivot changes
harikrishna-patnala Mar 7, 2023
531a582
working blockcopy api in libvirt
harikrishna-patnala Mar 10, 2023
f482d23
Checking block copy status
harikrishna-patnala Mar 13, 2023
5fcc6f0
Formatting code
harikrishna-patnala Apr 6, 2023
4ca5dfa
Fixed failures
harikrishna-patnala Apr 6, 2023
7c7348a
code refactoring and some changes
harikrishna-patnala Mar 28, 2023
8aa7224
Removed unused methods
harikrishna-patnala Mar 30, 2023
a148bfa
removed unused imports
harikrishna-patnala Apr 4, 2023
dee41d9
Unit tests to check if volume belongs to same or different storage sc…
harikrishna-patnala Apr 6, 2023
28018a3
Unit tests for volume livemigration in ScaleIOPrimaryDataStoreDriver
harikrishna-patnala Apr 6, 2023
691bf6e
Fixed offline volume migration case and allowed encrypted volume migr…
harikrishna-patnala May 31, 2023
8558e04
Added more integration tests
harikrishna-patnala Apr 11, 2023
e300eee
Support for migration of encrypted volumes across different scaleio c…
harikrishna-patnala May 5, 2023
06db2a6
Fix UI notifications for migrate volume
harikrishna-patnala May 31, 2023
d0b794b
Data volume offline migration: save encryption details to destination…
harikrishna-patnala May 29, 2023
d87d9da
Offline storage migration for scaleio encrypted volumes
harikrishna-patnala May 30, 2023
ffaf2be
Allow multiple Volumes to be migrated with migrateVirtualMachineWithV…
harikrishna-patnala May 31, 2023
c3c45c9
Removed unused unittests
harikrishna-patnala May 31, 2023
417b860
Removed duplicate keys in migrate volume vue file
harikrishna-patnala Jun 1, 2023
683fefd
Fix Unit tests
harikrishna-patnala Jun 6, 2023
eea8b2d
Add volume secrets if does not exists during volume migrations. secre…
harikrishna-patnala Jun 6, 2023
cc48055
Fix secret UUID for encrypted volume migration
harikrishna-patnala Jun 7, 2023
e0623b0
Added a null check for secret before removing
harikrishna-patnala Jun 7, 2023
c3ff286
Added more unit tests
harikrishna-patnala Jun 9, 2023
be81092
Fixed passphrase check
harikrishna-patnala Jun 16, 2023
a4d04ab
Add image options to the encypted volume conversion
harikrishna-patnala Jun 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Add image options to the encypted volume conversion
  • Loading branch information
harikrishna-patnala committed Jun 19, 2023
commit a4d04ab861f7c1e5ca8b8d25ef23aa4439cba6d0
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,7 @@ public KVMPhysicalDisk copyPhysicalDisk(KVMPhysicalDisk disk, String name, KVMSt

boolean forceSourceFormat = srcQemuFile.getFormat() == QemuImg.PhysicalDiskFormat.RAW;
LOGGER.debug(String.format("Starting copy from source disk %s(%s) to PowerFlex volume %s(%s), forcing source format is %b", srcQemuFile.getFileName(), srcQemuFile.getFormat(), destQemuFile.getFileName(), destQemuFile.getFormat(), forceSourceFormat));
qemuImageOpts.setImageOptsFlag(true);
qemu.convert(srcQemuFile, destQemuFile, options, qemuObjects, qemuImageOpts,null, forceSourceFormat);
LOGGER.debug("Successfully converted source disk image " + srcQemuFile.getFileName() + " to PowerFlex volume: " + destDisk.getPath());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ public class QemuImageOptions {
private static final String LUKS_KEY_SECRET_PARAM_KEY = "key-secret";
private static final String QCOW2_KEY_SECRET_PARAM_KEY = "encrypt.key-secret";
private static final String DRIVER = "driver";
private boolean addImageOpts = false;

private QemuImg.PhysicalDiskFormat format;
private static final List<QemuImg.PhysicalDiskFormat> DISK_FORMATS_THAT_SUPPORT_OPTION_IMAGE_OPTS = Arrays.asList(QemuImg.PhysicalDiskFormat.QCOW2, QemuImg.PhysicalDiskFormat.LUKS);
Expand Down Expand Up @@ -71,13 +72,19 @@ public void setFormat(QemuImg.PhysicalDiskFormat format) {
}
}

public void setImageOptsFlag(boolean addImageOpts) {
this.addImageOpts = addImageOpts;
}

/**
* Converts QemuImageOptions into the command strings required by qemu-img flags
* @return array of strings representing command flag and value (--image-opts)
*/
public String[] toCommandFlag() {
if (format == null || !DISK_FORMATS_THAT_SUPPORT_OPTION_IMAGE_OPTS.contains(format)) {
return new String[] { params.get(FILENAME_PARAM_KEY) };
if (!addImageOpts) {
if (format == null || !DISK_FORMATS_THAT_SUPPORT_OPTION_IMAGE_OPTS.contains(format)) {
return new String[] { params.get(FILENAME_PARAM_KEY) };
}
}
Map<String, String> sorted = new TreeMap<>(params);
String paramString = Joiner.on(",").withKeyValueSeparator("=").join(sorted);
Expand Down