Skip to content

vmware: improve solidfire storage plugin integration and fix cases - #7761

Merged
yadvr merged 2 commits into
apache:4.18from
shapeblue:solidfire-fixes
Aug 25, 2023
Merged

vmware: improve solidfire storage plugin integration and fix cases#7761
yadvr merged 2 commits into
apache:4.18from
shapeblue:solidfire-fixes

Conversation

@yadvr

@yadvryadvr commented Jul 21, 2023

Copy link
Copy Markdown
Member

This fixes the following cases in which Solidfire storage integration caused issues when using Solidfire datadisks with VMware:

  1. Take Volume Snapshot of Solidfire data disk
  2. Delete an active Instance with Solidfire data disk attached
  3. Attach used existing Solidfire data disk to a running/stopped VM
  4. Stop and Start an instance with Solidfire data disks attached
  5. Expand disk by resizing Solidfire data disk by providing size
  6. Expand disk by changing disk offering for the Solidfire data disk
FunctionOperationDescriptionFix Status
CreateTake Volume SnapshotTake data disk volume snapshot on active instance
DeleteDelete an active InstanceDelete an active Instance with attached 1:1 data disks
UpdateAttach used existing data diskAttach a previous used data volume to a instance
UpdateStop and Start a InstanceStop and Start a Instance with attached 1:1 data disks
UpdateResize Data volumeExpand data disk on demand
UpdateChange disk offering for the data volumeExpand data disk changing disk offering
UpdateMigrate data volumeMigrate a data volume between primaries storages Solidfire basedUnsupported feature

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

How Has This Been Tested?

Tested in a ACS 4.17 adv zone env with VMware and Solidfire setup. Tested all the following cases:

Screenshot 2023-07-21 at 1 02 29 PM

@weizhouapache

Copy link
Copy Markdown
Member

great work @rohityadavcloud

@yadvr

Copy link
Copy Markdown
MemberAuthor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@rohityadavcloud a [SF] 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.

@DaanHooglandDaanHoogland 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, but i cannot test this. Can you extract the workarounds (and containg blocks) in separate methods and where feasible add unit tests?

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

Code change looks good in terms of logic. Left some comments. May need manual testing with different storage providers

@codecov

codecovBot commented Jul 21, 2023

Copy link
Copy Markdown

Codecov Report

Merging #7761 (76e5345) into 4.18 (b37834f) will decrease coverage by 0.01%.
Report is 1 commits behind head on 4.18.
The diff coverage is 0.00%.

@@ Coverage Diff @@## 4.18 #7761 +/- ##
============================================
- Coverage 13.06% 13.05% -0.01% - Complexity 9084 9086 +2 
============================================
Files 2720 2720 Lines 257370 257394 +24 Branches 40124 40130 +6 ============================================
- Hits 33614 33612 -2 - Misses 219534 219558 +24 - Partials 4222 4224 +2 
Files ChangedCoverage Δ
...stack/engine/orchestration/VolumeOrchestrator.java1.89% <0.00%> (ø)
...visor/vmware/manager/VmwareStorageManagerImpl.java6.20% <0.00%> (-0.03%)⬇️
...oud/hypervisor/vmware/resource/VmwareResource.java4.48% <0.00%> (-0.01%)⬇️
...cloud/storage/resource/VmwareStorageProcessor.java0.32% <0.00%> (-0.01%)⬇️
...astore/driver/SolidFirePrimaryDataStoreDriver.java0.00% <0.00%> (ø)
...ud/hypervisor/vmware/mo/HostDatastoreSystemMO.java0.00% <0.00%> (ø)
...com/cloud/hypervisor/vmware/util/VmwareHelper.java8.65% <ø> (ø)

... and 1 file with indirect coverage changes

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

@blueorangutan

Copy link
Copy Markdown

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

@yadvr

Copy link
Copy Markdown
MemberAuthor

@blueorangutan test matrix

@blueorangutan

Copy link
Copy Markdown

@rohityadavcloud a [SF] 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-7135)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 43125 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7761-t7135-xenserver-71.zip
Smoke tests completed. 107 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

TestResultTime (s)Test File
test_01_cancel_host_maintenace_with_no_migration_jobsError309.66test_host_maintenance.py

@blueorangutan

Copy link
Copy Markdown

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

TestResultTime (s)Test File
test_01_migrate_VM_and_root_volumeError76.80test_vm_life_cycle.py
test_02_migrate_VM_with_two_data_disksError53.63test_vm_life_cycle.py
test_hostha_enable_ha_when_host_in_maintenanceError303.84test_hostha_kvm.py

@blueorangutan

Copy link
Copy Markdown

@rohityadavcloud a [SF] 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 Build Failed (tid-7172)

@blueorangutan

Copy link
Copy Markdown

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

TestResultTime (s)Test File

@blueorangutan

Copy link
Copy Markdown

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

TestResultTime (s)Test File
test_01_migrate_VM_and_root_volumeError76.57test_vm_life_cycle.py
test_02_migrate_VM_with_two_data_disksError55.40test_vm_life_cycle.py

@yadvryadvr added the Severity:Critical Critical bug label Aug 4, 2023
@weizhouapache

Copy link
Copy Markdown
Member

@rohityadavcloud
is this ready for merge ?

@yadvr

Copy link
Copy Markdown
MemberAuthor

Yes, @weizhouapache but @NuxRo needs to sign off with his testing. I'll change the PR to draft.

@yadvr
yadvr marked this pull request as draft August 11, 2023 11:12
@weizhouapache

Copy link
Copy Markdown
Member

Yes, @weizhouapache but @NuxRo needs to sign off with his testing. I'll change the PR to draft.

Ok thanks @rohityadavcloud

@weizhouapache

Copy link
Copy Markdown
Member

cc @NuxRo
plaese kindly approve it if it is tested good

@weizhouapacheweizhouapache left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

code lgtm

@yadvr
yadvr marked this pull request as ready for review August 24, 2023 07:41
@yadvr

Copy link
Copy Markdown
MemberAuthor

@NuxRo completed QA on this, against a community-supplied 4.17 Solidfire env (before he went on holidays). Now with @andrijapanicsb to finalise review. Thanks.

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@rohityadavcloud a [SF] 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 6877

@weizhouapache

Copy link
Copy Markdown
Member

@blueorangutan test rocky8 vmware-67u3

@blueorangutan

Copy link
Copy Markdown

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

@weizhouapache

Copy link
Copy Markdown
Member

@blueorangutan test ubuntu22 vmware-70u3

@blueorangutan

Copy link
Copy Markdown

@weizhouapache [SF] unsupported parameters provided. Supported mgmt server os are: centos7, centos6, suse15, alma8, ubuntu18, ubuntu22, ubuntu20, rocky8, alma9. Supported hypervisors are: kvm-centos6, kvm-centos7, kvm-rocky8, kvm-alma8, kvm-alma9, kvm-ubuntu18, kvm-ubuntu20, kvm-ubuntu22, kvm-suse15, vmware-55u3, vmware-60u2, vmware-65u2, vmware-67u3, vmware-70u1, vmware-70u2, vmware-70u3, vmware-80, vmware-80u1, xenserver-65sp1, xenserver-71, xenserver-74, xcpng74, xcpng76, xcpng80, xcpng81, xcpng82

@weizhouapache

Copy link
Copy Markdown
Member

@blueorangutan test rocky8 vmware-70u3

@blueorangutan

Copy link
Copy Markdown

@weizhouapache a [SF] Trillian-Jenkins test job (rocky8 mgmt + vmware-70u3) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

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

TestResultTime (s)Test File
test_02_upgrade_kubernetes_clusterFailure560.83test_kubernetes_clusters.py

@blueorangutan

Copy link
Copy Markdown

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

TestResultTime (s)Test File
test_02_upgrade_kubernetes_clusterFailure585.85test_kubernetes_clusters.py

Sign up for freeto 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.

SolidFire: VM restart with data disk from the Solidfire Storage failure [SolidFire] Cannot attach volume which is detached from VM

8 participants

@yadvr@weizhouapache@blueorangutan@shwstppr@DaanHoogland@harikrishna-patnala@NuxRo@andrijapanicsb