Skip to content

Allow kvm storage plugin to customize diskdef, add geometry - #8839

Merged
yadvr merged 2 commits into
apache:mainfrom
shapeblue:kvm-pool-custom-diskdef
Apr 18, 2024
Merged

yadvr merged 2 commits into
apache:mainfrom
shapeblue:kvm-pool-custom-diskdef

Conversation

@sureshanaparti

Copy link
Copy Markdown
Contributor

Description

This PR allows KVM storage plugin an opportunity to customize the libvirt disk XML.

The new interface method customizeLibvirtDiskDef facilitates plugin-specific config without having to add new methods for each specific thing that may need customizing. Existing plugins should be unaffected because of default implementation in interface.

Additionally, this adds the capability to define geometry in the libvirt disk definition.

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?

@sureshanaparti

Copy link
Copy Markdown
Contributor Author

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

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

@codecov

codecov Bot commented Mar 27, 2024 •

Copy link
Copy Markdown

Codecov Report

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

Project coverage is 31.11%. Comparing base (e44c17e) to head (ba012cf).

Files Patch % Lines
...ervisor/kvm/resource/LibvirtComputingResource.java 0.00% 2 Missing ⚠️
...m/cloud/hypervisor/kvm/storage/KVMStoragePool.java 0.00% 1 Missing ⚠️
...ud/hypervisor/kvm/storage/KVMStorageProcessor.java 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #8839      +/-   ##
============================================
+ Coverage     30.93%   31.11%   +0.17%     
- Complexity    33753    33989     +236     
============================================
  Files          5404     5404              
  Lines        380309   380323      +14     
  Branches      55507    55508       +1     
============================================
+ Hits         117658   118328     +670     
+ Misses       247041   246323     -718     
- Partials      15610    15672      +62     
Flag Coverage Δ
simulator-marvin-tests 24.86% <0.00%> (+0.31%) ⬆️
uitests 4.34% <ø> (ø)
unit-tests 16.88% <71.42%> (+<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.

@blueorangutan

Copy link
Copy Markdown

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

@sureshanaparti

Copy link
Copy Markdown
Contributor Author

@blueorangutan test

@blueorangutan

Copy link
Copy Markdown

@sureshanaparti a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

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

Test Result Time (s) Test File
test_attach_and_distribute_multiple_volumes Failure 37.68 test_attach_multiple_volumes.py
test_01_verify_ipv6_vpc Error 680.82 test_vpc_ipv6.py
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL Failure 631.02 test_vpc_redundant.py
test_02_redundant_VPC_default_routes Failure 1510.79 test_vpc_redundant.py
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers Failure 481.93 test_vpc_redundant.py
test_05_rvpc_multi_tiers Failure 554.30 test_vpc_redundant.py
test_05_rvpc_multi_tiers Error 554.32 test_vpc_redundant.py

@sureshanaparti
sureshanaparti marked this pull request as ready for review March 28, 2024 08:06

@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

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan test alma9 kvm-alma9

@blueorangutan

Copy link
Copy Markdown

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

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-9626)
Environment: kvm-alma9 (x2), Advanced Networking with Mgmt server a9
Total time taken: 48870 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8839-t9626-kvm-alma9.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

@borisstoyanov

Copy link
Copy Markdown
Contributor

@blueorangutan test matrix

@blueorangutan

Copy link
Copy Markdown

@borisstoyanov 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-9641)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 50338 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8839-t9641-kvm-centos7.zip
Smoke tests completed. 127 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_02_enableHumanReadableLogs Error 0.20 test_human_readable_logs.py
test_hostha_enable_ha_when_host_disabled Error 3.95 test_hostha_kvm.py
test_hostha_enable_ha_when_host_in_maintenance Error 308.21 test_hostha_kvm.py

@blueorangutan

Copy link
Copy Markdown

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

Test Result Time (s) Test File
all_test_human_readable_logs Skipped --- test_human_readable_logs.py

@blueorangutan

Copy link
Copy Markdown

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

Test Result Time (s) Test File
test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 Error 354.61 test_internal_lb.py
test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 Error 354.63 test_internal_lb.py
test_01_disableHumanReadableLogs Error 0.38 test_human_readable_logs.py
test_01_deploy_vm_on_specific_host Error 0.22 test_vm_deployment_planner.py
test_02_deploy_vm_on_specific_cluster Error 0.23 test_vm_deployment_planner.py
test_03_deploy_vm_on_specific_pod Error 0.25 test_vm_deployment_planner.py
test_04_deploy_vm_on_host_override_pod_and_cluster Error 0.36 test_vm_deployment_planner.py
test_05_deploy_vm_on_cluster_override_pod Error 0.24 test_vm_deployment_planner.py

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 4.32%. Comparing base (e44c17e) to head (3589e4a).
Report is 27 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main   #8839       +/-   ##
============================================
- Coverage     30.93%   4.32%   -26.62%     
============================================
  Files          5404     361     -5043     
  Lines        380309   29121   -351188     
  Branches      55507    5108    -50399     
============================================
- Hits         117658    1260   -116398     
+ Misses       247041   27719   -219322     
+ Partials      15610     142    -15468     
Flag Coverage Δ
simulator-marvin-tests ?
uitests 4.32% <ø> (-0.02%) ⬇️
unit-tests ?

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.

@yadvr yadvr added this to the 4.20.0.0 milestone Apr 9, 2024
@yadvr
yadvr requested a review from borisstoyanov April 9, 2024 06:17
@borisstoyanov

Copy link
Copy Markdown
Contributor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@borisstoyanov 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

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

@borisstoyanov

Copy link
Copy Markdown
Contributor

@blueorangutan test alma9 kvm-alma9 keepEnv

@blueorangutan

Copy link
Copy Markdown

@borisstoyanov a [SL] Trillian-Jenkins test job (alma9 mgmt + kvm-alma9) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-9878)
Environment: kvm-alma9 (x2), Advanced Networking with Mgmt server a9
Total time taken: 52051 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8839-t9878-kvm-alma9.zip
Smoke tests completed. 127 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_01_events_resource Error 328.67 test_events_resource.py
test_01_events_resource Error 328.68 test_events_resource.py
test_04_deploy_vm_for_other_user_and_test_vm_operations Failure 89.78 test_network_permissions.py
ContextSuite context=TestNetworkPermissions>:teardown Error 1.53 test_network_permissions.py

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

LGTM, based on code review and smoketests

@yadvr
yadvr merged commit dfd5158 into apache:main Apr 18, 2024
@yadvr
yadvr deleted the kvm-pool-custom-diskdef branch April 18, 2024 12:51
dhslove pushed a commit to ablecloud-team/ablestack-cloud that referenced this pull request May 3, 2024
)

* Allow kvm storage plugin to customize diskdef, add geometry

* formatting update

---------

Co-authored-by: Marcus Sorensen <mls@apple.com>
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