openstack_test: trust OTE resolver exits; isolate serial coda from LB - #46
tusharjadhav3302 wants to merge 1 commit into
Conversation
|
[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 |
| resolvable=$(( ${passed_count:-0} + ${skipped_count:-0} + ${failed_count:-0} )) | ||
| if [ "$run_exit" -ne 0 ] && [ "${failed_count:-0}" -eq 0 ]; then | ||
| echo "ote batch run_exit=$run_exit ignored; resolved passed=${passed_count:-0} failed=0 skipped=${skipped_count:-0} unknown=${unknown_count:-0} expected=$expected" | ||
| fi |
There was a problem hiding this comment.
When filtering produces an empty test list, run-test returns non-zero because it received no test names. Here expected, resolvable, and all outcome counts are 0, so this condition lets the task succeed without running tests. Could you fail explicitly when expected is zero?
There was a problem hiding this comment.
The batch path now fails explicitly when expected is 0 (ote batch: empty filtered test list (expected=0); failing), so an empty filtered list can no longer pass via resolvable == expected == 0.
Applied the same guard on the serial filtered path for consistency (ote serial: empty filtered test list (expected=0); failing).
OTE run-test often exits non-zero with Deserializaion Error / Error:N even when nested outcomes are pass/skip. Gate batch, LB serial, and serial-coda suite results on ote_resolve_results.py counts (and fail empty or incomplete resolve), not process rc alone. Disable Machine leak-cluster serial coda on lb_tests OVN/amphora allowlists so uniqueness does not false-fail. Publish coda under openstack_test_serial_coda/ and always post batch/coda HTML/XML when junit exists; mark UNSTABLE on failed, unknown, or resolvable!=expected. Co-authored-by: Cursor <cursoragent@cursor.com>
6f7679c to
9ba59bf
Compare
Summary
ote_resolve_results.pyfor OTE batch, LB serial, and serial-coda suite exit (ignore false non-zerorun-testrc /Deserializaion Error/Error: Nwhen resolvedfailed=0).expected=0) or resolve is incomplete (resolvable!=expected/unknown>0); mark UNSTABLE for failed, unknown, or incomplete so those paths cannot silently pass.lb_testsOVN/amphora stages (coda stays on mainopenstack_testonly) to avoid LB allowlist matcher-uniqueness false POST_FAILURE.artifacts/openstack_test_serial_coda/andtest_results/openstack_tests_serial_coda/; always post batch (and coda) results when junit exists so Zuul still gets HTML/XML if a later step fails.Test plan
lb_ovn/ amphora): no serial-coda splitter / matcher-uniqueness false fail; suite green when resolverfailed=0openstack_test: batch trust-resolver; false OTErcalone does not UNSTABLEresolvable!=expected) marks UNSTABLE (not silent green)openstack_test_serial_coda/+test_results/openstack_tests_serial_coda/with XML/HTMLopenstack-test-results//test_results/openstack/still published when junit exists even if coda fails laterfailed>0still UNSTABLE + must-gather; junit rewrite failure still fails the suite