Skip to content

[VMWare] Limit IOPS in Compute/Disk Offerings - #6386

Merged
DaanHoogland merged 7 commits into
apache:mainfrom
scclouds:vmware-limit-iops
Jan 17, 2023
Merged

[VMWare] Limit IOPS in Compute/Disk Offerings #6386
DaanHoogland merged 7 commits into
apache:mainfrom
scclouds:vmware-limit-iops

Conversation

@SadiJr

@SadiJr SadiJr commented May 12, 2022

Copy link
Copy Markdown
Contributor

Using the VMWare hypervisor, when trying to create IOPS-limited VMs, either using Compute or Disk offerings, the IOPS limits were not respected in the hypervisor. This behavior has been corrected, in order to be able to limit, in VMWare, the IOPS limit of a VM, as long as the option to limit IOPS via hypervisor is used. Also, I added a new method to LogUtils class to enable to log objects using Gson without exception, to improve logs information.

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

Screenshots (if appropriate):

root-and-data-disks

root-and-data-disks-vmware

How Has This Been Tested?

It was tested in a local lab:

  1. I created three new offerings: one Compute Offering with IOPS limit, one disk offering with IOPS limit and one disk offering without IOPS limit;
  2. I created a new VM using this compute and disks offerings;
  3. Before, the IOPS limitation was not applied;
  4. Now, the IOPS limitations are being applied.
    Also, I added new unit tests.

SadiJr and others added 2 commits May 12, 2022 10:43
Limit compute/disk offerings IOPS in VMWare
@sonarqubecloud

Copy link
Copy Markdown

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 2 Code Smells

52.3% 52.3% Coverage
0.0% 0.0% Duplication

@acs-robot

Copy link
Copy Markdown

Found UI changes, kicking a new UI QA build
@blueorangutan ui

@blueorangutan

Copy link
Copy Markdown

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

UI build: ✔️
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6386 (SL-JID-1812)

@acs-robot

Copy link
Copy Markdown

Found UI changes, kicking a new UI QA build
@blueorangutan ui

@blueorangutan

Copy link
Copy Markdown

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

UI build: ✔️
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6386 (SL-JID-2015)

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan help

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland I understand these words: "help", "hello", "thanks", "package", "test"
Test command usage: test [mgmt os] [hypervisor] [keepEnv] [qemuEv]
Mgmt OS options: ['centos7', 'centos6', 'suse15', 'alma8', 'ubuntu18', 'ubuntu22', 'ubuntu20', 'rocky8']
Hypervisor options: ['kvm-centos6', 'kvm-centos7', 'kvm-rocky8', 'kvm-alma8', 'kvm-ubuntu18', 'kvm-ubuntu20', 'kvm-ubuntu22', 'kvm-suse15', 'vmware-55u3', 'vmware-60u2', 'vmware-65u2', 'vmware-67u3', 'vmware-70u1', 'vmware-70u2', 'vmware-70u3', 'xenserver-65sp1', 'xenserver-71', 'xenserver-74', 'xcpng74', 'xcpng76', 'xcpng80', 'xcpng81', 'xcpng82']
Note: when keepEnv is passed, you need to specify mgmt server os and hypervisor or use the matrix command.
when qemuEv is passed, it will deploy KVM hyperviosr hosts with qemu-kvm-ev, else it will default to stock qemu.
Package command usage: package [all(default value),kvm,xen,vmware,hyperv,ovm] - a comma separated list can be passed with package command to bundle the required hypervisor's systemVM templates. Not passing any argument will bundle all - kvm,xen and vmware templates.

Blessed contributors for kicking Trillian test jobs: ['rohityadavcloud', 'nvazquez', 'borisstoyanov', 'DaanHoogland', 'shwstppr', 'andrijapanicsb', 'Pearl1594', 'davidjumani', 'harikrishna-patnala', 'vladimirpetrov', 'sureshanaparti', 'weizhouapache', 'NuxRo']

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan test centos7 vmware-67u3

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan test centos7 vmware-67u3 keepEnv

