openstack_test: serial-coda egressIP FIP and prometheus resize - #45
tusharjadhav3302 wants to merge 5 commits into
Conversation
Keep the main openstack_test OTE suite in batch for wall time, but split bz_2073398 and the Machine trio into an ordered serial coda so DeferCleanup from openstack-test#321 can finish before Machine Running / MachineSet replica / ProviderSpec. No-ops when those tests are absent (lb allowlists). Co-authored-by: Cursor <cursoragent@cursor.com>
Shell-splitting multi-word matcher argv pulled accidental tests into the serial coda (leak_cluster=7). Write one matcher per line and invoke the splitter with a matchers file path instead. Co-authored-by: Cursor <cursoragent@cursor.com>
Pre-count expected tests from the serial list file instead of incrementing in the while loop. The in-loop counter stayed at 1 after four successful runs (passed=4 expected=1), falsely marking the coda UNSTABLE. Co-authored-by: Cursor <cursoragent@cursor.com>
Extend Option B (PR #44) so egressIP FIP failover and prometheus PVC resize leave the randomized batch and run one-by-one after the Machine leak cluster. Both passed alone on warm serval71 but timed out under suite load (10s AAP wait / 3m pod-ready wait). Related: #44 Co-authored-by: Cursor <cursoragent@cursor.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
| continue | ||
| if matcher not in ln: | ||
| continue | ||
| # Avoid ControlPlane MachineSet when matching worker MachineSet replica. |
There was a problem hiding this comment.
Could we validate that each matcher selects exactly one test, instead of silently taking the first match? pick() returns the first matching line, so if a matcher matches multiple variants (for example a ControlPlane and worker test), the wrong test may be moved to the serial coda while the intended test remains in the randomized batch. If a matcher matches nothing because a test name changed, the split also continues silently. Please either use exact test identifiers or fail/report when a matcher does not resolve uniquely, while preserving the intentional no-op behavior for allowlists that do not contain these tests.
There was a problem hiding this comment.
Addressed on #44 (d900268): pick() now collects all candidates; when any matcher hits, every matcher must resolve to exactly one test (fail hard on 0 or >1, with matcher + candidates on stderr). Empty matchers / zero hits remain allowlist no-ops.
Pull the topology AZ check and the enable_topology=false mutator out of the randomized batch into the Option B serial coda. Order AZ check first so it still sees enable_topology=true, then the mutator. Avoids the race seen on warm serval71 TP (Expected false to equal true at topology.go:89). Related: #45 Co-authored-by: Cursor <cursoragent@cursor.com>
UpdateAdded both topology tests to the Option B serial coda (expected `leak_cluster=8`):
Order keeps the AZ check from racing the mutator in the batch (TP `9578dc9b` failure: Expected `false` to equal `true` at `topology.go:89`). Next: manual warm `openstack_test` on serval71 with this tip. |
Manual full openstack_test (serval71, tip e3c4a47)
Note: ansible still wrote `test_stage_unstable_flag` because OTE stdin batch exited with `Error: 21 tests failed` (batch size) even though ginkgo reported SUCCESS and junit has 0 failures. Treat as OTE exit-code false positive for this run, not a real suite failure. |
Pull the topology AZ check and the enable_topology=false mutator out of the randomized batch into the Option B serial coda. Order AZ check first so it still sees enable_topology=true, then the mutator. Avoids the race seen on warm serval71 TP (Expected false to equal true at topology.go:89). Related: #45 Co-authored-by: Cursor <cursoragent@cursor.com>
|
Superseded by #44, which now includes the extra coda matchers and review fixes. |
Summary
leak_cluster=6when both matchers are present.Related: #44
Why
Warm serval71 TP
c7b8384e35d94b939986644db5e5ca6e(MR !2734 / PR #44) had Machine coda PASS but those two FAIL. Manual serialrun-testof each alone on the same guest PASSed. Same isolation pattern as the Machine leak cluster.Test plan
stages=[prepare, openstack_test]with this branchleak_cluster=6and serial list order (Machine quartet, then egressIP, then prometheus)refs/pull/<this>/headMade with Cursor