test: fix smoke test failures on xen/vmware - #13628
weizhouapache wants to merge 9 commits into
Conversation
|
@blueorangutan package |
|
@weizhouapache a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
There was a problem hiding this comment.
Pull request overview
This PR targets integration smoke test stability across hypervisors (notably XenServer/XCP-ng and VMware) by skipping KVM-specific checks/tests when not running on KVM, and by adjusting a few timing/host prerequisite assumptions that can cause intermittent failures.
Changes:
- Skip KVM-only paths in smoke tests when the detected hypervisor is not KVM.
- Add additional host-tool prerequisite checks for a VPC source NAT IP update test.
- Add delays around affinity-group migration steps and make the events-resource test more tolerant around volume attach/detach operations.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| test/integration/smoke/test_nonstrict_affinity_group.py | Adds waits before migration steps in non-strict affinity group tests. |
| test/integration/smoke/test_network_extension_namespace.py | Skips KVM prerequisite checks on non-KVM hypervisors; expands required host tools for one test. |
| test/integration/smoke/test_kms_lifecycle.py | Skips a VM root-disk encryption test on non-KVM hypervisors. |
| test/integration/smoke/test_events_resource.py | Wraps volume attach/detach operations to avoid hard failures in some environments. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## main #13628 +/- ##
=============================================
- Coverage 19.90% 3.71% -16.20%
=============================================
Files 6372 487 -5885
Lines 577180 41992 -535188
Branches 70693 7942 -62751
=============================================
- Hits 114869 1558 -113311
+ Misses 449755 40208 -409547
+ Partials 12556 226 -12330
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 18593 |
|
@blueorangutan test ubuntu26 xcpng82 keepEnv |
|
@weizhouapache a [SL] Trillian-Jenkins test job (ubuntu26 mgmt + xcpng82) has been kicked to run smoke tests |
|
@blueorangutan test ubuntu26 vmware-80u3e keepEnv |
|
@weizhouapache a [SL] Trillian-Jenkins test job (ubuntu26 mgmt + vmware-80u3e) has been kicked to run smoke tests |
|
@blueorangutan package |
|
@weizhouapache a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 18602 |
|
@blueorangutan test ubuntu26 xcpng82 |
|
@weizhouapache a [SL] Trillian-Jenkins test job (ubuntu26 mgmt + xcpng82) has been kicked to run smoke tests |
|
@blueorangutan test ubuntu26 vmware-80u3e |
|
@weizhouapache a [SL] Trillian-Jenkins test job (ubuntu26 mgmt + vmware-80u3e) has been kicked to run smoke tests |
|
[SF] Trillian Build Failed (tid-7) |
|
@blueorangutan test ubuntu26 vmware-80u3 |
|
@weizhouapache a [SL] Trillian-Jenkins test job (ubuntu26 mgmt + vmware-80u3) has been kicked to run smoke tests |
|
[SF] Trillian Build Failed (tid-9) |
2addfa1 to
f947c85
Compare
|
@blueorangutan package |
|
@weizhouapache a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
There was a problem hiding this comment.
🔵 Needs a closer look
A class setup path in test_usage.py can still crash with an IndexError/TypeError by indexing the first element of a possibly empty/None PublicIPAddress.list() result.
Review details
Suppressed comments (3)
test/integration/smoke/test_usage.py:1756
PublicIPAddress.list(...)can return None or an empty list; indexingsrc_nat_list[0]will then raiseTypeError/IndexErrorand fail class setup. Add an explicit guard (and a clear failure message) before selecting the first element.
issourcenat=True
)
cls.public_ip = src_nat_list[0]
test/integration/smoke/test_network_extension_namespace.py:863
skipTest()already raisesunittest.SkipTest; usingraise self.skipTest(...)is redundant and can be confusing (and would become aTypeErrorifskipTestwere ever refactored to return an exception). Callself.skipTest(...)directly.
if self.hv.lower() != 'kvm':
raise self.skipTest("Skipping test case for non-kvm hypervisor")
test/integration/smoke/test_kms_lifecycle.py:430
skipTest()already raisesunittest.SkipTest; usingraise self.skipTest(...)is redundant and can be confusing. Callself.skipTest(...)directly.
if self.hypervisor.lower() != 'kvm':
raise self.skipTest("Skipping test case for non-kvm hypervisor")
- Files reviewed: 11/11 changed files
- Comments generated: 0 new
- Review effort level: Lite
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 19272 |
|
@blueorangutan test matrix |
|
@weizhouapache a [SL] Trillian-Jenkins matrix job (ol8 mgmt + kvm-ol8, ubuntu22 mgmt + kvm-ubuntu22, ol8 mgmt + vmware-70u3, ol9 mgmt + xcpng82) has been kicked to run smoke tests |
|
[SF] Trillian Build Failed (tid-17017) |
|
@blueorangutan test ol9 xcpng82 |
|
@weizhouapache a [SL] Trillian-Jenkins test job (ol9 mgmt + xcpng82) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-17014)
|
|
[SF] Trillian test result (tid-17015)
|
|
[SF] Trillian test result (tid-17018)
|
|
[SF] Trillian test result (tid-17016)
|
Description
This PR fixes some smoke test failures on vmware or xenserver/xcpng
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
How did you try to break this feature and the system with this change?