Skip to content

Conversation

@harikrishna-patnala
Copy link
Contributor

Description

This feature allows the storage migration for ScaleIO volumes between the ScaleIO storage pools of the same and different ScaleIO storage clusters. Previously this operation was blocked and now we are allowing it from API/UI.

The volume migration within the same storage cluster is performed using ScaleIO’s native V-Tree migration operation where the volume will be live migrated to another storage pool. The volume migration across the different storage cluster is performed using libvirt’s live blockcopy operation which will first copy the volume to the destination storage pool and after a successful copy, the source volume will be deleted. Upon any failures during the block copy, source volume will remain to continue and other blockcopy operations will be reverted.

A document PR is added here apache/cloudstack-documentation#321

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

… the ScaleIO storage pools of the same and different ScaleIO storage clusters. Previously this operation was blocked and now we are allowing it from API/UI.

The volume migration within the same storage cluster is performed using ScaleIO’s native V-Tree migration operation where the volume will be live migrated to another storage pool. The volume migration across the different storage cluster is performed using libvirt’s live blockcopy operation which will first copy the volume to the destination storage pool and after a successful copy, the source volume will be deleted. Upon any failures during the block copy, source volume will remain to continue and other blockcopy operations will be reverted.

A document PR is added here apache/cloudstack-documentation#321
@harikrishna-patnala
Copy link
Contributor Author

@blueorangutan package

@blueorangutan
Copy link

@harikrishna-patnala a [LL] Jenkins job has been kicked to build packages. It will be bundled with

SystemVM template(s). I'll keep you posted as I make progress.

@blueorangutan
Copy link

Packaging result [LL]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 6113

@codecov
Copy link

codecov bot commented Jun 9, 2023

Codecov Report

Merging #7611 (40ef060) into main (41e8ad7) will increase coverage by 0.02%.
The diff coverage is 30.51%.

@@             Coverage Diff              @@
##               main    #7611      +/-   ##
============================================
+ Coverage     13.00%   13.03%   +0.02%     
- Complexity     9032     9048      +16     
============================================
  Files          2728     2728              
  Lines        256877   257168     +291     
  Branches      40060    40096      +36     
============================================
+ Hits          33416    33520     +104     
- Misses       219279   219446     +167     
- Partials       4182     4202      +20     
Impacted Files Coverage Δ
...e/cloudstack/storage/volume/VolumeServiceImpl.java 2.27% <0.00%> (-0.01%) ⬇️
...oud/hypervisor/kvm/resource/LibvirtConnection.java 0.00% <0.00%> (ø)
...ud/hypervisor/kvm/storage/KVMStorageProcessor.java 4.97% <0.00%> (-0.02%) ⬇️
...age/datastore/client/ScaleIOGatewayClientImpl.java 0.00% <0.00%> (ø)
...atastore/driver/ScaleIOPrimaryDataStoreDriver.java 0.00% <0.00%> (ø)
...n/java/com/cloud/storage/VolumeApiServiceImpl.java 15.05% <0.00%> (+0.02%) ⬆️
.../src/main/java/com/cloud/vm/UserVmManagerImpl.java 7.35% <ø> (+<0.01%) ⬆️
...ce/wrapper/LibvirtMigrateVolumeCommandWrapper.java 61.84% <74.40%> (+54.69%) ⬆️
...n/java/com/cloud/vm/VirtualMachineManagerImpl.java 6.23% <100.00%> (ø)

... and 7 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants