Add CPMS e2e-presubmit test stage role for shiftstack-qa#9
Add CPMS e2e-presubmit test stage role for shiftstack-qa#9tusharjadhav3302 wants to merge 9 commits into
Conversation
imatza-rh
left a comment
There was a problem hiding this comment.
Good port from the IR-plugin. Nice improvements: OpenStack resource cleanup in always, must-gather on test failure. Nit: PR description says "branch fallback" but prepare_openshift_tests.yml has no fallback - same as all other roles, works fine.
Please run ./gate.sh (ansible-lint + pre-commit inside the shiftstack-client container) - no CI checks are configured on GitHub PRs. yamllint passes locally, but ansible-lint needs the container.
f88cbb5 to
cce04e6
Compare
imatza-rh
left a comment
There was a problem hiding this comment.
Three concerns before merging:
1. Timing budget - The osp_verification Zuul job currently runs 7-8.6h against an 8h timeout (recent SUCCESS builds). The CPMS e2e-periodic target has a 5h ginkgo timeout and rolls all 3 masters. Adding both presubmit + periodic would push the total well past the timeout. Consider running only e2e-presubmit initially, or running CPMS tests in a separate periodic job. Has this been tested on a live environment? Duration numbers would help.
2. Suggest splitting the binary download rewrite - The tools_get_openshift_release rewrite (commits bda356e-8548bec, merged from the use-oc-adm-release-extract-for-binaries branch) is independent of the CPMS test role. It changes a shared role used by all job definitions and introduces a hard dependency on rhoso_kubeconfig for pull secret extraction - the old code just did an HTTP GET with no cluster access needed. Splitting into a separate PR would let the CPMS test merge independently and give the shared role change its own review cycle.
3. cpms_replace_attrs wiring - The procedure is added but not wired into any day2ops_procedures list (it was removed from 4.17_ovnkubernetes_ipi.yaml per previous review). The cpms_replacements variable definition was also removed in that commit. Worth adding defaults and wiring it in osp_verification.yaml if it's intended to run, or noting in the description that it'll be wired separately.
c18853c to
c867cb4
Compare
@imatza-rh For For For the binary download rewrite: So this PR would ship:
Does this approach work? |
|
Presubmit-only default sounds right. Worth noting Keeping Binary rewrite confirmed out of this diff. |
…inner rescue Co-authored-by: Cursor <cursoragent@cursor.com>
…n on test failure
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…2 is file Co-authored-by: Cursor <cursoragent@cursor.com>
…able list Co-authored-by: Cursor <cursoragent@cursor.com>
546a490 to
43e4123
Compare
Summary
Add a new
cpms_teststage role that runs the upstreamcluster-control-plane-machine-set-operatore2e-presubmit tests, and include thecpms_replace_attrsday2ops procedure (unwired, for future use).What this PR includes
New
cpms_teststage role (collection/stages/roles/cpms_test/):release-X.Ybranchmake e2e-presubmit(rolls 1 master, ~30 min) withOPENSHIFT_CI=truefor JUnit outputpost_openshift_tests.yml(XML tag modification, HTML conversion, copy to report directory)e2e-presubmitonly viacpms_test_suitesvariable —e2e-periodiccan be enabled by overriding this list in a dedicated jobNew
cpms_replace_attrsday2ops procedure (unwired):openshift-ir-plugin— patches CPMS with modified failure domains, networks, and security groupsWiring:
cpms_teststage added toosp_verification.yaml(runs in the existing Zuul periodic job)playbooks/plays/cpms_test.yamland import inocp_testing.yamlWhat this PR does NOT include
e2e-periodicis not enabled by default (5h timeout, rolls all 3 masters — exceeds the 8h Zuul job budget)cpms_replace_attrsis not wired into anyday2ops_procedureslist (nocpms_replacementsdefaults — those create real OpenStack resources and require explicit configuration)Test plan
e2e-presubmitcompleting within the 8h budget