Skip to content

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

Draft
zdrapela wants to merge 1 commit into
openshift:mainfrom
zdrapela:feature/rhdh-catalog-index-gangway-overrides
Draft

ci: add RHDH catalog index and chart version Gangway overrides#79538
zdrapela wants to merge 1 commit into
openshift:mainfrom
zdrapela:feature/rhdh-catalog-index-gangway-overrides

Conversation

@zdrapela
Copy link
Copy Markdown
Contributor

@zdrapela zdrapela commented May 20, 2026

Summary

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

This enables RC and GA verification via trigger-nightly-job.sh:

--catalog-index-registry registry.access.redhat.com
--catalog-index-repo rhdh/plugin-catalog-index
--catalog-index-tag 1.9.4
--chart-version 1.9-227-CI

Changes

  • 7 helm commands.sh (+ 4 operator symlinks): Add variable init, export, and override blocks for CATALOG_INDEX_REGISTRY, CATALOG_INDEX_REPO, CATALOG_INDEX_TAG, CHART_VERSION
  • 11 core ref.yaml: Declare 4 new MULTISTAGE_PARAM_OVERRIDE_* env vars
  • 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 4 new env vars

Companion PR

RHDH E2E Test Infrastructure: Gangway API Overrides for Catalog Index and Chart Version

This PR extends the OpenShift CI configuration for Red Hat Developer Hub (RHDH) nightly E2E test jobs to support overriding catalog index coordinates and Helm chart versions via the Gangway API.

Changes Made

Test Step Configuration Files (7 helm commands.sh + symlinked operator variants)

  • Updated helm and operator test step scripts across all cloud platforms (AKS, EKS, GKE, OCP, OSD-GCP) to initialize and export four new environment variables:
    • CATALOG_INDEX_REGISTRY (defaults to empty)
    • CATALOG_INDEX_REPO (defaults to empty)
    • CATALOG_INDEX_TAG (defaults to empty)
    • CHART_VERSION (defaults to empty)
  • Each script now includes a "Gangway API Overrides" section that detects and applies corresponding MULTISTAGE_PARAM_OVERRIDE_* environment variables when provided, allowing dynamic overrides at job trigger time.

Step Registry Manifests (11 ref.yaml files)

  • Extended all relevant RHDH nightly test step definitions (helm and operator variants across cloud platforms) to declare the four new environment variables with empty string defaults and documentation describing their override behavior and default derivations.

Data Router Infrastructure

  • Updated send/data-router/commands.sh to include the new override variables in the OVERRIDE_VARS array, enabling the existing override detection logic to skip Data Router reporting when Gangway-triggered overrides are active.
  • Updated send/data-router/ref.yaml to declare the four new environment variables as available parameters.

Practical Impact

The changes enable users running nightly RHDH E2E tests to override the plugin catalog index image coordinates (registry/repo/tag) and Helm chart version at job trigger time via Gangway, without requiring hardcoded defaults in the test infrastructure. This supports the companion feature in redhat-developer/rhdh#4860 for dynamic catalog index resolution with fallback defaults, allowing for more flexible testing across different catalog versions and container registries.

Add Gangway API override support for catalog index image coordinates
(CATALOG_INDEX_REGISTRY, CATALOG_INDEX_REPO, CATALOG_INDEX_TAG) and
Helm chart version (CHART_VERSION) to all RHDH E2E test steps.

This enables RC and GA verification via trigger-nightly-job.sh:
  --catalog-index-registry registry.access.redhat.com
  --catalog-index-repo rhdh/plugin-catalog-index
  --catalog-index-tag 1.9.4
  --chart-version 1.9-227-CI

Changes:
- 7 helm commands.sh + 4 operator symlinks: add variable init, export,
  and override blocks for the 4 new MULTISTAGE_PARAM_OVERRIDE_* vars
- 11 core ref.yaml: declare the 4 new env vars with defaults
- data-router commands.sh: add new vars to OVERRIDE_VARS array
  (skips reporting on Gangway-triggered runs)
- data-router ref.yaml: declare the 4 new env vars

Companion PR: redhat-developer/rhdh (dynamic catalog index resolution
from RELEASE_BRANCH_NAME with fallback defaults).

Assisted-by: OpenCode
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 20, 2026

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 the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 20, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 20, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: 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-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 20, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

Walkthrough

