cloudstack icon indicating copy to clipboard operation
cloudstack copied to clipboard

Linstor: fix live migrate on non-hyperconverged setups

Open rp- opened this issue 1 year ago • 1 comments

Description

In non-hyperconverged setups, diskless nodes don't have a connection to each other, so setting properties there had no effect. Now it is checked if a connection exists, between the live migration nodes and if not, it will set the allow-two-primaries on resource-definition level.

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)
  • [ ] build/CI
  • [ ] test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • [ ] Major
  • [ ] Minor

Bug Severity

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

Screenshots (if appropriate):

How Has This Been Tested?

Linstor cluster with storage nodes (non hyperconverged) and a hyperconverged Linstor cluster.

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

rp- avatar Oct 21 '24 11:10 rp-

Codecov Report

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

Project coverage is 12.27%. Comparing base (1af4158) to head (8c1a6b3). Report is 1 commits behind head on 4.18.

Files with missing lines Patch % Lines
.../hypervisor/kvm/storage/LinstorStorageAdaptor.java 0.00% 36 Missing :warning:
...cloudstack/storage/datastore/util/LinstorUtil.java 0.00% 9 Missing :warning:
Additional details and impacted files
@@             Coverage Diff              @@
##               4.18    #9832      +/-   ##
============================================
- Coverage     12.27%   12.27%   -0.01%     
+ Complexity     9335     9334       -1     
============================================
  Files          4699     4699              
  Lines        414691   414724      +33     
  Branches      53409    51688    -1721     
============================================
- Hits          50891    50888       -3     
- Misses       357475   357512      +37     
+ Partials       6325     6324       -1     
Flag Coverage Δ
unittests 12.27% <0.00%> (-0.01%) :arrow_down:

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.

codecov[bot] avatar Oct 21 '24 12:10 codecov[bot]

@blueorangutan package

sureshanaparti avatar Oct 23 '24 11:10 sureshanaparti

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

blueorangutan avatar Oct 23 '24 11:10 blueorangutan

sorry have to rework it a bit, to be more fine grained in the non-hyperconverged case

rp- avatar Oct 23 '24 12:10 rp-

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

blueorangutan avatar Oct 23 '24 12:10 blueorangutan

Ok reviewed/discussed this again, we lack the API's currently in Linstor to do this in a perfect way. So this is for now good enough and will also work for all current use cases.

rp- avatar Oct 29 '24 07:10 rp-

@blueorangutan package

DaanHoogland avatar Nov 01 '24 08:11 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 Nov 01 '24 08:11 blueorangutan

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

blueorangutan avatar Nov 01 '24 09:11 blueorangutan

@blueorangutan test

DaanHoogland avatar Nov 01 '24 09:11 DaanHoogland

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

blueorangutan avatar Nov 01 '24 09:11 blueorangutan

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

Test Result Time (s) Test File
ContextSuite context=TestISOUsage>:setup Error 0.00 test_usage.py

blueorangutan avatar Nov 01 '24 22:11 blueorangutan

@rp- this has been merged forward to main, but with conflicts. Can you please check if the merge was successful/done properly? thanks

DaanHoogland avatar Nov 07 '24 10:11 DaanHoogland

@rp- this has been merged forward to main, but with conflicts. Can you please check if the merge was successful/done properly? thanks

LGTM

rp- avatar Nov 07 '24 12:11 rp-