cloudstack icon indicating copy to clipboard operation
cloudstack copied to clipboard

[VMware] apply IOPS in resize/migrate

Open SadiJr opened this issue 2 years ago • 76 comments
trafficstars

Description

Using the VMware hypervisor, when migrating/resizing one volume, with or without IOPS limitation, and changing the disk offering, this volume keeps the configurations of IOPS of the original offering, only applying the new configurations when detaching and attaching the volume. This PR aims to fix this behavior, to apply the new IOPS configuration when migration/resizing a volume changing the disk offering.

Types of changes

  • [ ] Breaking change (fix or feature that would cause existing functionality to change)
  • [ ] New feature (non-breaking change which adds functionality)
  • [x] 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

Bug Severity

  • [ ] BLOCKER
  • [ ] Critical
  • [ ] Major
  • [x] Minor
  • [ ] Trivial

Screenshots (if appropriate):

How Has This Been Tested?

It was tested in a local lab:

  1. I created a new VM, and three new disk offerings, one without IOPS limitation, the second with 3000 IOPS limitation, and the third with 5000 IOPS limitation;
  2. I tested migrate/resize this VM volume, using all the three new disk offerings;
  3. Before the changes, the VM definition in vCenter did not have its IOPS configuration changed;
  4. Now, the VM definition in vCenter has its IOPS configuration changed.

SadiJr avatar Feb 14 '23 19:02 SadiJr

Codecov Report

Attention: Patch coverage is 0% with 88 lines in your changes missing coverage. Please review.

Project coverage is 16.60%. Comparing base (41b4f0a) to head (1684347). Report is 31 commits behind head on main.

Files with missing lines Patch % Lines
...oud/hypervisor/vmware/resource/VmwareResource.java 0.00% 34 Missing :warning:
...m/cloud/agent/api/storage/ResizeVolumeCommand.java 0.00% 12 Missing :warning:
...n/java/com/cloud/storage/VolumeApiServiceImpl.java 0.00% 9 Missing and 3 partials :warning:
...ck/storage/motion/VmwareStorageMotionStrategy.java 0.00% 7 Missing :warning:
.../cloud/agent/api/storage/MigrateVolumeCommand.java 0.00% 6 Missing :warning:
...tack/storage/motion/AncientDataMotionStrategy.java 0.00% 6 Missing :warning:
...stack/engine/orchestration/VolumeOrchestrator.java 0.00% 5 Missing :warning:
...m/cloud/hypervisor/vmware/mo/VirtualMachineMO.java 0.00% 3 Missing :warning:
...e/driver/CloudStackPrimaryDataStoreDriverImpl.java 0.00% 2 Missing :warning:
.../apache/cloudstack/vm/UnmanagedVMsManagerImpl.java 0.00% 1 Missing :warning:
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #7226      +/-   ##
============================================
+ Coverage     16.57%   16.60%   +0.02%     
- Complexity    13870    13924      +54     
============================================
  Files          5719     5730      +11     
  Lines        507200   508166     +966     
  Branches      61574    61783     +209     
============================================
+ Hits          84093    84384     +291     
- Misses       413688   414345     +657     
- Partials       9419     9437      +18     
Flag Coverage Δ
uitests 3.93% <ø> (-0.03%) :arrow_down:
unittests 17.49% <0.00%> (+0.04%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Feb 14 '23 20:02 codecov[bot]

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar Jul 07 '23 19:07 github-actions[bot]

@SadiJr can you please check the review comments

shwstppr avatar Oct 09 '23 08:10 shwstppr

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar Oct 26 '23 08:10 github-actions[bot]

@blueorangutan package

DaanHoogland avatar Oct 27 '23 08:10 DaanHoogland

@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

blueorangutan avatar Oct 27 '23 08:10 blueorangutan

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 7542

blueorangutan avatar Oct 27 '23 09:10 blueorangutan

@SadiJr can you answer any questions/address any comments, please?

DaanHoogland avatar Oct 31 '23 14:10 DaanHoogland

ping @SadiJr

DaanHoogland avatar Nov 15 '23 14:11 DaanHoogland

@DaanHoogland Sorry for the delay, I will review the comments and work on this PR.

SadiJr avatar Nov 21 '23 18:11 SadiJr

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar Feb 08 '24 13:02 github-actions[bot]

As @SadiJr is focusing in other tasks, I will be working on this PR.

BryanMLima avatar Mar 01 '24 12:03 BryanMLima

Hi @SadiJr Can target this PR for 4.19.1?

sureshanaparti avatar Mar 12 '24 10:03 sureshanaparti

@blueorangutan package

BryanMLima avatar Mar 13 '24 17:03 BryanMLima

@BryanMLima a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

blueorangutan avatar Mar 13 '24 17:03 blueorangutan

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

blueorangutan avatar Mar 13 '24 18:03 blueorangutan

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar Mar 18 '24 13:03 github-actions[bot]

@blueorangutan package

BryanMLima avatar Apr 19 '24 17:04 BryanMLima

@BryanMLima a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

blueorangutan avatar Apr 19 '24 17:04 blueorangutan

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

blueorangutan avatar Apr 19 '24 18:04 blueorangutan

Hi @SadiJr Please check & address the outstanding comments. Thanks.

sureshanaparti avatar Jun 23 '24 15:06 sureshanaparti

Hi @SadiJr Please check & address the outstanding comments. Thanks.

Hey @sureshanaparti, I'm trying to address the comments and validate the PR, however, I'm having trouble with my VMware environment at the moment. I hope to address all of them before the code freeze.

BryanMLima avatar Jun 26 '24 14:06 BryanMLima

@blueorangutan package

BryanMLima avatar Aug 23 '24 17:08 BryanMLima

@BryanMLima a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

blueorangutan avatar Aug 23 '24 17:08 blueorangutan

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 10785

blueorangutan avatar Aug 23 '24 18:08 blueorangutan

@sureshanaparti can you trigger the tests here?

BryanMLima avatar Aug 23 '24 19:08 BryanMLima

@weizhouapache, can you check if all your concerns are met?

BryanMLima avatar Aug 23 '24 19:08 BryanMLima

@blueorangutan test alma9 vmware-70u3

DaanHoogland avatar Aug 26 '24 08:08 DaanHoogland

@DaanHoogland a [SL] Trillian-Jenkins test job (alma9 mgmt + vmware-70u3) has been kicked to run smoke tests

blueorangutan avatar Aug 26 '24 08:08 blueorangutan