@DaanHoogland DaanHoogland reopened this Aug 3, 2022
@acs-robot

Copy link
Copy Markdown

Found UI changes, kicking a new UI QA build
@blueorangutan ui

@blueorangutan

Copy link
Copy Markdown

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

UI build: ✔️
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6386 (SL-JID-2069)

@apache apache deleted a comment from blueorangutan Aug 4, 2022
@apache apache deleted a comment from blueorangutan Aug 4, 2022
@apache apache deleted a comment from blueorangutan Aug 4, 2022
@apache apache deleted a comment from blueorangutan Aug 4, 2022
@apache apache deleted a comment from blueorangutan Aug 4, 2022
@apache apache deleted a comment from blueorangutan Aug 4, 2022
@apache apache deleted a comment from blueorangutan Aug 4, 2022
@apache apache deleted a comment from blueorangutan Aug 4, 2022
@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a 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

Copy link
Copy Markdown

Packaging result: ✖️ el7 ✖️ el8 ✖️ debian ✖️ suse15. SL-JID 3906

@blueorangutan

Copy link
Copy Markdown

Packaging result: ✖️ el7 ✔️ el8 ✖️ debian ✖️ suse15. SL-JID 3912

@blueorangutan

Copy link
Copy Markdown

Packaging result: ✖️ el7 ✖️ el8 ✖️ debian ✔️ suse15. SL-JID 3916

@blueorangutan

Copy link
Copy Markdown

Packaging result: ✔️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 3922

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan test centos7 vmware-67u3

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + vmware-67u3) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

Trillian test result (tid-4641)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server 7
Total time taken: 43733 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6386-t4641-vmware-67u3.zip
Smoke tests completed. 100 look OK, 1 have errors
Only failed tests results shown below:

Test Result Time (s) Test File
test_08_upgrade_kubernetes_ha_cluster Failure 887.39 test_kubernetes_clusters.py

Comment thread vmware-base/src/test/java/com/cloud/hypervisor/vmware/util/VmwareHelperTest.java Outdated

@DaanHoogland DaanHoogland left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clgtm

@GutoVeronezi GutoVeronezi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pointed an improvement in a log, besides that, CLGTM.

Comment thread vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareHelper.java Outdated
@DaanHoogland DaanHoogland added this to the 4.18.0.0 milestone Jan 16, 2023
@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a 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

Copy link
Copy Markdown

Packaging result: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 5288

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a 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.

@codecov

codecov Bot commented Jan 16, 2023

Copy link
Copy Markdown

Codecov Report

❗ No coverage uploaded for pull request base (main@6ba0ef2). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #6386   +/-   ##
=======================================
  Coverage        ?   11.77%           
  Complexity      ?     7664           
=======================================
  Files           ?     2503           
  Lines           ?   245975           
  Branches        ?    38376           
=======================================
  Hits            ?    28971           
  Misses          ?   213234           
  Partials        ?     3770           

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

@sonarqubecloud

Copy link
Copy Markdown

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 2 Code Smells

52.3% 52.3% Coverage
0.0% 0.0% Duplication

@blueorangutan

Copy link
Copy Markdown

Packaging result: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 5289

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan test rocky8 vmware-67u3

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a Trillian-Jenkins test job (rocky8 mgmt + vmware-67u3) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

Trillian test result (tid-5872)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 48783 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6386-t5872-vmware-67u3.zip
Smoke tests completed. 106 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_08_upgrade_kubernetes_ha_cluster Failure 614.32 test_kubernetes_clusters.py

@DaanHoogland
DaanHoogland merged commit d04d60b into apache:main Jan 17, 2023
@weizhouapache

Copy link
Copy Markdown
Member

anyone has tested this ?

stephankruggg pushed a commit to scclouds/cloudstack that referenced this pull request Jan 25, 2023
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.

6 participants