Skip to content

Hypervisor as class#8798

Merged
yadvr merged 8 commits intoapache:mainfrom
shapeblue:hypervisor-as-class
Apr 2, 2024
Merged

Hypervisor as class#8798
yadvr merged 8 commits intoapache:mainfrom
shapeblue:hypervisor-as-class

Conversation

@vishesh92
Copy link
Copy Markdown
Member

@vishesh92 vishesh92 commented Mar 18, 2024

Description

This PR moves HypervisorType from an Enum to a class that is largely compatible with Enum. This will allow for custom hypervisor plugins to be added dynamically.

The changes are similar to what was done for StorageType in #8544.

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)
  • build/CI

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?

How did you try to break this feature and the system with this change?

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 18, 2024

Codecov Report

Attention: Patch coverage is 28.65169% with 127 lines in your changes are missing coverage. Please review.

Project coverage is 31.09%. Comparing base (33dc746) to head (e227f51).

Files Patch % Lines
.../main/java/com/cloud/network/NetworkModelImpl.java 0.00% 30 Missing and 10 partials ⚠️
...ava/com/cloud/upgrade/dao/Upgrade41500to41510.java 0.00% 37 Missing ⚠️
...ain/java/com/cloud/storage/StorageManagerImpl.java 0.00% 10 Missing ⚠️
.../src/main/java/com/cloud/vm/UserVmManagerImpl.java 0.00% 8 Missing ⚠️
...src/main/java/com/cloud/hypervisor/Hypervisor.java 82.92% 3 Missing and 4 partials ⚠️
.../network/lb/InternalLoadBalancerVMManagerImpl.java 0.00% 6 Missing ⚠️
...n/java/com/cloud/template/TemplateAdapterBase.java 0.00% 6 Missing ⚠️
...he/cloudstack/transport/HypervisorTypeAdaptor.java 37.50% 4 Missing and 1 partial ⚠️
...va/com/cloud/network/ovs/OvsTunnelManagerImpl.java 0.00% 5 Missing ⚠️
...om/cloud/upgrade/SystemVmTemplateRegistration.java 0.00% 3 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #8798      +/-   ##
============================================
+ Coverage     31.04%   31.09%   +0.05%     
- Complexity    33898    33958      +60     
============================================
  Files          5404     5406       +2     
  Lines        380278   380295      +17     
  Branches      55504    55544      +40     
============================================
+ Hits         118053   118250     +197     
+ Misses       246485   246332     -153     
+ Partials      15740    15713      -27     
Flag Coverage Δ
simulator-marvin-tests 24.69% <25.84%> (+0.07%) ⬆️
uitests 4.34% <ø> (ø)
unit-tests 16.88% <21.34%> (-0.01%) ⬇️

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

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@vishesh92
Copy link
Copy Markdown
Member Author

@blueorangutan package

@blueorangutan
Copy link
Copy Markdown

@vishesh92 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.

@apache apache deleted a comment from blueorangutan Mar 18, 2024
@apache apache deleted a comment from blueorangutan Mar 18, 2024
@vishesh92
Copy link
Copy Markdown
Member Author

@blueorangutan package

@blueorangutan
Copy link
Copy Markdown

@vishesh92 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.

@apache apache deleted a comment from blueorangutan Mar 18, 2024
@blueorangutan
Copy link
Copy Markdown

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

@vishesh92
Copy link
Copy Markdown
Member Author

@blueorangutan test matrix

@blueorangutan
Copy link
Copy Markdown

@vishesh92 a [SL] Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

@blueorangutan
Copy link
Copy Markdown

[SF] Trillian test result (tid-9520)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 43749 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8798-t9520-xenserver-71.zip
Smoke tests completed. 129 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File

@blueorangutan
Copy link
Copy Markdown

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

Test Result Time (s) Test File
test_02_balanced_drs_algorithm Failure 135.87 test_cluster_drs.py

@github-actions
Copy link
Copy Markdown

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

@vishesh92
Copy link
Copy Markdown
Member Author

@blueorangutan package

@blueorangutan
Copy link
Copy Markdown

@vishesh92 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
Copy link
Copy Markdown

[SF] Trillian test result (tid-9522)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 55617 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8798-t9522-kvm-centos7.zip
Smoke tests completed. 129 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File

@blueorangutan
Copy link
Copy Markdown

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

@vishesh92
Copy link
Copy Markdown
Member Author

@blueorangutan test matrix

@blueorangutan
Copy link
Copy Markdown

@vishesh92 a [SL] Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

@blueorangutan
Copy link
Copy Markdown

[SF] Trillian test result (tid-9528)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 43959 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8798-t9528-kvm-centos7.zip
Smoke tests completed. 129 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File

@blueorangutan
Copy link
Copy Markdown

[SF] Trillian test result (tid-9526)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 45942 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8798-t9526-xenserver-71.zip
Smoke tests completed. 129 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File

@blueorangutan
Copy link
Copy Markdown

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

Test Result Time (s) Test File
test_02_balanced_drs_algorithm Error 423.29 test_cluster_drs.py

Copy link
Copy Markdown
Contributor

@sureshanaparti sureshanaparti left a comment

Choose a reason for hiding this comment

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

Code LGTM

@vishesh92 vishesh92 marked this pull request as ready for review March 28, 2024 06:58
@yadvr yadvr added this to the 4.20.0.0 milestone Apr 2, 2024
@yadvr
Copy link
Copy Markdown
Member

yadvr commented Apr 2, 2024

Merging based on code reviews and manual QA as nudged by @borisstoyanov to me.

@yadvr yadvr merged commit 93f3182 into apache:main Apr 2, 2024
@yadvr yadvr deleted the hypervisor-as-class branch April 2, 2024 12:06
Copy link
Copy Markdown
Contributor

@borisstoyanov borisstoyanov left a comment

Choose a reason for hiding this comment

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

LGTM

dhslove pushed a commit to ablecloud-team/ablestack-cloud that referenced this pull request Apr 9, 2024
* HypervisorType as a class

* Fixup

* fixup

* Add missing annotation

* Resolve comments

* Handle parallels typo

* Add missing @convert annotation
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.

5 participants