This PR systematically adds configurable catalog index and chart version override support across the Red Hat Developer Helm and Operator nightly CI steps for multiple cloud platforms (AKS, EKS, GKE, OCP, OSD-GCP). Each shell script is extended to initialize, export, and conditionally override four new configuration variables based on Gangway API parameters. Corresponding CI step definitions are updated to declare these override parameters, and the data-router is updated to recognize them as override signals.

Changes

Catalog Index and Chart Version Override Support Across CI Platforms

Layer / File(s) Summary
Shell scripts - Variable initialization and export
ci-operator/step-registry/redhat-developer/rhdh/*/helm/nightly/*-commands.sh, ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/*-commands.sh
Shell scripts initialize CATALOG_INDEX_REGISTRY, CATALOG_INDEX_REPO, CATALOG_INDEX_TAG, and CHART_VERSION with empty defaults and add them to the export statement for all AKS, EKS, GKE, OCP, and OSD-GCP Helm nightly and OCP helm steps.
Shell scripts - Catalog override handler logic
ci-operator/step-registry/redhat-developer/rhdh/*/helm/nightly/*-commands.sh, ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/*-commands.sh
All shell scripts extend the "Gangway API Overrides" section to conditionally set and log each catalog variable from corresponding MULTISTAGE_PARAM_OVERRIDE_* environment variables when present.
CI configuration - Catalog override parameter definitions
ci-operator/step-registry/redhat-developer/rhdh/*/helm/nightly/*-ref.yaml, ci-operator/step-registry/redhat-developer/rhdh/*/operator/nightly/*-ref.yaml, ci-operator/step-registry/redhat-developer/rhdh/ocp/helm/*-ref.yaml, ci-operator/step-registry/redhat-developer/rhdh/send/data-router/*-ref.yaml
All CI step registry YAML files define the MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_REGISTRY, MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_REPO, MULTISTAGE_PARAM_OVERRIDE_CATALOG_INDEX_TAG, and MULTISTAGE_PARAM_OVERRIDE_CHART_VERSION environment variables with empty-string defaults and documentation describing the override targets.
Data router override recognition
ci-operator/step-registry/redhat-developer/rhdh/send/data-router/redhat-developer-rhdh-send-data-router-commands.sh
Data router adds the four new catalog override variables to its OVERRIDE_VARS array so the presence of these overrides is recognized as a skip-reporting signal.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

lgtm, rehearsals-ack

Suggested reviewers

  • subhashkhileri
  • jrichter1
  • josephca
🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 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 override support for RHDH catalog index coordinates and chart version across 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 only CI/CD configuration files (shell scripts and YAML files), no Ginkgo test files. The custom check for stable test names is not applicable.
Test Structure And Quality ✅ Passed This PR contains no Ginkgo test code—it only modifies CI/CD operator infrastructure (shell scripts and YAML configs). The custom check is not applicable to this PR.
Microshift Test Compatibility ✅ Passed PR modifies CI/CD infrastructure files (.sh and .yaml configs), not Ginkgo e2e tests. Check applies only to new Ginkgo test definitions, which are absent here.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR adds no Ginkgo e2e tests—only CI operator step registry configuration files and shell scripts for environment variable setup.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies only CI/CD infrastructure files (ref.yaml and commands.sh), not deployment manifests, operator code, or controllers. No scheduling constraints added.
Ote Binary Stdout Contract ✅ Passed The PR modifies CI/CD orchestration scripts in ci-operator/step-registry, not OTE test binaries. The check only applies to OTE binary source code, which is not present in these changes.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR does not add new Ginkgo e2e tests—only modifies CI operator config (YAML) and shell scripts. Custom check is not applicable.

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

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

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Trivy (0.69.3)

Trivy execution timed out


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

@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-main-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
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.10-e2e-ocp-helm redhat-developer/rhdh presubmit Registry content changed
periodic-ci-redhat-developer-rhdh-main-e2e-ocp-v4-21-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-main-e2e-osd-gcp-helm-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-osd-gcp-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.10-e2e-gke-helm-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.8-e2e-ocp-v4-20-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-aks-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.8-e2e-ocp-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.8-e2e-ocp-operator-auth-providers-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.10-e2e-ocp-operator-auth-providers-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-release-1.9-e2e-ocp-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-main-e2e-gke-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-osd-gcp-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-ocp-helm-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-main-e2e-osd-gcp-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.8-e2e-osd-gcp-operator-nightly N/A periodic Registry content changed
periodic-ci-redhat-developer-rhdh-release-1.9-e2e-ocp-operator-auth-providers-nightly N/A periodic Registry content changed

A total of 64 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
Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals.

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.

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.

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

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. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant