INTEROP-9384: Replace OCS acceptance tests with ODF health check - #82999
INTEROP-9384: Replace OCS acceptance tests with ODF health check#82999amp-rh wants to merge 8 commits into
Conversation
|
@amp-rh: This pull request references INTEROP-9384 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
Instructions 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 openshift-eng/jira-lifecycle-plugin repository. |
|
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:
WalkthroughThe change adds a seven-point ODF health gate, registers it as an interop step, and replaces the previous OCS test in AWS and vSphere workflows for OCP 4.22 and 5.0. ChangesODF health interoperability
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant InteropWorkflow
participant interop-opp-odf-health
participant KubernetesAPI
participant NooBaaS3
participant JUnitXML
InteropWorkflow->>interop-opp-odf-health: start health checks
interop-opp-odf-health->>KubernetesAPI: query ODF and storage resources
interop-opp-odf-health->>NooBaaS3: run put, get, and delete operations
interop-opp-odf-health->>JUnitXML: write check results
interop-opp-odf-health-->>InteropWorkflow: return aggregate status
Possibly related PRs
Suggested labels: Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error, 1 warning, 1 inconclusive)
✅ Passed checks (12 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: amp-rh 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 |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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/interop/opp/odf-health/interop-opp-odf-health-commands.sh`:
- Around line 300-353: Update the S3 check around the generated bucket variable
and embedded oc run script to create bucket before the put, use the generated
bucket instead of first.bucket in every put/get/delete command, and clean up by
deleting both the test object and bucket. Ensure the generated bucket value is
passed into and consistently used by the active script.
- Line 2: Change the script’s initial shell options from set -euxo pipefail to
set -euo pipefail, and update the NooBaa credential handling around the oc run
command to disable tracing before credentials are read or decoded and re-enable
it only after the temporary-pod command completes.
🪄 Autofix
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: Pro Plus
Run ID: 2d32645f-d32d-472a-8dfc-5fc809c16976
📒 Files selected for processing (6)
ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp4.22.yamlci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp5.0.yamlci-operator/step-registry/interop/opp/odf-health/OWNERSci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.shci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.metadata.jsonci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.yaml
|
@amp-rh, Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.sh (1)
297-337: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick winKeep tracing disabled by default.
Add a comment before
set +xto identify the NooBaa credential boundary. Remove the unconditionalset -xat Line 337. Set the script default toset -euo pipefailunless a non-sensitive diagnostic section requires tracing.As per coding guidelines, “default to
set -euo pipefailwithout-x” and “add clear comments when disabling tracing.”🤖 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/interop/opp/odf-health/interop-opp-odf-health-commands.sh` around lines 297 - 337, Update the surrounding script to establish set -euo pipefail as the default without tracing, add a clear comment immediately before set +x identifying the NooBaa credential boundary, and remove the unconditional set -x after the S3 check. Keep tracing disabled unless an explicitly identified non-sensitive diagnostic section requires it.Source: Coding guidelines
🤖 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/interop/opp/odf-health/interop-opp-odf-health-commands.sh`:
- Around line 297-337: Update the surrounding script to establish set -euo
pipefail as the default without tracing, add a clear comment immediately before
set +x identifying the NooBaa credential boundary, and remove the unconditional
set -x after the S3 check. Keep tracing disabled unless an explicitly identified
non-sensitive diagnostic section requires it.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: f9f6c27a-f3be-4195-b4d8-00f15d3d8af0
📒 Files selected for processing (5)
ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp4.22.yamlci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp5.0.yamlci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.shci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.metadata.jsonci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.yaml
💤 Files with no reviewable changes (2)
- ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp4.22.yaml
- ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp5.0.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
- ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.metadata.json
- ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.yaml
4956c58 to
5b2c555
Compare
|
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. |
5b2c555 to
46dec17
Compare
|
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. |
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.sh (1)
2-2: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick winDisable xtrace by default.
Line 2 enables global xtrace although this script reads NooBaa admin credentials later. Start with
set -euo pipefail. Enable xtrace only for short, non-sensitive diagnostic scopes.As per coding guidelines, step-registry command scripts must “default to
set -euo pipefailwithout-x.”🤖 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/interop/opp/odf-health/interop-opp-odf-health-commands.sh` at line 2, Update the script’s top-level shell options from `set -euxo pipefail` to `set -euo pipefail`, leaving xtrace disabled by default; only enable it in narrowly scoped diagnostic sections that do not expose NooBaa admin credentials.Sources: Coding guidelines, Learnings
🤖 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/interop/opp/odf-health/interop-opp-odf-health-commands.sh`:
- Around line 315-331: Update the `oc run` invocation in the S3 check to use a
vetted pinned AWS CLI image and inject the existing NooBaa credentials via
`secretKeyRef` or `envFrom`. Remove the `AWS_ACCESS_KEY_ID` and
`AWS_SECRET_ACCESS_KEY` interpolations from the heredoc and parent shell, while
preserving the existing S3 commands and validation flow.
---
Duplicate comments:
In
`@ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.sh`:
- Line 2: Update the script’s top-level shell options from `set -euxo pipefail`
to `set -euo pipefail`, leaving xtrace disabled by default; only enable it in
narrowly scoped diagnostic sections that do not expose NooBaa admin credentials.
🪄 Autofix
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: Pro Plus
Run ID: b3369447-fc35-433f-9dbb-2a5b3c400941
📒 Files selected for processing (6)
ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp4.22.yamlci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp5.0.yamlci-operator/step-registry/interop/opp/odf-health/OWNERSci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.shci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.metadata.jsonci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (4)
- ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.metadata.json
- ci-operator/step-registry/interop/opp/odf-health/OWNERS
- ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp5.0.yaml
- ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.yaml
ODF Health Gate Review — Domain AnalysisReviewed the 7-point health gate approach, ODF health signal coverage, NooBaa S3 pattern, and risks from removing the OCS acceptance suite. Overall this is a well-motivated change — the old step ran 28 single-product ODF tests with zero cross-product coverage and even deleted the ACM subscription before executing, fundamentally undermining its interop purpose. 1. Is the 7-point gate sufficient for cross-product interop?Yes, for its intended purpose. The gate validates that ODF is healthy and functional within the OPP stack, which is the correct scope for an interop pipeline. The old acceptance suite validated feature correctness and robustness, but none of that was cross-product — it was single-product ODF QE validation running in the wrong pipeline. The 7 checks cover the key readiness signals documented in ODF CI patterns:
One gap worth considering: The 2. Missing ODF health signalsThree signals I'd recommend adding or considering: a) CephFS PVC validation (medium priority)Check 5 only tests # Add after the ceph-rbd PVC test
storageClassName: ocs-storagecluster-cephfs
accessModes:
- ReadWriteManyb) OSD "up + in" state (low priority, nice-to-have)The CephCluster oc get cephcluster -n openshift-storage -o json | jq '.items[0].status.ceph.details'This is partially covered by Check 7 (Ceph health detail), but if all OSDs are up and health is HEALTH_WARN for a non-OSD reason (e.g., clock skew), you'd want to know. c) StorageCluster
|
The interop-tests-ocs-tests step runs 28 single-product ODF acceptance tests after deliberately deleting the ACM subscription, making them fundamentally misaligned with interop testing. The step has a 3h timeout, depends on an external ocs-ci image, and the NooBaa endpoint timeout (OCSQE-5148) has been unresponsive for 16+ days. Replace with a lightweight 7-point ODF health gate (~2 min): 1. ODF Operator CSV in Succeeded phase 2. StorageCluster phase == Ready 3. CephCluster health == HEALTH_OK or HEALTH_WARN 4. Default StorageClasses available (ceph-rbd, cephfs) 5. PVC provisionable (create, bind, delete) 6. NooBaa system Ready + S3 put/get/delete functional check 7. Ceph overall health detail The NooBaa S3 functional check (check 6) is critical because Quay has a hard dependency on NooBaa for image blob storage. If NooBaa accepts connections but cannot serve object operations, Quay will silently fail on push/pull. Produces JUnit XML for Prow/Sippy/TestGrid. No external image dependency. Does NOT delete the ACM subscription (keeps stack intact for true interop).
- Remove ODF_VERSION_MAJOR_MINOR and DISABLE_ENVIRONMENT_CHECKER env overrides (only declared by removed interop-tests-ocs-tests step) - Remove unused ocs-ci-tests base_image (required by validateUnused) - Remove dead code: bucket, s3ok, s3Script variables (SC2034) - Fix SC2155: split testData declaration and assignment - Guard credentials with set +x/set -x to prevent log exposure - Add true terminators to all functions (mpex best practice) - Bump step timeout from 5m to 8m (PVC bind + cold image pull buffer) - Fix metadata.json trailing newline
All function declarations now use `function FuncName () {` form
per MPEX Integrity Engineering Best Practices.
Address CodeRabbit security finding: credentials were interpolated into the pod command spec. Now uses envFrom with the existing NooBaa admin secret. Pins aws-cli to 2.22.35 instead of :latest.
Check 5 now validates both ceph-rbd and cephfs provisioning. Check 6 creates an ObjectBucketClaim instead of using the legacy first.bucket, avoiding future breakage and key collisions.
d7a856a to
de775fe
Compare
|
Thanks for the thorough review. Addressing each finding: Already implemented (may have been missed in review):
Deferred (scope creep for this PR):
|
- Use `set -eux -o pipefail` (separated -o flag) - Replace &>/dev/null with `-o name 2>/dev/null` on sc existence check - Remove stderr suppression on oc apply/wait where error context aids debugging
|
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. |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.sh (1)
377-380: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winKeep AWS CLI stderr for diagnosis.
Each
awscall discards stderr. When the S3 cycle fails, the pod logs show nothing, and the JUnit message stays generic. Keep stderr so the artifacts explain the failure.♻️ Proposed change
- echo "\${TEST_DATA}" | aws --endpoint-url "\${S3_ENDPOINT}" --no-verify-ssl s3 cp - "s3://\${BUCKET_NAME}/\${TEST_KEY}" 2>/dev/null && \ - RETRIEVED=\$(aws --endpoint-url "\${S3_ENDPOINT}" --no-verify-ssl s3 cp "s3://\${BUCKET_NAME}/\${TEST_KEY}" - 2>/dev/null) && \ - aws --endpoint-url "\${S3_ENDPOINT}" --no-verify-ssl s3 rm "s3://\${BUCKET_NAME}/\${TEST_KEY}" 2>/dev/null && \ + echo "\${TEST_DATA}" | aws --endpoint-url "\${S3_ENDPOINT}" --no-verify-ssl s3 cp - "s3://\${BUCKET_NAME}/\${TEST_KEY}" && \ + RETRIEVED=\$(aws --endpoint-url "\${S3_ENDPOINT}" --no-verify-ssl s3 cp "s3://\${BUCKET_NAME}/\${TEST_KEY}" -) && \ + aws --endpoint-url "\${S3_ENDPOINT}" --no-verify-ssl s3 rm "s3://\${BUCKET_NAME}/\${TEST_KEY}" && \ if [ "\${RETRIEVED}" = "\${TEST_DATA}" ]; then echo "S3_CHECK_PASS"; else echo "S3_CHECK_FAIL: data mismatch"; fi🤖 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/interop/opp/odf-health/interop-opp-odf-health-commands.sh` around lines 377 - 380, Update the S3 validation command chain in the interop health check to stop redirecting stderr from each aws invocation to /dev/null. Preserve the existing upload, retrieval, cleanup, and data-comparison behavior while allowing AWS CLI diagnostics to appear in the pod logs and test artifacts.
🤖 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/interop/opp/odf-health/interop-opp-odf-health-commands.sh`:
- Around line 328-334: In the OBC credential setup block, validate that
bucketName returned by the bucket lookup is non-empty before continuing to S3
checks. On an empty value, record a JUnit failure with a clear
bucket-name-specific message and return or otherwise stop the current check,
while preserving the existing secretRef fallback for valid bucket names.
- Around line 381-391: Update the pod execution flow around the manifest’s
activeDeadlineSeconds and the oc wait in the S3 health check: define a separate
NOOBAA_S3_POD_STARTUP_TIMEOUT defaulted to 120 seconds, use it for
activeDeadlineSeconds, and wait for the pod’s terminal completion phase rather
than condition=Ready with the S3 operation timeout. Preserve collecting oc logs
after completion or timeout.
---
Nitpick comments:
In
`@ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.sh`:
- Around line 377-380: Update the S3 validation command chain in the interop
health check to stop redirecting stderr from each aws invocation to /dev/null.
Preserve the existing upload, retrieval, cleanup, and data-comparison behavior
while allowing AWS CLI diagnostics to appear in the pod logs and test artifacts.
🪄 Autofix
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: Pro Plus
Run ID: 12be18b9-743f-4d44-8b9a-e714169be362
📒 Files selected for processing (6)
ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp4.22.yamlci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp5.0.yamlci-operator/step-registry/interop/opp/odf-health/OWNERSci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.shci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.metadata.jsonci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (5)
- ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.metadata.json
- ci-operator/step-registry/interop/opp/odf-health/OWNERS
- ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.yaml
- ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp5.0.yaml
- ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp4.22.yaml
Address CodeRabbit review findings: - Guard against empty OBC bucket name before launching S3 pod - Wait for pod phase=Succeeded instead of condition=Ready - Add 60s image pull budget on top of S3 timeout
|
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. |
|
/pj-rehearse periodic-ci-stolostron-policy-collection-main-ocp4.22-interop-opp-vsphere |
|
@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
There was a problem hiding this comment.
♻️ Duplicate comments (1)
ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.sh (1)
386-396: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick winSeparate the image pull budget from the S3 operation timeout.
Line 391 now waits for the
Succeededphase withpodWait, which resolves half of the earlier concern. Line 386 still setsactiveDeadlineSecondstoNOOBAA_S3_TIMEOUT(30 by default).activeDeadlineSecondsstarts when the pod is scheduled, so it includes the pull ofamazon/aws-cli:2.22.35from Docker Hub. If the pull takes more than 30 seconds, the kubelet terminates the pod withDeadlineExceededbeforeawsruns. The logs are then empty and the gate reports "NooBaa S3 functional check failed" while NooBaa is healthy.Give the pod the same budget that
oc waituses.🔧 Proposed fix
- activeDeadlineSeconds: ${NOOBAA_S3_TIMEOUT} + activeDeadlineSeconds: $(( NOOBAA_S3_TIMEOUT + 60 )) EOF ) typeset s3Result="" typeset -i podWait=$(( NOOBAA_S3_TIMEOUT + 60 )) if echo "${podManifest}" | oc apply -f -; then if ! oc wait pod "${podName}" -n "${ODF_NAMESPACE}" \ --for=jsonpath='{.status.phase}'=Succeeded \ --timeout="${podWait}s" 2>/dev/null; then : "Pod did not succeed within ${podWait}s, checking logs anyway" + oc describe pod "${podName}" -n "${ODF_NAMESPACE}" || true fi🤖 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/interop/opp/odf-health/interop-opp-odf-health-commands.sh` around lines 386 - 396, Update the pod manifest’s activeDeadlineSeconds value in the NooBaa S3 health-check flow to use the same podWait budget passed to oc wait, rather than NOOBAA_S3_TIMEOUT. Ensure podWait is calculated before constructing the manifest, preserving the existing S3 operation timeout for the AWS command itself.
🤖 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.
Duplicate comments:
In
`@ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.sh`:
- Around line 386-396: Update the pod manifest’s activeDeadlineSeconds value in
the NooBaa S3 health-check flow to use the same podWait budget passed to oc
wait, rather than NOOBAA_S3_TIMEOUT. Ensure podWait is calculated before
constructing the manifest, preserving the existing S3 operation timeout for the
AWS command itself.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: 2ef28719-14bf-4360-ae03-92ec9b0a5f56
📒 Files selected for processing (6)
ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp4.22.yamlci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp5.0.yamlci-operator/step-registry/interop/opp/odf-health/OWNERSci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-commands.shci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.metadata.jsonci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (5)
- ci-operator/step-registry/interop/opp/odf-health/OWNERS
- ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp4.22.yaml
- ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.metadata.json
- ci-operator/step-registry/interop/opp/odf-health/interop-opp-odf-health-ref.yaml
- ci-operator/config/stolostron/policy-collection/stolostron-policy-collection-main__ocp5.0.yaml
- Rename JUnit testsuite to lp-interop--ODF for Sippy allowlist - Declare all loop iterator variables with typeset (mpitt) - Add env declarations to ref.yaml for discoverability (mpitt) - Add securityContext to S3 check pod (runAsNonRoot, no escalation)
|
/pj-rehearse periodic-ci-stolostron-policy-collection-main-ocp4.22-interop-opp-vsphere |
|
@amp-rh: 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: |
|
@amp-rh: 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. |
Summary
Replace
interop-tests-ocs-testsstep withinterop-opp-odf-healthin the OPP interop pipeline (4.22 and 5.0 configs).Problem: The OCS acceptance step runs 28 single-product ODF tests after deleting the ACM subscription, making them fundamentally misaligned with interop testing. The step has a 3h timeout, depends on external
ocs-ciimage, and the NooBaa endpoint timeout (OCSQE-5148) has been unresponsive for 16+ days (5 outreach attempts, 0 replies).Solution: Lightweight 7-point ODF health gate (~2 min):
Key properties:
cliimage)Reviewed by: Chai Bot domain review (2 queries, high confidence endorsement). Decision doc:
docs/decisions/2026-08-05-interop-9384-ocs-step-replacement.md.Affected Jobs
periodic-ci-stolostron-policy-collection-main-ocp4.22-interop-opp-awsperiodic-ci-stolostron-policy-collection-main-ocp4.22-interop-opp-vsphereperiodic-ci-stolostron-policy-collection-main-ocp5.0-interop-opp-awsperiodic-ci-stolostron-policy-collection-main-ocp5.0-interop-opp-vsphereFollow-up work (separate PRs)
cspi-utilsfirewatch config to reference new step nameopenshift-eng/ci-test-mappingforlp-interop--ODFmapping/cc @cspi-qe-ocp-lp
Summary by CodeRabbit
interop-opp-odf-health.cliimage execution.secretRefand pinned the AWS CLI image to2.22.35.