cli-manager-operator: add OTE extension test job#79856
Conversation
|
Skipping CI for Draft Pull Request. |
|
/pj-rehearse |
|
@gangwgr: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughAdds a new cli-manager-extension CI step (YAML + metadata + OWNERS), a bootstrap shell script to register TestExtensionAdmission and an ImageStream importing the extension image, and a new serial AWS OTE test entry wired into the cli-manager-operator pipeline with FIPS enabled. ChangesCLI Manager Operator OTE Extension
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels
🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: gangwgr 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@ci-operator/step-registry/cli-manager-extension/cli-manager-extension-commands.sh`:
- Around line 45-47: The ImageStreamTag verification command is masking failures
with "|| true"; remove the "|| true" suffix from the oc get imagestreamtag ... |
python3 -m json.tool pipeline so that failures propagate and the script exits
non-zero, and ensure the command referencing cli-manager-operator-tests:latest
in namespace test-extensions (the oc get imagestreamtag invocation) is left
intact so any parse or fetch errors fail fast and provide correct diagnostics.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: aa350526-9fe9-4ff0-a949-bec661c21e58
⛔ Files ignored due to path filters (1)
ci-operator/jobs/openshift/cli-manager-operator/openshift-cli-manager-operator-main-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (5)
ci-operator/config/openshift/cli-manager-operator/openshift-cli-manager-operator-main.yamlci-operator/step-registry/cli-manager-extension/OWNERSci-operator/step-registry/cli-manager-extension/cli-manager-extension-commands.shci-operator/step-registry/cli-manager-extension/cli-manager-extension-ref.metadata.jsonci-operator/step-registry/cli-manager-extension/cli-manager-extension-ref.yaml
4fb7821 to
0fbfc5d
Compare
|
/verify-owners |
…operator This PR adds OpenShift Tests Extension (OTE) support for the run-once-duration-override-operator using the non-payload extension discovery mechanism. The run-once-duration-override-operator is an optional operator (installed via OLM), not part of the core release payload. Therefore, it uses TestExtensionAdmission to dynamically discover and run tests. Changes: - Creates rodoo-extension step registry - Installs TestExtensionAdmission CRD - Creates TestExtensionAdmission CR permitting test-extensions/* - Sets up ImageStream with required annotations: - testextension.redhat.io/component: "run-once-duration-override-operator" - testextension.redhat.io/binary: "/usr/bin/run-once-duration-override-operator-tests-ext.gz" - Runs OTE test suite: openshift/run-once-duration-override-operator/operator/serial - Adds test job: e2e-aws-operator-serial-ote-rodoo with FIPS enabled Related PRs: - openshift/run-once-duration-override-operator#595 - OTE infrastructure - openshift/run-once-duration-override-operator#596 - Ginkgo test migration - Follows pattern from openshift#79856 (cli-manager example) Improvements over openshift#79856: - Includes TestExtensionAdmission CRD installation step (missing in openshift#79856) - Adds verification steps for setup validation - Better error handling and logging
|
/verify-owners |
…operator This PR adds OpenShift Tests Extension (OTE) support for the run-once-duration-override-operator using the non-payload extension discovery mechanism. The run-once-duration-override-operator is an optional operator (installed via OLM), not part of the core release payload. Therefore, it uses TestExtensionAdmission to dynamically discover and run tests. Changes: - Creates rodoo-extension step registry in ci-operator/step-registry/ - Adds test job to run-once-duration-override-operator config (NOT origin) - Installs TestExtensionAdmission CRD - Creates TestExtensionAdmission CR permitting test-extensions/* - Sets up ImageStream with required annotations: - testextension.redhat.io/component: "run-once-duration-override-operator" - testextension.redhat.io/binary: "/usr/bin/run-once-duration-override-operator-tests-ext.gz" - Runs OTE test suite: openshift/run-once-duration-override-operator/operator/serial - Uses dependency mechanism to get operator image (follows PR openshift#79856 pattern) - Adds test job: e2e-aws-operator-serial-ote with FIPS enabled Related PRs: - openshift/run-once-duration-override-operator#595 - OTE infrastructure - openshift/run-once-duration-override-operator#596 - Ginkgo test migration - Follows pattern from openshift#79856 (cli-manager example) Improvements over openshift#79856: - Includes TestExtensionAdmission CRD installation step (missing in openshift#79856) - Adds verification steps for setup validation - Better error handling and logging
There was a problem hiding this comment.
🧹 Nitpick comments (1)
ci-operator/step-registry/cli-manager-extension/cli-manager-extension-commands.sh (1)
47-49: ⚡ Quick winValidate ImageStreamTag import success explicitly.
Current checks validate existence/annotations but not that the external image import actually succeeded. Add an explicit
ImportSuccess=Trueassertion to fail fast with clearer setup diagnostics.Suggested diff
oc get imagestreamtag cli-manager-operator-tests:latest -n test-extensions -o yaml oc get imagestreamtag cli-manager-operator-tests:latest -n test-extensions -o jsonpath='{.metadata.annotations.testextension\.redhat\.io/component}{"\n"}' | grep -Fx "cli-manager-operator" oc get imagestreamtag cli-manager-operator-tests:latest -n test-extensions -o jsonpath='{.metadata.annotations.testextension\.redhat\.io/binary}{"\n"}' | grep -Fx "/usr/bin/cli-manager-operator-tests-ext.gz" +oc get imagestreamtag cli-manager-operator-tests:latest -n test-extensions \ + -o jsonpath='{.tag.conditions[?(@.type=="ImportSuccess")].status}{"\n"}' | grep -Fx "True"🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@ci-operator/step-registry/cli-manager-extension/cli-manager-extension-commands.sh` around lines 47 - 49, Add an explicit check that the image import succeeded by querying the ImageStream status for the latest tag and asserting ImportSuccess is True; e.g., run oc get is cli-manager-operator-tests -n test-extensions -o jsonpath='{.status.tags[?(@.tag=="latest")].items[0].conditions[?(@.type=="ImportSuccess")].status}{"\n"}' and pipe to grep -Fx "True" so the script fails fast if the import didn't complete (place this alongside the existing checks for cli-manager-operator-tests:latest and the testextension.redhat.io/component and .../binary annotations).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In
`@ci-operator/step-registry/cli-manager-extension/cli-manager-extension-commands.sh`:
- Around line 47-49: Add an explicit check that the image import succeeded by
querying the ImageStream status for the latest tag and asserting ImportSuccess
is True; e.g., run oc get is cli-manager-operator-tests -n test-extensions -o
jsonpath='{.status.tags[?(@.tag=="latest")].items[0].conditions[?(@.type=="ImportSuccess")].status}{"\n"}'
and pipe to grep -Fx "True" so the script fails fast if the import didn't
complete (place this alongside the existing checks for
cli-manager-operator-tests:latest and the testextension.redhat.io/component and
.../binary annotations).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 7a9dd7a9-5ba1-4116-bbad-79e4199e47c4
⛔ Files ignored due to path filters (1)
ci-operator/jobs/openshift/cli-manager-operator/openshift-cli-manager-operator-main-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (5)
ci-operator/config/openshift/cli-manager-operator/openshift-cli-manager-operator-main.yamlci-operator/step-registry/cli-manager-extension/OWNERSci-operator/step-registry/cli-manager-extension/cli-manager-extension-commands.shci-operator/step-registry/cli-manager-extension/cli-manager-extension-ref.metadata.jsonci-operator/step-registry/cli-manager-extension/cli-manager-extension-ref.yaml
✅ Files skipped from review due to trivial changes (1)
- ci-operator/step-registry/cli-manager-extension/cli-manager-extension-ref.metadata.json
🚧 Files skipped from review as they are similar to previous changes (3)
- ci-operator/step-registry/cli-manager-extension/OWNERS
- ci-operator/step-registry/cli-manager-extension/cli-manager-extension-ref.yaml
- ci-operator/config/openshift/cli-manager-operator/openshift-cli-manager-operator-main.yaml
The rodoo-extension-commands.sh script requires the openshift-tests binary which is only available in the 'tests' image, not the 'cli' image. Changes: - from_image (ocp/5.0:cli) → from: tests - grace_period: 60m → timeout: 3600s - Updated metadata.json with proper owners structure This matches the working pattern from PR openshift#79856 (cli-manager-operator). Fixes CI validation failures in: - pull-ci-openshift-release-main-ci-operator-registry - pull-ci-openshift-release-main-step-registry-metadata
Change from aos-workloads-staff group to individual approvers/reviewers: - ardaguclu - ingvagabund - p0lyn0mial - gangwgr - ropatil010 This matches PR openshift#79856 (cli-manager-operator) and addresses review feedback.
Changes: - Fix base image: from_image (ocp/5.0:cli) → from: tests The 'tests' image contains openshift-tests binary needed by the script - Fix timeout: grace_period: 60m → timeout: 3600s - Update OWNERS: aos-workloads-staff → individual approvers/reviewers (ardaguclu, ingvagabund, p0lyn0mial, gangwgr, ropatil010) - Regenerate metadata.json with proper format This matches the working pattern from PR openshift#79856 (cli-manager-operator). Fixes: - pull-ci-openshift-release-main-ci-operator-registry validation - pull-ci-openshift-release-main-step-registry-metadata validation - rehearse job failures due to missing openshift-tests binary
…operator This PR adds OpenShift Tests Extension (OTE) support for run-once-duration-override-operator using the non-payload extension discovery mechanism. The run-once-duration-override-operator is an optional operator installed via OLM, not part of the core release payload, so it uses TestExtensionAdmission to dynamically discover and run tests. Changes: - Added e2e-aws-operator-serial-ote test job to main config - Created rodoo-extension step registry with: - Extension setup and test execution script - TestExtensionAdmission CRD installation and CR creation - ImageStream setup with required OTE annotations - Test suite execution: openshift/run-once-duration-override-operator/operator/serial - Configuration matches working pattern from PR openshift#79856 (cli-manager-operator): - Uses 'from: tests' base image (contains openshift-tests binary) - Uses 'timeout: 3600s' for proper timeout handling - Individual approvers/reviewers in OWNERS Related PRs: - openshift/run-once-duration-override-operator#595 (OTE infrastructure) - openshift/run-once-duration-override-operator#596 (Ginkgo tests)
There was a problem hiding this comment.
I would probably structure this as step-registry/cli-manager/test-extension or similar, in case you have additional steps in the future
|
/test owners |
Add a step-registry ref and presubmit CI job to run cli-manager-operator out-of-payload extension tests (OTE) via openshift-tests. The new e2e-aws-operator-serial-ote job provisions a FIPS-enabled AWS cluster, sets up a TestExtensionAdmission CR and ImageStream to let openshift-tests discover the test extension binary from the operator image, then executes the OTE suite.
|
/pj-rehearse pull-ci-openshift-cli-manager-operator-main-e2e-aws-operator-serial-ote |
|
@gangwgr: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
@gangwgr: The following test failed, say
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. |
Add a step-registry ref and presubmit CI job to run cli-manager-operator out-of-payload extension tests (OTE) via openshift-tests. The new e2e-aws-operator-serial-ote job provisions a FIPS-enabled AWS cluster, sets up a TestExtensionAdmission CR and ImageStream to let openshift-tests discover the test extension binary from the operator image, then executes the OTE suite.
Summary by CodeRabbit
This PR extends the OpenShift CI infrastructure to add automated testing for the cli-manager-operator's out-of-payload extension (OTE) capability.
Changes to cli-manager-operator CI Configuration
The PR adds a new presubmit E2E test job (
e2e-aws-operator-serial-ote) to the cli-manager-operator CI pipeline that:ipi-awsinfrastructure,fips-checkvalidation)New Step Registry: cli-manager-extension
The PR introduces a reusable CI step (
cli-manager-extension) that sets up and executes OTE extension tests:Setup Process:
TestExtensionAdmissionCR to enable test-extensionstest-extensionsnamespace andImageStreamthat points to the operator imageExecution:
openshift-testswith configurable test pathsOwnership:
This enhancement enables automated CI validation of the cli-manager-operator's ability to provide extension binaries that can be executed within the OpenShift test framework.