Skip to content

fix(ci): disable operator-injected lightspeed plugins to fix {{inherit}} resolution#4791

Open
gustavolira wants to merge 2 commits into
redhat-developer:mainfrom
gustavolira:worktree-fix-lightspeed-inherit
Open

fix(ci): disable operator-injected lightspeed plugins to fix {{inherit}} resolution#4791
gustavolira wants to merge 2 commits into
redhat-developer:mainfrom
gustavolira:worktree-fix-lightspeed-inherit

Conversation

@gustavolira
Copy link
Copy Markdown
Member

Summary

  • The RHDH operator's lightspeed flavor (enabledByDefault: true) injects lightspeed plugins from registry.access.redhat.com with {{inherit}}
  • The catalog index (quay.io/rhdh/plugin-catalog-index:1.10) only provides lightspeed from ghcr.io, not registry.access.redhat.com
  • {{inherit}} cannot resolve, causing InstallException in all operator deployments (OCP, OSD-GCP, AKS, EKS, GKE)
  • Added disabled: true entries for both lightspeed plugins in values_showcase.yaml and values_showcase-rbac.yaml to override the operator flavor defaults

Root Cause

The operator merges its built-in flavor plugins with the user's ConfigMap, giving priority to user entries. Without explicit disabled: true entries in the values files, the operator-injected lightspeed plugins (from registry.access.redhat.com) attempt {{inherit}} resolution against the catalog index, which only contains lightspeed from ghcr.io. The URL prefix mismatch causes the resolution to fail.

Fix

Add disabled: true entries in the base values files so the operator merge picks them up and prevents {{inherit}} resolution for these plugins. The entries are harmless for Helm deployments (filtered out by pre_merge_oci_disabled_state before any version resolution).

Test plan

  • Verify periodic-ci-redhat-developer-rhdh-main-e2e-osd-gcp-operator-nightly passes
  • Verify other operator nightly jobs are not affected negatively
  • Verify Helm nightly jobs continue to pass (entries are harmless for Helm)

🤖 Generated with Claude Code

…t}} resolution

The RHDH operator's lightspeed flavor (enabledByDefault: true) injects
lightspeed plugins from registry.access.redhat.com with {{inherit}}.
The catalog index only provides lightspeed from ghcr.io, so {{inherit}}
cannot resolve, causing InstallException in operator deployments.

Add disabled: true entries for both lightspeed plugins in values_showcase
and values_showcase-rbac. The operator merge gives priority to user
ConfigMap, so these override the flavor defaults and prevent the error.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rhdh-qodo-merge
Copy link
Copy Markdown

rhdh-qodo-merge Bot commented May 11, 2026

Code Review by Qodo

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

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

@gustavolira
Copy link
Copy Markdown
Member Author

/test ?

@gustavolira
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@rhdh-qodo-merge
Copy link
Copy Markdown

Review Summary by Qodo

Disable operator-injected lightspeed plugins to fix {{inherit}} resolution

🐞 Bug fix

Grey Divider

Walkthroughs

Description
• Disable operator-injected lightspeed plugins to prevent {{inherit}} resolution failures
• Add disabled entries for lightspeed plugins from registry.access.redhat.com
• Override RHDH operator flavor defaults in showcase value files
• Prevent InstallException errors in operator deployments (OCP, OSD-GCP, AKS, EKS, GKE)
Diagram
flowchart LR
  A["RHDH Operator<br/>lightspeed flavor<br/>enabledByDefault"] -->|injects plugins| B["registry.access.redhat.com<br/>lightspeed plugins<br/>with {{inherit}}"]
  C["Catalog Index<br/>only has ghcr.io<br/>lightspeed"] -->|cannot resolve| B
  B -->|causes| D["InstallException<br/>in deployments"]
  E["values files<br/>disabled: true entries"] -->|override| A
  E -->|prevent| D
Loading

Grey Divider

File Changes

1. .ci/pipelines/value_files/values_showcase-rbac.yaml 🐞 Bug fix +8/-0

Disable lightspeed plugins in RBAC showcase values

• Added two disabled lightspeed plugin entries from registry.access.redhat.com
• Added explanatory comments about operator-injected plugins and catalog index mismatch
• Entries override RHDH operator flavor defaults to prevent {{inherit}} resolution failures

.ci/pipelines/value_files/values_showcase-rbac.yaml


2. .ci/pipelines/value_files/values_showcase.yaml 🐞 Bug fix +8/-0

Disable lightspeed plugins in showcase values

• Added two disabled lightspeed plugin entries from registry.access.redhat.com
• Added explanatory comments about operator-injected plugins and catalog index mismatch
• Entries override RHDH operator flavor defaults to prevent {{inherit}} resolution failures

.ci/pipelines/value_files/values_showcase.yaml


Grey Divider

Qodo Logo

@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 11, 2026

@gustavolira: 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/prow/e2e-ocp-operator-nightly 8aa5ece link false /test e2e-ocp-operator-nightly

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.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.49%. Comparing base (b4b7910) to head (8aa5ece).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #4791       +/-   ##
===========================================
+ Coverage   40.88%   69.49%   +28.60%     
===========================================
  Files         119      109       -10     
  Lines        2228     4710     +2482     
  Branches      562      537       -25     
===========================================
+ Hits          911     3273     +2362     
- Misses       1311     1437      +126     
+ Partials        6        0        -6     
Flag Coverage Δ
install-dynamic-plugins 92.44% <ø> (?)
rhdh 38.65% <ø> (-2.24%) ⬇️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b4b7910...8aa5ece. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…eployment

The showcase-runtime namespace was deployed without a dynamic-plugins
ConfigMap, so the operator used only its built-in defaults (including
lightspeed with {{inherit}}). This caused install-dynamic-plugins to
fail with exit code 1, breaking all external database (Azure/RDS) tests.

Add config::create_dynamic_plugins_config call for the runtime namespace
and reference the ConfigMap in rhdh-start-runtime.yaml via
dynamicPluginsConfigMapName, matching the pattern of other operator CRs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gustavolira
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant