Skip to content

fix(e2e): temporarily pin catalog index image to 1.10-51 [RHDHBUGS-3095]#157

Merged
rm3l merged 5 commits into
redhat-developer:mainfrom
rm3l:RHDHBUGS-3095--lightspeed-plugins-using-ghcr-instead-of-registry-access-redhat-com-in-dpdy--temp-workaround
May 10, 2026
Merged

fix(e2e): temporarily pin catalog index image to 1.10-51 [RHDHBUGS-3095]#157
rm3l merged 5 commits into
redhat-developer:mainfrom
rm3l:RHDHBUGS-3095--lightspeed-plugins-using-ghcr-instead-of-registry-access-redhat-com-in-dpdy--temp-workaround

Conversation

@rm3l

@rm3l rm3l commented May 7, 2026

Copy link
Copy Markdown
Member

Description

Temporarily pin the RHDH catalog index image to 1.10-51 in all
E2E test deployments as a workaround for RHDHBUGS-3095, where
lightspeed plugins reference ghcr.io instead of
registry.access.redhat.com.

Which issue(s) does this PR fix or relate to

Relates to RHDHBUGS-3095

PR acceptance criteria

  • Tests
  • Documentation

How to test changes / Special notes to the reviewer

@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. Required by Prow. label May 7, 2026
rm3l added 2 commits May 10, 2026 15:50
Temporarily pin the RHDH catalog index image to 1.10-51 in all
E2E test deployments as a workaround for RHDHBUGS-3095, where
lightspeed plugins reference ghcr.io instead of
registry.access.redhat.com.

Pinned in four places: Helm release values, standalone Helm values,
and both operator Backstage CRs (Deployment and StatefulSet).
Each location is marked with a TODO(asoro) for easy removal once
the upstream issue is resolved.

Assisted-by: Claude
…S-3095)

Instead of disabling all default dynamic plugins (includes: []) in every
test, use the default plugins file (dynamic-plugins.default.yaml) for
the standalone Helm and operator tests. Keep includes: [] only in the
Helm release test that expects CreateContainerConfigError, alongside
global.lightspeed.enabled=false to prevent ghcr.io image references
from the lightspeed plugins.

Assisted-by: Claude
@rm3l rm3l force-pushed the RHDHBUGS-3095--lightspeed-plugins-using-ghcr-instead-of-registry-access-redhat-com-in-dpdy--temp-workaround branch from e41763c to 6033188 Compare May 10, 2026 14:00
Comment thread tests/e2e/run-e2e-tests.sh Outdated
Comment thread tests/e2e/run-e2e-tests.sh
rm3l and others added 2 commits May 10, 2026 16:03
The suggestion commit introduced a tab character in a YAML comment
inside a heredoc, causing Helm values parsing to fail with
"found character that cannot start any token".

Assisted-by: Claude
@rm3l rm3l marked this pull request as ready for review May 10, 2026 18:26
@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. Required by Prow. label May 10, 2026
@rhdh-qodo-merge

Copy link
Copy Markdown

Review Summary by Qodo

Fix E2E tests for lightspeed plugin ghcr.io reference issue

🐞 Bug fix

Grey Divider

Walkthroughs

Description
• Pin catalog index image to 1.10-51 across all E2E test deployments
• Use default dynamic plugins instead of disabling all plugins
• Add CATALOG_INDEX_IMAGE environment variable to operator Backstage CRs
• Disable lightspeed plugin in Helm release test to prevent ghcr.io references
Diagram
flowchart LR
  A["E2E Test Deployments"] --> B["Helm Release Test"]
  A --> C["Standalone Helm Test"]
  A --> D["Operator Deployment CR"]
  A --> E["Operator StatefulSet CR"]
  B --> B1["Pin catalog index to 1.10-51"]
  B --> B2["Disable lightspeed plugin"]
  B --> B3["Disable all dynamic plugins"]
  C --> C1["Pin catalog index to 1.10-51"]
  C --> C2["Use default dynamic plugins"]
  D --> D1["Pin catalog index via env var"]
  D --> D2["Use default dynamic plugins"]
  E --> E1["Pin catalog index via env var"]
  E --> E2["Use default dynamic plugins"]
Loading

Grey Divider

File Changes

1. tests/e2e/run-e2e-tests.sh 🐞 Bug fix +37/-13

Pin catalog index and configure dynamic plugins for E2E tests

• Pin RHDH catalog index image to version 1.10-51 in Helm release, standalone Helm, and both
 operator Backstage CRs (Deployment and StatefulSet)
• Replace includes: [] with includes: [dynamic-plugins.default.yaml] in standalone Helm and
 operator tests to use default dynamic plugins
• Add CATALOG_INDEX_IMAGE environment variable to operator Backstage CRs targeting the
 install-dynamic-plugins container
• Disable lightspeed plugin in Helm release test via global.lightspeed.enabled=false to prevent
 ghcr.io image references
• Add TODO comments marking all workaround locations for easy removal once upstream issue is
 resolved

tests/e2e/run-e2e-tests.sh


Grey Divider

Qodo Logo

@rhdh-qodo-merge

rhdh-qodo-merge Bot commented May 10, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0) 📎 Requirement gaps (0)

Context used

Grey Divider


Remediation recommended

1. E2E startup may slow 🐞 Bug ➹ Performance
Description
The script now enables dynamic-plugins.default.yaml for standalone Helm and Operator deployments,
reversing the repo’s documented optimization of using includes: [] to speed startup; this can
increase time spent in init/plugin install and make the existing 600s RHDH_READY_TIMEOUT waits
more failure-prone.
Code

tests/e2e/run-e2e-tests.sh[R509-510]

+    includes:
+      - dynamic-plugins.default.yaml
Evidence
The repo explicitly disables default dynamic plugins for faster startup in test fixtures, but this
PR changes both standalone and Operator paths to include the default plugin set. The script’s
readiness/wait logic uses a fixed 600s timeout; enabling full default plugin installation can
increase time to reach Running (especially due to initContainers).

tests/e2e/run-e2e-tests.sh[367-378]
tests/e2e/run-e2e-tests.sh[498-511]
tests/e2e/run-e2e-tests.sh[93-95]
tests/e2e/run-e2e-tests.sh[417-437]
tests/e2e/run-e2e-tests.sh[572-607]
tests/e2e/testdata/RHDHSUPP-308/helm_template_output.test.yaml[61-71]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
E2E standalone Helm + Operator flows now enable `dynamic-plugins.default.yaml`, which reverses the repo’s stated “speed up startup” approach and can increase time-to-Running under a fixed 600s timeout.

### Issue Context
This PR’s goal is to pin the catalog index image; enabling the entire default plugin set is an additional behavior change that may slow E2E and increase flakiness.

### Fix Focus Areas
- tests/e2e/run-e2e-tests.sh[367-378]
- tests/e2e/run-e2e-tests.sh[498-511]
- tests/e2e/run-e2e-tests.sh[93-95]

### Suggested adjustments
- If only Lightspeed needs validation, keep `includes: []` and explicitly include only the required plugin(s) for the test, rather than `dynamic-plugins.default.yaml`.
- If enabling defaults is intended, increase/parameterize the timeout(s) used for standalone/operator waits to match the expected longer startup time and add a comment explaining why defaults are enabled now.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Advisory comments

2. Outdated operator comment 🐞 Bug ⚙ Maintainability
Description
The Operator setup comment says the ConfigMap disables default dynamic plugins, but the ConfigMap
now includes dynamic-plugins.default.yaml, which does the opposite and can mislead future
debugging/maintenance.
Code

tests/e2e/run-e2e-tests.sh[R498-503]

    # Create ConfigMap to disable default dynamic plugins for faster startup
    DYNAMIC_PLUGINS_CM="dynamic-plugins-config"
-    log_info "Creating dynamic plugins ConfigMap to disable defaults..."
+    log_info "Creating dynamic plugins ConfigMap..."
    for ns in "$NS_OPERATOR" "$NS_STATEFULSET"; do
        kubectl -n "$ns" apply -f - <<EOF
apiVersion: v1
Evidence
The comment still claims defaults are disabled, while the YAML written into the ConfigMap now
includes the default plugin file.

tests/e2e/run-e2e-tests.sh[498-511]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The Operator section comment is now incorrect: it claims the ConfigMap disables default dynamic plugins, but the ConfigMap includes `dynamic-plugins.default.yaml`.

### Issue Context
Misleading comments create operational/debugging risk in E2E scripts.

### Fix Focus Areas
- tests/e2e/run-e2e-tests.sh[498-511]

### Suggested adjustments
- Update the comment to reflect the new behavior (e.g., “Create ConfigMap to include default dynamic plugins” or similar), or revert the ConfigMap content if the original intent was to disable defaults.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

@rm3l rm3l changed the title fix(e2e): pin catalog index image to 1.10-51 [RHDHBUGS-3095] fix(e2e): temporarily pin catalog index image to 1.10-51 [RHDHBUGS-3095] May 10, 2026
@rm3l rm3l merged commit e5c95e4 into redhat-developer:main May 10, 2026
9 checks passed
@rm3l rm3l deleted the RHDHBUGS-3095--lightspeed-plugins-using-ghcr-instead-of-registry-access-redhat-com-in-dpdy--temp-workaround branch May 10, 2026 18:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant