Skip to content

RHDH: add RHDH catalog index and chart version Gangway overrides#79538

Merged
openshift-merge-bot[bot] merged 3 commits into
openshift:mainfrom
zdrapela:feature/rhdh-catalog-index-gangway-overrides
Jun 1, 2026
Merged

RHDH: add RHDH catalog index and chart version Gangway overrides#79538
openshift-merge-bot[bot] merged 3 commits into
openshift:mainfrom
zdrapela:feature/rhdh-catalog-index-gangway-overrides

Conversation

@zdrapela

@zdrapela zdrapela commented May 20, 2026

Copy link
Copy Markdown
Contributor

Jira: https://redhat.atlassian.net/browse/RHIDP-14348

Summary

Add Gangway API override support for catalog index image and Helm chart version to all RHDH and overlay E2E test steps.

This enables RC and GA verification via Gangway API triggers with overrides like:

CATALOG_INDEX_IMAGE=quay.io/rhdh/plugin-catalog-index:1.5
CHART_VERSION=1.9-227-CI

Changes

RHDH steps

  • 7 helm commands.sh (+ 4 operator symlinks): Add variable init, export, and override blocks for CATALOG_INDEX_IMAGE, CHART_VERSION
  • 11 core ref.yaml: Declare MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_IMAGE and MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION
  • send/data-router commands.sh: Add new vars to OVERRIDE_VARS array (skips reporting on Gangway-triggered runs)
  • send/data-router ref.yaml: Declare the new env vars

rhdh-plugin-export-overlays steps

  • ocp/helm commands.sh: Add variable init, export, override blocks for CATALOG_INDEX_IMAGE, PLAYWRIGHT_VERSION
  • ocp/helm ref.yaml: Declare MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_IMAGE and MULTISTAGE_PARAM_OVERRIDE_PLAYWRIGHT_VERSION
  • send/data-router commands.sh: Add new vars to OVERRIDE_VARS array
  • send/data-router ref.yaml: Declare the new env vars

Companion PR

Summary by CodeRabbit

This PR adds Gangway API override support to the Red Hat Developer Hub (RHDH) CI pipelines so operators can trigger RC/GA verification runs with custom plugin catalog index images and (where applicable) Helm chart versions.

What changed (practical impact)

  • CI step scripts and refs across RHDH E2E pipelines (OCP, AKS, EKS, GKE, OSD-GCP) now accept two new optional override inputs:
    • CATALOG_INDEX_IMAGE — a single combined image:tag to point tests at a specific plugin catalog index (e.g., quay.io/rhdh/plugin-catalog-index:1.5)
    • CHART_VERSION — a Helm chart version string used by the Helm-based test steps (e.g., 1.9-227-CI)
  • Plugin-export-overlays steps accept CATALOG_INDEX_IMAGE and PLAYWRIGHT_VERSION overrides (CHART_VERSION is intentionally not used by that step).
  • Data-router/send steps were updated to include the new MULTISTAGE_PARAM_OVERRIDE_* vars in OVERRIDE_VARS so Data Router reporting is skipped for Gangway-triggered override runs.

Implementation summary

  • Commands: Seven helm commands.sh files (per-platform helm/nightly and some non-nightly variants) now initialize, export, and apply MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_IMAGE and MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION where relevant. Override-applied echo messages were added in most places.
  • Refs: Eleven ref.yaml files declare the new MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_IMAGE and MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION env entries (default: "") with documentation.
  • Operators/symlinks: Four operator ref.yaml symlink targets updated to include the new override envs.
  • Plugin-export-overlays: ocp/helm commands and ref.yaml updated for CATALOG_INDEX_IMAGE & PLAYWRIGHT_VERSION; corresponding send/data-router step updated to detect and skip reporting on overrides.
  • Data-router: OVERRIDE_VARS lists extended so reporting is skipped when overrides are present.
  • Companion PR: fix(ci): dynamically resolve catalog index image from branch + remove trigger-nightly-job command redhat-developer/rhdh#4860 implements dynamic catalog index resolution from branch with safe fallbacks.
  • A separate commit fixes an unrelated inconsistency by adding a missing export for IMAGE_REPO / IMAGE_REGISTRY / QUAY_REPO in ocp-helm-upgrade-nightly-commands.sh.

Review notes, issues & recommendations

  • PR description mismatch: The PR description still mentions separate registry/repo/tag variables, but the implementation uses a single combined CATALOG_INDEX_IMAGE (image:tag). Update the PR description to match the implementation.
  • Debug visibility: Reviewers recommended adding explicit echo/debug lines that print the final resolved CATALOG_INDEX_IMAGE and CHART_VERSION immediately before test execution to aid debugging. Most scripts log "Override applied" but do not echo the final effective values in all cases.
  • Plugin-export-overlays intentionally omits CHART_VERSION from its send/data-router OVERRIDE_VARS because that step does not use chart versioning.
  • A few pre-existing, unrelated inconsistencies were noted (ocp-helm-upgrade-nightly export fix added; AKS/EKS/GKE scripts lacking set +x; operator ref.yaml OC_CLIENT_VERSION differences) but are outside the functional scope of this PR.

Impact & compatibility

  • Enables Gangway-triggered verification of RC/GA candidates by pointing CI runs at arbitrary plugin catalog images and chart versions without changing CI job definitions.
  • Backward compatible: new override variables default to empty strings, so non-Gangway runs keep existing behavior.

@openshift-ci

openshift-ci Bot commented May 20, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci Bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels May 20, 2026
@coderabbitai

coderabbitai Bot commented May 20, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: ada7f539-771e-4eab-b768-d2a92636ec9e

📥 Commits

Reviewing files that changed from the base of the PR and between fcf3e0d and 4f737ca.

📒 Files selected for processing (1)
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/upgrade/nightly/redhat-developer-rhdh-ocp-helm-upgrade-nightly-commands.sh
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/upgrade/nightly/redhat-developer-rhdh-ocp-helm-upgrade-nightly-commands.sh

Walkthrough

Add empty-default CATALOG_INDEX_IMAGE and CHART_VERSION (plus PLAYWRIGHT_VERSION in plugin overlay), export them for downstream steps, accept Gangway MULTISTAGE_PARAM_OVERRIDE_* overrides, update CI step ref YAMLs, and extend data-router override detection.

Changes

Catalog Index and Chart Version Override Support

Layer / File(s) Summary
Plugin export overlays — init, overrides, export
ci-operator/step-registry/redhat-developer/rhdh-plugin-export-overlays/ocp/helm/*, ci-operator/step-registry/redhat-developer/rhdh-plugin-export-overlays/send/data-router/*
Add empty defaults for CATALOG_INDEX_IMAGE and PLAYWRIGHT_VERSION, support MULTISTAGE_PARAM_OVERRIDE_* inputs, log applied overrides, export variables, and declare corresponding env entries in refs.
Helm scripts — variable initialization & export
`ci-operator/step-registry/redhat-developer/rhdh/*/(aks
eks
Gangway override handling & CI refs
ci-operator/step-registry/redhat-developer/rhdh/*/*-commands.sh, ci-operator/step-registry/redhat-developer/rhdh/*/*-ref.yaml
Extend "Gangway API Overrides" blocks to conditionally set CATALOG_INDEX_IMAGE and CHART_VERSION from MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_IMAGE / MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION and echo when overrides are applied; add corresponding env entries (and operator/nightly refs) with default: "".
Data router — override recognition
ci-operator/step-registry/redhat-developer/rhdh/*/send/data-router/*-commands.sh, *-ref.yaml
Extend OVERRIDE_VARS and env lists so presence of catalog/chart override params causes the existing early-exit skip reporting behavior.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

area/pipelines, rehearsals-ack

Suggested reviewers

  • subhashkhileri
  • jrichter1
  • josephca
🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding Gangway API override support for catalog index image and chart version to RHDH CI steps.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 contains no Ginkgo test files; it only modifies CI operator configuration scripts (.sh) and step registry YAML files, making this check not applicable.
Test Structure And Quality ✅ Passed PR contains only CI/CD configuration files (bash scripts, YAML refs); no Ginkgo test code present. Check for Ginkgo test quality is not applicable.
Microshift Test Compatibility ✅ Passed No Ginkgo e2e tests are added in this PR. All changes are CI/CD infrastructure configuration (shell and YAML files) setting up environment variables for existing tests.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR adds only CI infrastructure config (shell and YAML files), not Ginkgo test code. Custom check applies only when new tests are added and is not applicable here.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies only OpenShift CI step registry configs and test scripts, not deployment manifests or operator code; no scheduling constraints introduced.
Ote Binary Stdout Contract ✅ Passed PR modifies only CI infrastructure scripts (.sh) and YAML configs, not Go test binaries or OTE implementations. No changes to main(), TestMain(), BeforeSuite(), or stdout JSON communication patterns.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR does not add any new Ginkgo e2e tests. All changes are CI infrastructure configuration files (.sh scripts and .yaml references) for setting up test environments, not test code itself.
No-Weak-Crypto ✅ Passed PR adds CI/CD configuration for RHDH catalog and chart overrides—shell scripts and YAML files only. No cryptographic code, weak crypto patterns, or unsafe secret comparisons detected.
Container-Privileges ✅ Passed No container privilege escalation configurations detected. PR adds only CI environment variables and override logic; no privileged flags, security contexts, or capability escalations are present.
No-Sensitive-Data-In-Logs ✅ Passed New logging only exposes non-sensitive values: container image URIs and version strings. No passwords, tokens, API keys, PII, or secrets are logged.

✏️ 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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
ci-operator/step-registry/redhat-developer/rhdh/send/data-router/redhat-developer-rhdh-send-data-router-commands.sh (1)

1-56: ⚠️ Potential issue | 🔴 Critical

Use set -euo pipefail instead of disabling error handling.

This step registry script must use set -euo pipefail (without -x) as the default shell options, per the step registry guidelines. Lines 2-3 currently disable error and unset variable handling with set +o errexit and set +o nounset, which contradicts the requirement:

#!/bin/bash

set -euo pipefail
🤖 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/redhat-developer/rhdh/send/data-router/redhat-developer-rhdh-send-data-router-commands.sh`
around lines 1 - 56, Replace the current disabled error/unset handling (the two
lines "set +o errexit" and "set +o nounset") with a single strict-mode line "set
-euo pipefail" at the top of the script; then audit any uses of potentially
unset variables (e.g. elements in OVERRIDE_VARS, JOB_SPEC parsing, SHARED_DIR
reads, DATA_ROUTER_* secret reads, and functions like
save_status_data_router_failed and get_artifacts_url) and make them robust by
providing safe defaults or explicit checks (use parameter expansion like
${VAR:-} or conditional guards) so the script still behaves correctly under
strict mode.
🤖 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.

Outside diff comments:
In
`@ci-operator/step-registry/redhat-developer/rhdh/send/data-router/redhat-developer-rhdh-send-data-router-commands.sh`:
- Around line 1-56: Replace the current disabled error/unset handling (the two
lines "set +o errexit" and "set +o nounset") with a single strict-mode line "set
-euo pipefail" at the top of the script; then audit any uses of potentially
unset variables (e.g. elements in OVERRIDE_VARS, JOB_SPEC parsing, SHARED_DIR
reads, DATA_ROUTER_* secret reads, and functions like
save_status_data_router_failed and get_artifacts_url) and make them robust by
providing safe defaults or explicit checks (use parameter expansion like
${VAR:-} or conditional guards) so the script still behaves correctly under
strict mode.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 14817316-9e09-44ec-8cb9-b6f14e39e168

📥 Commits

Reviewing files that changed from the base of the PR and between 3c35748 and 992119e.

📒 Files selected for processing (20)
  • ci-operator/step-registry/redhat-developer/rhdh/aks/helm/nightly/redhat-developer-rhdh-aks-helm-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/aks/helm/nightly/redhat-developer-rhdh-aks-helm-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/aks/operator/nightly/redhat-developer-rhdh-aks-operator-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/eks/helm/nightly/redhat-developer-rhdh-eks-helm-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/eks/helm/nightly/redhat-developer-rhdh-eks-helm-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/eks/operator/nightly/redhat-developer-rhdh-eks-operator-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/gke/helm/nightly/redhat-developer-rhdh-gke-helm-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/gke/helm/nightly/redhat-developer-rhdh-gke-helm-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/gke/operator/nightly/redhat-developer-rhdh-gke-operator-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/nightly/redhat-developer-rhdh-ocp-helm-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/nightly/redhat-developer-rhdh-ocp-helm-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/redhat-developer-rhdh-ocp-helm-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/redhat-developer-rhdh-ocp-helm-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/upgrade/nightly/redhat-developer-rhdh-ocp-helm-upgrade-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/upgrade/nightly/redhat-developer-rhdh-ocp-helm-upgrade-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/operator/nightly/redhat-developer-rhdh-ocp-operator-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/osd-gcp/helm/nightly/redhat-developer-rhdh-osd-gcp-helm-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/osd-gcp/helm/nightly/redhat-developer-rhdh-osd-gcp-helm-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/send/data-router/redhat-developer-rhdh-send-data-router-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/send/data-router/redhat-developer-rhdh-send-data-router-ref.yaml

@zdrapela zdrapela force-pushed the feature/rhdh-catalog-index-gangway-overrides branch from 992119e to b8d10fc Compare June 1, 2026 12:13
Add MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_IMAGE and
MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION env vars to all RHDH
nightly/presubmit step registry refs and their data-router post step.

When set via Gangway API, these overrides let callers specify a custom
catalog index image and chart version for on-demand CI runs.
The data-router step skips ReportPortal reporting when any Gangway
override is detected.

Assisted-by: Claude Code
@zdrapela zdrapela force-pushed the feature/rhdh-catalog-index-gangway-overrides branch from b8d10fc to 6fabf85 Compare June 1, 2026 12:28
Extend Gangway API overrides (CATALOG_INDEX_IMAGE, CHART_VERSION,
PLAYWRIGHT_VERSION) to rhdh-plugin-export-overlays step-registry steps
and their data-router reporting step.

Assisted-by: Claude Code

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@zdrapela zdrapela force-pushed the feature/rhdh-catalog-index-gangway-overrides branch from 6fabf85 to fcf3e0d Compare June 1, 2026 12:37
@zdrapela zdrapela marked this pull request as ready for review June 1, 2026 13:12
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 1, 2026
@openshift-ci openshift-ci Bot requested review from albarbaro and gustavolira June 1, 2026 13:13
@zdrapela

zdrapela commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

@CodeRabbit full-review

@coderabbitai

coderabbitai Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Get the list of changed files in the PR
gh pr view 79538 --repo openshift/release --json files --jq '.files[].path'

Length of output: 3116


🏁 Script executed:

#!/bin/bash
# Fetch key commands.sh files to review
cat ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/nightly/redhat-developer-rhdh-ocp-helm-nightly-commands.sh

Length of output: 12016


🏁 Script executed:

#!/bin/bash
# Fetch ref.yaml for ocp/helm/nightly
cat ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/nightly/redhat-developer-rhdh-ocp-helm-nightly-ref.yaml

Length of output: 2052


🏁 Script executed:

#!/bin/bash
# Fetch send/data-router commands.sh
cat ci-operator/step-registry/redhat-developer/rhdh/send/data-router/redhat-developer-rhdh-send-data-router-commands.sh

Length of output: 13509


🏁 Script executed:

#!/bin/bash
# Fetch send/data-router ref.yaml
cat ci-operator/step-registry/redhat-developer/rhdh/send/data-router/redhat-developer-rhdh-send-data-router-ref.yaml

Length of output: 1937


🏁 Script executed:

#!/bin/bash
# Fetch ocp/helm (non-nightly) commands.sh
cat ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/redhat-developer-rhdh-ocp-helm-commands.sh

Length of output: 13411


🏁 Script executed:

#!/bin/bash
# Fetch ocp/helm/upgrade/nightly commands.sh
cat ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/upgrade/nightly/redhat-developer-rhdh-ocp-helm-upgrade-nightly-commands.sh

Length of output: 12037


🏁 Script executed:

#!/bin/bash
# Fetch aks/helm/nightly commands.sh
cat ci-operator/step-registry/redhat-developer/rhdh/aks/helm/nightly/redhat-developer-rhdh-aks-helm-nightly-commands.sh

Length of output: 10605


🏁 Script executed:

#!/bin/bash
# Fetch eks/helm/nightly commands.sh
cat ci-operator/step-registry/redhat-developer/rhdh/eks/helm/nightly/redhat-developer-rhdh-eks-helm-nightly-commands.sh

Length of output: 11075


🏁 Script executed:

#!/bin/bash
# Fetch gke/helm/nightly commands.sh
cat ci-operator/step-registry/redhat-developer/rhdh/gke/helm/nightly/redhat-developer-rhdh-gke-helm-nightly-commands.sh

Length of output: 10571


🏁 Script executed:

#!/bin/bash
# Fetch osd-gcp/helm/nightly commands.sh
cat ci-operator/step-registry/redhat-developer/rhdh/osd-gcp/helm/nightly/redhat-developer-rhdh-osd-gcp-helm-nightly-commands.sh

Length of output: 9141


🏁 Script executed:

#!/bin/bash
# Fetch rhdh-plugin-export-overlays files
cat ci-operator/step-registry/redhat-developer/rhdh-plugin-export-overlays/ocp/helm/redhat-developer-rhdh-plugin-export-overlays-ocp-helm-commands.sh
echo "---SEPARATOR---"
cat ci-operator/step-registry/redhat-developer/rhdh-plugin-export-overlays/ocp/helm/redhat-developer-rhdh-plugin-export-overlays-ocp-helm-ref.yaml
echo "---SEPARATOR---"
cat ci-operator/step-registry/redhat-developer/rhdh-plugin-export-overlays/send/data-router/redhat-developer-rhdh-plugin-export-overlays-send-data-router-commands.sh
echo "---SEPARATOR---"
cat ci-operator/step-registry/redhat-developer/rhdh-plugin-export-overlays/send/data-router/redhat-developer-rhdh-plugin-export-overlays-send-data-router-ref.yaml

Length of output: 29693


🏁 Script executed:

#!/bin/bash
# Check operator nightly ref.yaml files
cat ci-operator/step-registry/redhat-developer/rhdh/aks/operator/nightly/redhat-developer-rhdh-aks-operator-nightly-ref.yaml
echo "---SEPARATOR---"
cat ci-operator/step-registry/redhat-developer/rhdh/eks/operator/nightly/redhat-developer-rhdh-eks-operator-nightly-ref.yaml
echo "---SEPARATOR---"
cat ci-operator/step-registry/redhat-developer/rhdh/gke/operator/nightly/redhat-developer-rhdh-gke-operator-nightly-ref.yaml
echo "---SEPARATOR---"
cat ci-operator/step-registry/redhat-developer/rhdh/ocp/operator/nightly/redhat-developer-rhdh-ocp-operator-nightly-ref.yaml

Length of output: 8109


🏁 Script executed:

#!/bin/bash
# Check if there are any operator commands.sh for nightly that are symlinks or separate files
ls -la ci-operator/step-registry/redhat-developer/rhdh/aks/operator/nightly/
ls -la ci-operator/step-registry/redhat-developer/rhdh/eks/operator/nightly/
ls -la ci-operator/step-registry/redhat-developer/rhdh/gke/operator/nightly/
ls -la ci-operator/step-registry/redhat-developer/rhdh/ocp/operator/nightly/

Length of output: 2730


🏁 Script executed:

#!/bin/bash
# Check the ocp/helm upgrade nightly ref.yaml
cat ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/upgrade/nightly/redhat-developer-rhdh-ocp-helm-upgrade-nightly-ref.yaml
echo "---SEPARATOR---"
# Check ocp/helm ref.yaml
cat ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/redhat-developer-rhdh-ocp-helm-ref.yaml

Length of output: 4020


🏁 Script executed:

#!/bin/bash
# Check if osd-gcp operator nightly dir exists
ls -la ci-operator/step-registry/redhat-developer/rhdh/osd-gcp/ 2>/dev/null || echo "No osd-gcp directory"
ls -la ci-operator/step-registry/redhat-developer/rhdh/osd-gcp/operator/nightly/ 2>/dev/null || echo "No osd-gcp/operator/nightly directory"
# Also get osd-gcp/helm/nightly ref.yaml to confirm it's complete
cat ci-operator/step-registry/redhat-developer/rhdh/osd-gcp/helm/nightly/redhat-developer-rhdh-osd-gcp-helm-nightly-ref.yaml

Length of output: 2721



@zdrapela Here is the full review of PR #79538.


Summary

The PR consistently adds CATALOG_INDEX_IMAGE and CHART_VERSION Gangway override support across all 7 commands.sh files, their 4 operator symlink ref.yamls, 3 helm-only ref.yamls, and both send/data-router steps. It also introduces the new rhdh-plugin-export-overlays step pair. The implementation is clean and uniform. A few items are worth attention:


Issues Found

1. Stale PR Description / Body

The PR description (and the stated PR objectives) says:

Modified 7 helm commands.sh files to add variable initialization, export, and override blocks for CATALOG_INDEX_REGISTRY, CATALOG_INDEX_REPO, CATALOG_INDEX_TAG, and CHART_VERSION.

But the actual implementation uses a single combined CATALOG_INDEX_IMAGE variable (e.g., quay.io/rhdh/plugin-catalog-index:1.5) instead of three separate registry/repo/tag variables. Please update the PR description to match the implementation.


2. No Logging of Final CATALOG_INDEX_IMAGE / CHART_VERSION Before Test Execution

All commands.sh files log the final resolved image before running tests:

echo "Using image: ${IMAGE_REGISTRY}/${IMAGE_REPO}:${TAG_NAME}, with digest: ${IMAGE_SHA}"

However, the final effective values of CATALOG_INDEX_IMAGE and CHART_VERSION are never echoed before openshift-ci-tests.sh is called. This makes it harder to debug runs. Consider adding something like:

echo "CATALOG_INDEX_IMAGE=${CATALOG_INDEX_IMAGE}"
echo "CHART_VERSION=${CHART_VERSION}"

in the "Current branch" / "Test Execution" section of each script.


3. CHART_VERSION Not in rhdh-plugin-export-overlays Override Skip Logic

The rhdh-plugin-export-overlays-send-data-router-commands.sh OVERRIDE_VARS does not include MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION, which is consistent since that step doesn't use chart version. ✅ (Just confirming this is intentional.)


Pre-existing Issues (Not Introduced by This PR, FYI)

  • ocp-helm-upgrade-nightly-commands.sh is missing the final export IMAGE_REPO IMAGE_REGISTRY QUAY_REPO statement after image resolution (unlike ocp-helm-commands.sh). Since both variables were already exported at the top, this doesn't cause a bug but is inconsistent.
  • AKS/EKS/GKE commands.sh files are missing set +x at the top, unlike OCP scripts.
  • Operator ref.yaml files for AKS/EKS/GKE use OC_CLIENT_VERSION: stable-4.16 while OCP uses stable-4.17.

What Looks Good ✅

  1. Full consistency — all 7 helm commands.sh files, 4 operator symlink ref.yamls, and all send/data-router scripts apply the same pattern identically.
  2. Correct symlink handling — operator nightly steps correctly symlink to helm commands.sh files; no duplicate code needed.
  3. osd-gcp/operator/nightly not missed — confirmed that no such directory exists, so no gap there.
  4. OVERRIDE_VARS skip logic — both redhat-developer-rhdh-send-data-router-commands.sh and redhat-developer-rhdh-plugin-export-overlays-send-data-router-commands.sh correctly skip data-router reporting when any Gangway override is set.
  5. rhdh-plugin-export-overlays — the new step pair has a solid structure with set -euo pipefail, proper platform metadata persistence to SHARED_DIR, and its own data-router integration.
  6. Backward compatibilityCATALOG_INDEX_IMAGE and CHART_VERSION default to "" so all existing non-Gangway-triggered runs are unaffected.
✅ Actions performed

Full review triggered.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
ci-operator/step-registry/redhat-developer/rhdh/osd-gcp/helm/nightly/redhat-developer-rhdh-osd-gcp-helm-nightly-commands.sh (1)

50-57: ⚡ Quick win

Log final resolved catalog/chart values before test execution.

These lines only log when overrides are present. Add a final unconditional log of resolved CATALOG_INDEX_IMAGE and CHART_VERSION before running tests to simplify triage across Gangway and non-Gangway runs.

Proposed patch
@@
 echo "========== Current branch =========="
 echo "Current branch: $(git branch --show-current)"
 if [[ "${IMAGE_REGISTRY}" == "quay.io" ]]; then
@@
 else
     echo "Using image: ${IMAGE_REGISTRY}/${IMAGE_REPO}:${TAG_NAME}"
 fi
+
+echo "Resolved CATALOG_INDEX_IMAGE: ${CATALOG_INDEX_IMAGE:-<empty>}"
+echo "Resolved CHART_VERSION: ${CHART_VERSION:-<empty>}"
 
 echo "========== Test Execution =========="
 echo "Executing openshift-ci-tests.sh"
 bash ./.ci/pipelines/openshift-ci-tests.sh
🤖 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/redhat-developer/rhdh/osd-gcp/helm/nightly/redhat-developer-rhdh-osd-gcp-helm-nightly-commands.sh`
around lines 50 - 57, The script only echoes CATALOG_INDEX_IMAGE and
CHART_VERSION when override env vars are set, so add an unconditional log of the
final resolved values to aid debugging: after the override blocks that set
CATALOG_INDEX_IMAGE and CHART_VERSION (the blocks that check
MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_IMAGE and
MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION) insert a simple echo that prints the
final CATALOG_INDEX_IMAGE and CHART_VERSION values (e.g., "Resolved:
CATALOG_INDEX_IMAGE=... CHART_VERSION=...") immediately before the test
execution step so both Gangway and non-Gangway runs always emit the resolved
values.
ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/nightly/redhat-developer-rhdh-ocp-helm-nightly-commands.sh (1)

50-57: ⚡ Quick win

Log resolved catalog/chart values once after override handling.

Right now these values are only logged when an override is set. Add a single unconditional log after the override block so runs without Gangway overrides still show the effective CATALOG_INDEX_IMAGE and CHART_VERSION.

Suggested patch
 if [[ -n "${MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION}" ]]; then
     CHART_VERSION="${MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION}"
     echo "Override applied: CHART_VERSION=${CHART_VERSION}"
 fi
+echo "Resolved CATALOG_INDEX_IMAGE=${CATALOG_INDEX_IMAGE:-<empty>}"
+echo "Resolved CHART_VERSION=${CHART_VERSION:-<empty>}"
🤖 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/redhat-developer/rhdh/ocp/helm/nightly/redhat-developer-rhdh-ocp-helm-nightly-commands.sh`
around lines 50 - 57, After the override block, add a single unconditional echo
that logs the effective CATALOG_INDEX_IMAGE and CHART_VERSION so runs without
overrides still report the resolved values; keep the existing override checks
for MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_IMAGE and
MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION intact, then append an unconditional log
like: echo "Resolved: CATALOG_INDEX_IMAGE=${CATALOG_INDEX_IMAGE}
CHART_VERSION=${CHART_VERSION}" to surface the final values.
🤖 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/redhat-developer/rhdh/ocp/helm/nightly/redhat-developer-rhdh-ocp-helm-nightly-commands.sh`:
- Around line 50-57: After the override block, add a single unconditional echo
that logs the effective CATALOG_INDEX_IMAGE and CHART_VERSION so runs without
overrides still report the resolved values; keep the existing override checks
for MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_IMAGE and
MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION intact, then append an unconditional log
like: echo "Resolved: CATALOG_INDEX_IMAGE=${CATALOG_INDEX_IMAGE}
CHART_VERSION=${CHART_VERSION}" to surface the final values.

In
`@ci-operator/step-registry/redhat-developer/rhdh/osd-gcp/helm/nightly/redhat-developer-rhdh-osd-gcp-helm-nightly-commands.sh`:
- Around line 50-57: The script only echoes CATALOG_INDEX_IMAGE and
CHART_VERSION when override env vars are set, so add an unconditional log of the
final resolved values to aid debugging: after the override blocks that set
CATALOG_INDEX_IMAGE and CHART_VERSION (the blocks that check
MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_IMAGE and
MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION) insert a simple echo that prints the
final CATALOG_INDEX_IMAGE and CHART_VERSION values (e.g., "Resolved:
CATALOG_INDEX_IMAGE=... CHART_VERSION=...") immediately before the test
execution step so both Gangway and non-Gangway runs always emit the resolved
values.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 1784bbc9-d99e-426a-b1d2-8cd9fcc3e3f8

📥 Commits

Reviewing files that changed from the base of the PR and between a3ae70a and fcf3e0d.

📒 Files selected for processing (24)
  • ci-operator/step-registry/redhat-developer/rhdh-plugin-export-overlays/ocp/helm/redhat-developer-rhdh-plugin-export-overlays-ocp-helm-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh-plugin-export-overlays/ocp/helm/redhat-developer-rhdh-plugin-export-overlays-ocp-helm-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh-plugin-export-overlays/send/data-router/redhat-developer-rhdh-plugin-export-overlays-send-data-router-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh-plugin-export-overlays/send/data-router/redhat-developer-rhdh-plugin-export-overlays-send-data-router-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/aks/helm/nightly/redhat-developer-rhdh-aks-helm-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/aks/helm/nightly/redhat-developer-rhdh-aks-helm-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/aks/operator/nightly/redhat-developer-rhdh-aks-operator-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/eks/helm/nightly/redhat-developer-rhdh-eks-helm-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/eks/helm/nightly/redhat-developer-rhdh-eks-helm-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/eks/operator/nightly/redhat-developer-rhdh-eks-operator-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/gke/helm/nightly/redhat-developer-rhdh-gke-helm-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/gke/helm/nightly/redhat-developer-rhdh-gke-helm-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/gke/operator/nightly/redhat-developer-rhdh-gke-operator-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/nightly/redhat-developer-rhdh-ocp-helm-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/nightly/redhat-developer-rhdh-ocp-helm-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/redhat-developer-rhdh-ocp-helm-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/redhat-developer-rhdh-ocp-helm-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/upgrade/nightly/redhat-developer-rhdh-ocp-helm-upgrade-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/upgrade/nightly/redhat-developer-rhdh-ocp-helm-upgrade-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/ocp/operator/nightly/redhat-developer-rhdh-ocp-operator-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/osd-gcp/helm/nightly/redhat-developer-rhdh-osd-gcp-helm-nightly-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/osd-gcp/helm/nightly/redhat-developer-rhdh-osd-gcp-helm-nightly-ref.yaml
  • ci-operator/step-registry/redhat-developer/rhdh/send/data-router/redhat-developer-rhdh-send-data-router-commands.sh
  • ci-operator/step-registry/redhat-developer/rhdh/send/data-router/redhat-developer-rhdh-send-data-router-ref.yaml

@subhashkhileri

Copy link
Copy Markdown
Contributor

/approve
/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 1, 2026
…rade nightly

Adds the export statement after image resolution in
ocp-helm-upgrade-nightly-commands.sh to match the pattern
in ocp-helm-commands.sh for consistency.

Assisted-by: Claude Code
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jun 1, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@zdrapela: 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
pull-ci-redhat-developer-rhdh-plugin-export-overlays-main-e2e-ocp-helm redhat-developer/rhdh-plugin-export-overlays presubmit Registry content changed
pull-ci-redhat-developer-rhdh-plugin-export-overlays-release-1.10-e2e-ocp-helm redhat-developer/rhdh-plugin-export-overlays presubmit Registry content changed
pull-ci-redhat-developer-rhdh-main-e2e-ocp-helm redhat-developer/rhdh presubmit Registry content changed
pull-ci-redhat-developer-rhdh-release-1.10-e2e-ocp-helm redhat-developer/rhdh presubmit Registry content changed
pull-ci-redhat-developer-rhdh-release-1.9-e2e-ocp-helm redhat-developer/rhdh presubmit Registry content changed
pull-ci-redhat-developer-rhdh-release-1.8-e2e-ocp-helm redhat-developer/rhdh presubmit Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-ocp-v4-20-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.10-e2e-osd-gcp-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-main-e2e-ocp-helm-upgrade-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.10-e2e-osd-gcp-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-ocp-v4-21-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-plugin-export-overlays-main-e2e-ocp-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.8-e2e-ocp-v4-19-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.8-e2e-osd-gcp-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-osd-gcp-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-eks-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.10-e2e-gke-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-ocp-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-aks-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-ocp-v4-19-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-main-e2e-ocp-v4-20-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.10-e2e-ocp-v4-20-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.8-e2e-ocp-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-main-e2e-ocp-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-gke-operator-nightly N/A periodic Registry content changed

A total of 68 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.

@zdrapela

zdrapela commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jun 1, 2026
@openshift-ci

openshift-ci Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

@zdrapela: all tests passed!

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.

@subhashkhileri

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 1, 2026
@openshift-ci

openshift-ci Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: subhashkhileri, zdrapela

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-merge-bot openshift-merge-bot Bot merged commit 23b61a0 into openshift:main Jun 1, 2026
11 checks passed
@zdrapela zdrapela changed the title ci: add RHDH catalog index and chart version Gangway overrides RHDH: add RHDH catalog index and chart version Gangway overrides Jun 3, 2026
krisnababu pushed a commit to oharan2/release that referenced this pull request Jul 3, 2026
…hift#79538)

* ci: add RHDH catalog index and chart version Gangway overrides

Add MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_IMAGE and
MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION env vars to all RHDH
nightly/presubmit step registry refs and their data-router post step.

When set via Gangway API, these overrides let callers specify a custom
catalog index image and chart version for on-demand CI runs.
The data-router step skips ReportPortal reporting when any Gangway
override is detected.

Assisted-by: Claude Code

* ci: add RHDH catalog index and chart version Gangway overrides

Extend Gangway API overrides (CATALOG_INDEX_IMAGE, CHART_VERSION,
PLAYWRIGHT_VERSION) to rhdh-plugin-export-overlays step-registry steps
and their data-router reporting step.

Assisted-by: Claude Code

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* ci: add missing export for IMAGE_REPO IMAGE_REGISTRY QUAY_REPO in upgrade nightly

Adds the export statement after image resolution in
ocp-helm-upgrade-nightly-commands.sh to match the pattern
in ocp-helm-commands.sh for consistency.

Assisted-by: Claude Code
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants