Skip to content

MPIIT: Use ExitTrap--PostProcessPrep for ODF test mapping#78752

Open
oharan2 wants to merge 3 commits intoopenshift:mainfrom
oharan2:odf
Open

MPIIT: Use ExitTrap--PostProcessPrep for ODF test mapping#78752
oharan2 wants to merge 3 commits intoopenshift:mainfrom
oharan2:odf

Conversation

@oharan2
Copy link
Copy Markdown
Contributor

@oharan2 oharan2 commented May 4, 2026

Main changes:

  • Instead of handling the installation of yq, TS mapping and original XML archive, import and use the RedHatQE/OpenShift-LP-QE--Tools ExitTrap--PostProcessPrep mechanism
  • Update CR and DR identifiers to lp-ocp-compat--ODF

Summary by CodeRabbit

  • Chores
    • Updated test reporting identifiers used by OCS interoperability tests and adjusted default values across interop test configurations.
  • Refactor
    • Reworked JUnit XML post-test processing to optionally use a centralized post-processing hook instead of the local mapping implementation.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 4, 2026

Walkthrough

The PR updates REPORTPORTAL_CMP environment values in two test configs/ref and replaces in-script yq-based JUnit mapping with a MAP_TESTS-gated flow that conditionally fetches+evals a shared post-processing script and installs an EXIT trap to run cleanup then the shared post-processor; otherwise the EXIT trap only runs cleanup.

Changes

Test Result Processing Centralization

Layer / File(s) Summary
Env updates (config + ref)
ci-operator/config/.../red-hat-storage/ocs-ci/red-hat-storage-ocs-ci-master__ocp-4.22-lp-interop.yaml, ci-operator/step-registry/interop-tests/ocs-tests/interop-tests-ocs-tests-ref.yaml
REPORTPORTAL_CMP env values changed to lp-ocp-compat--ODF (was ODF-lp-interop / CNV-lp-interop).
Control-flow / Exit handling
ci-operator/step-registry/interop-tests/ocs-tests/interop-tests-ocs-tests-commands.sh
Replaces unconditional EXIT trap with conditional behavior: when MAP_TESTS=true the script curls+evals ExitTrap--PostProcessPrep.sh, sets LP_IO__ET_PPP__NEW_TS_NAME derived from REPORTPORTAL_CMP, and installs an EXIT trap that runs cleanup then ExitTrap--PostProcessPrep; otherwise the EXIT trap runs only cleanup.
Removal of local mapping logic
ci-operator/step-registry/.../interop-tests-ocs-tests-commands.sh
Removed local helpers and logic: install_yq_if_not_exists() and mapTestsForComponentReadiness() plus the post-test JUnit mapping/copy step that processed ${CLUSTER_PATH}/junit.xml into ${SHARED_DIR}.

Sequence Diagram(s)

sequenceDiagram
  participant TestScript as Interop Test Script
  participant Shared as ExitTrap--PostProcessPrep.sh
  participant CI as CI Runner / Filesystem

  TestScript->>CI: run tests, produce ${CLUSTER_PATH}/junit.xml
  alt MAP_TESTS=true
    TestScript->>Shared: curl + eval shared script
    TestScript->>TestScript: set LP_IO__ET_PPP__NEW_TS_NAME = REPORTPORTAL_CMP...
    CI-->>TestScript: on EXIT -> run cleanup then ExitTrap--PostProcessPrep
    TestScript->>Shared: ExitTrap--PostProcessPrep processes junit and writes to ${SHARED_DIR}
  else MAP_TESTS!=true
    CI-->>TestScript: on EXIT -> run cleanup only
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~18 minutes

🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 passed)
Check name Status Explanation
Title check ✅ Passed The PR title accurately reflects the main change: migrating from local yq-based test mapping to the external ExitTrap--PostProcessPrep mechanism for ODF tests.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR modifies CI/CD configuration and shell script for test orchestration via pytest, not Ginkgo test definitions. No Ginkgo test names or patterns present.
Test Structure And Quality ✅ Passed PR modifies only CI configuration YAML files and shell scripts; no Ginkgo test code changes detected.
Microshift Test Compatibility ✅ Passed This PR does not add any new Ginkgo e2e tests. Changes are limited to CI/CD configuration files and test execution shell scripts in the ci-operator directory, which are infrastructure components rather than test code.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR modifies CI/CD configuration files (YAML and shell scripts) for OCS interop tests without adding or modifying Go test code
Topology-Aware Scheduling Compatibility ✅ Passed Files modified are CI test configurations and scripts, not Kubernetes deployment manifests, operator code, or controllers. No pod scheduling constraints or topology-aware configurations detected.
Ote Binary Stdout Contract ✅ Passed This PR modifies only YAML configuration files and bash scripts; it contains no Go code changes, making the OTE Binary Stdout Contract check inapplicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This pull request does not add any new Ginkgo e2e tests. The modified files are CI/CD infrastructure components, not Ginkgo tests for IPv6-only disconnected environments.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci Bot requested review from OdedViner and amp-rh May 4, 2026 12:45
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 4, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: oharan2

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 4, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@ci-operator/step-registry/interop-tests/ocs-tests/interop-tests-ocs-tests-commands.sh`:
- Around line 119-122: The eval call that downloads and executes
ExitTrap--PostProcessPrep.sh from refs/heads/main is unpinned; replace the
mutable branch URL in the curl (the line containing eval
"$(...ExitTrap--PostProcessPrep.sh)") with a URL that references an immutable
commit SHA (i.e. replace refs/heads/main with the repository commit SHA path for
ExitTrap--PostProcessPrep.sh), so the script is fetched from a specific commit;
obtain the appropriate commit SHA from the repo, update the URL, and keep the
same curl flags and eval invocation so behavior is unchanged but pinned.
🪄 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: 5c045845-3646-4734-8864-5285b347dc5b

📥 Commits

Reviewing files that changed from the base of the PR and between f44ecb8 and 646cb50.

📒 Files selected for processing (3)
  • ci-operator/config/red-hat-storage/ocs-ci/red-hat-storage-ocs-ci-master__ocp-4.22-lp-interop.yaml
  • ci-operator/step-registry/interop-tests/ocs-tests/interop-tests-ocs-tests-commands.sh
  • ci-operator/step-registry/interop-tests/ocs-tests/interop-tests-ocs-tests-ref.yaml

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@oharan2: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
periodic-ci-red-hat-storage-ocs-ci-master-ocp-4.22-lp-interop-odf-aws-fips N/A periodic Ci-operator config changed
periodic-ci-stolostron-policy-collection-main-ocp4.21-interop-opp-aws N/A periodic Registry content changed
periodic-ci-RedHatQE-interop-testing-master-cnv-odf-ocp-4.22-lp-interop-cr-cnv-odf-aws N/A periodic Registry content changed
periodic-ci-RedHatQE-interop-testing-master-cnv-odf-ocp-4.21-lp-interop-cr-cnv-component-readiness-aws-ipi-ocp421 N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.21-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.20-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed
periodic-ci-RedHatQE-interop-testing-cnv-4.18-cnv-odf-ocp4.18-lp-interop-cnv-odf-tests-aws-ipi-ocp418-fips N/A periodic Registry content changed
periodic-ci-RedHatQE-interop-testing-master-cnv-odf-ocp-4.20-lp-interop-cr-cnv-component-readiness-aws-ipi-ocp420 N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.16-lp-interop-odf-interop-aws N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.18-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed
periodic-ci-RedHatQE-interop-testing-master-cnv-odf-ocp-4.22-lp-interop-aws-fips N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.17-lp-interop-odf-interop-aws N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.19-lp-interop-odf-interop-aws N/A periodic Registry content changed
periodic-ci-RedHatQE-interop-testing-master-cnv-odf-ocp-4.20-lp-interop-cnv-component-readiness-aws-ipi-ocp420 N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-ocp-4.22-lp-interop-cr-odf-aws N/A periodic Ci-operator config changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.17-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.19-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.15-lp-interop-odf-interop-aws N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.16-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed
periodic-ci-stolostron-policy-collection-main-ocp4.22-interop-opp-vsphere N/A periodic Registry content changed
periodic-ci-RedHatQE-interop-testing-master-cnv-odf-ocp-4.20-lp-interop-cnv-odf-tests-aws-ipi-ocp420-fips N/A periodic Registry content changed
periodic-ci-RedHatQE-interop-testing-master-cnv-odf-ocp4.19-lp-interop-cnv-odf-tests-aws-ipi-ocp419 N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.18-lp-interop-odf-interop-aws N/A periodic Registry content changed
periodic-ci-RedHatQE-interop-testing-master-cnv-odf-ocp-4.23-lp-interop-aws-fips N/A periodic Registry content changed
periodic-ci-stolostron-policy-collection-main-ocp4.22-interop-opp-aws N/A periodic Registry content changed

A total of 31 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs.

A full list of affected jobs can be found here

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@oharan2
Copy link
Copy Markdown
Contributor Author

oharan2 commented May 4, 2026

/pj-rehearse periodic-ci-red-hat-storage-ocs-ci-master-ocp-4.22-lp-interop-odf-aws-fips

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@oharan2: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 4, 2026

@oharan2: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/periodic-ci-red-hat-storage-ocs-ci-master-ocp-4.22-lp-interop-odf-aws-fips 7bec344 link unknown /pj-rehearse periodic-ci-red-hat-storage-ocs-ci-master-ocp-4.22-lp-interop-odf-aws-fips

Full PR test history. Your PR dashboard.

Details

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 kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant