stackrox: automatically test candidate RCs - #84050
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review. WalkthroughThe CI configuration adds path-filtered master E2E jobs, postsubmit merge jobs, and a nightlies configuration for OpenShift next-candidate. It also adds VM-scanning workflows with seven-hour timeouts. ChangesStackrox CI workflows
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This change automates Stackrox testing against release candidates for the next OpenShift version, and no actionable merge-blocking risk remains beyond normal checks and review. 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.) Full details: Stable And Deterministic Test NamesExplanation The pull request changes only CI configuration and generated Prow job YAML. The diff adds static suite/job identifiers and Full details: Test Structure And QualityExplanation PASS: The pull request changes only CI YAML configuration and generated Prow job YAML. The diff contains no Ginkgo test source, test declarations, cluster setup or cleanup code, wait calls, or assertions. Therefore the five Ginkgo test quality requirements are not applicable to these changes. Full details: Microshift Test CompatibilityExplanation PASS: The pull-request diff from the merge base changes only five CI YAML files. It adds or updates job configuration and suite selectors, but it adds no Ginkgo test code ( Full details: Single Node Openshift (Sno) Test CompatibilityExplanation PASS: The pull request adds or changes only CI YAML configuration and generated Prow job YAML. The diff against main contains five YAML paths and no Go or other Ginkgo test source. The added entries only select existing test suites through Full details: Topology-Aware Scheduling CompatibilityExplanation PASS — The check is not applicable. The pull request changes only five CI YAML files under Full details: Ote Binary Stdout ContractExplanation PASS: The pull request changes only five YAML CI configuration files. The diff adds or updates StackRox test scheduling, suite names, workflows, and generated Prow jobs; it does not change an OTE binary or process-level code. No changed line contains Full details: Ipv6 And Disconnected Network Test CompatibilityExplanation PASS: The pull request changes only StackRox CI YAML and generated Prow jobs. It adds or schedules existing suites through Full details: No-Weak-CryptoExplanation PASS: The pull-request changes are CI YAML only. The relevant diffs add or modify E2E job filters, Full details: Container-PrivilegesExplanation PASS: The changed StackRox candidate configurations add test selection, workflow references, and timeouts only. The added lines and generated StackRox job changes contain no Full details: No-Sensitive-Data-In-LogsExplanation The pull request changes only StackRox CI configuration and generated Prow job YAML. The added jobs set non-sensitive test variables such as ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: davdhacs The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/pj-rehearse pull-ci-stackrox-stackrox-master-ocp-next-candidate-qa-e2e-tests |
|
@davdhacs: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
@davdhacs: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
/cc @msugakov what: With the change to testing on OCP RCs instead of waiting for post-GA stability, we can enable always/change-trigger for testing on the floating "candidate" label and it will always be testing the latest RC for the next OCP version. What do you think? why: I'm re-considering this now because of this change to testing on RCs and because we cannot yet add those tests for OCP 5.0 RC.0 since it is not published. If we add testing of the label Examples:
The concerns I have are (some resurfaced from prior discussions):
|
| @@ -1 +1 @@ | |||
| base_images: | |||
There was a problem hiding this comment.
(Not about this line, but starting a thread here because replying in the thread is more convenient.)
I appreciate a lot your explanation and examples in #84050 (comment)!
I see that we already have
stackrox-stackrox-master__ocp-dev-preview.yamlusingocp-dev-preview/candidatewhich resolves to5.0.0-ec.6today, andstackrox-stackrox-master__ocp-next-candidate.yamlusingocp/candidatewhich resolves today to4.22.11.
This makes me really wonder if we should have stackrox-stackrox-master__ocp-5-0.yaml config at all at this point. It can appear later or we can even even rename+reuse the previous config for that, but this is a bit off-topic.
I see that in the current version of the Confluence page https://redhat.atlassian.net/wiki/spaces/StackRox/pages/309338571/Add+support+for+new+OpenShift+version you have a place for ocp-dev-preview and ocp-next-candidate. So it's a matter of making the actual configs correspond to
- this for
ocp-dev-preview
- and this for
ocp-next-candidate
I haven't checked everything but I see that in this PR you're enabling ocp-next-candidate for master postsubmits, presubmits and nightlies.
This makes sense but I worry about avoidable cluster costs a bit.
If I get where you're going, we could have ocp-dev-preview and ocp-next-candidate just permanently set up and enjoy new OCP versions getting picked up and tested when they appear.
Please check whether I understood most things correctly and please point out where you see things differently!
I have a couple suggestions after I sync my understanding with yours.
Maybe we should just have a meeting?
There was a problem hiding this comment.
ocp-dev-preview and ocp-next-candidate just permanently set up and enjoy new OCP versions getting picked up and tested when they appear
yes, precisely. That is a better way to describe it. And so we'd always be testing on the latest EC and RC and we'll find out about failures during EC/RC like we do now, but without changing the config names and pinned versions (keeping pinned for releases).
What avoidable cluster costs might this introduce? (I'll list the few I can think of right now, and I'd like to know if you anticipate others):
- duplicate runs (when EC is the same as RC? EC.[-1] == RC.0)
- unnecessary testing (early ECs? Maybe we don't really care if there are failures during ECs, or the first ones?)
- re-test because of failures: For example the ui-e2e fails still (1 month later) on 5.0. I saw an updated PR yesterday and it looks like the UI team is nearly finished fixing it, but this wouldn't be acceptable if the dev-preview[EC] test was running and failing in nightlies for the last month. If it continues failing after the first RCs, then it would show up on master and PRs and then bot/retest would re-run it despite it being a known failure.
Test stackrox PRs and nightlies on the RCs for the next OCP version.
This changes to testing automatically at the first RC instead of waiting to test after GA of each next OCP version.
The prior approach was to wait and manually add testing after we see an RC is available, and then manually set it to run automatically after GA.
/uncc
Summary by CodeRabbit
ocp/candidatetag.