Skip to content

Enable cluster-update-console-plugin image promotion for 5.0#80758

Closed
jhadvig wants to merge 1 commit into
openshift:mainfrom
jhadvig:plugin_release
Closed

Enable cluster-update-console-plugin image promotion for 5.0#80758
jhadvig wants to merge 1 commit into
openshift:mainfrom
jhadvig:plugin_release

Conversation

@jhadvig

@jhadvig jhadvig commented Jun 18, 2026

Copy link
Copy Markdown
Member

The cluster-update-console-plugin image promotion to the ocp/5.0 imagestream is currently disabled. Without promotion, the built image is never published to the release imagestream, so oc adm release new has no real image to include in the release payload.
This causes the console plugin deployment to crash-loop on TechPreview clusters because the image in the release is stale/invalid.

Related:

Summary by CodeRabbit

This PR enables image promotion for the cluster-update-console-plugin in the OpenShift CI infrastructure. The change modifies the CI configuration for the 5.0 release entry by removing the disabled: true flag from the promotion section, activating the promotion mechanism that was previously dormant.

Practical impact: With this change, built cluster-update-console-plugin images will now be automatically promoted to the ocp/5.0 imagestream, making them available for inclusion in release payloads. This resolves the current issue where TechPreview clusters experience console plugin deployment crashes due to unavailable or stale images being referenced in the release.

@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

Removes the disabled: true flag from the 5.0 promotion entry in openshift-cluster-update-console-plugin-release-5.0.yaml, changing that promotion from disabled to active.

Changes

Enable 5.0 Promotion

Layer / File(s) Summary
Remove disabled flag from 5.0 promotion entry
ci-operator/config/openshift/cluster-update-console-plugin/openshift-cluster-update-console-plugin-release-5.0.yaml
disabled: true is removed from the promotion block for name: "5.0", enabling the promotion.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 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 accurately and concisely describes the main change: enabling image promotion for the cluster-update-console-plugin for version 5.0, which matches the file modification.
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 Check not applicable: PR modifies CI/CD YAML configuration files, not Ginkgo test files. No test names or dynamic identifiers in test titles exist.
Test Structure And Quality ✅ Passed This PR modifies only YAML configuration files (openshift-cluster-update-console-plugin-release-5.0.yaml), not Ginkgo test code. The custom check is designed for Ginkgo test quality and is not appl...
Microshift Test Compatibility ✅ Passed This PR modifies CI configuration files only (YAML files in ci-operator/config and ci-operator/jobs directories). No new Ginkgo e2e tests are added, so the MicroShift Test Compatibility check does...
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests are added in this PR; the change is YAML configuration for image promotion only.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies only a CI operator configuration file for image promotion; it does not add or modify deployment manifests, operator code, or controllers with scheduling constraints. The check is not ap...
Ote Binary Stdout Contract ✅ Passed This PR only modifies YAML CI/CD configuration files for image promotion and contains no code changes that would affect binary stdout behavior or OTE contracts.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR does not add any Ginkgo e2e tests (It(), Describe(), Context(), When(), etc.). The change is limited to a CI-operator YAML configuration file, so the IPv6/disconnected network compatibility...
No-Weak-Crypto ✅ Passed PR modifies only CI/CD configuration YAML with no cryptographic code, weak algorithms, or secret comparisons—weak crypto check not applicable.
Container-Privileges ✅ Passed The PR modifies a CI-Operator configuration file (not a Kubernetes manifest or container definition) that enables image promotion. The file contains no container privilege configurations (no privil...
No-Sensitive-Data-In-Logs ✅ Passed The PR modifies only a YAML CI/CD configuration file that specifies image promotion settings. The file contains no logging code, no sensitive data exposure, and no patterns related to passwords, to...

✏️ 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 commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: jhadvig
Once this PR has been reviewed and has the lgtm label, please assign fao89 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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 requested review from DavidHurta and fao89 June 18, 2026 18:51
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@jhadvig: 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-openshift-cluster-update-console-plugin-release-5.0-frontend openshift/cluster-update-console-plugin presubmit Ci-operator config changed
pull-ci-openshift-cluster-update-console-plugin-release-5.0-images openshift/cluster-update-console-plugin presubmit Ci-operator config changed

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.

@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.

Actionable comments posted: 1

🤖 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.

Inline comments:
In
`@ci-operator/config/openshift/cluster-update-console-plugin/openshift-cluster-update-console-plugin-release-5.0.yaml`:
- Around line 7-10: The promotion configuration added to the release-5.0 config
violates the promotion guard validator rule that only main/master configs should
promote to the current release. Remove the promotion block (the lines promoting
to ocp/5.0) from openshift-cluster-update-console-plugin-release-5.0.yaml, as
the openshift-cluster-update-console-plugin-main.yaml config already handles
promotions to ocp/5.0 with disabled=False. If additional promotion configuration
is needed to resolve image availability issues, make those changes in the main
config file instead of the release branch config.
🪄 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: 59eaaed2-2ff7-44fe-ba8c-46454ddc3b75

📥 Commits

Reviewing files that changed from the base of the PR and between 791c4d9 and e92d8e3.

📒 Files selected for processing (1)
  • ci-operator/config/openshift/cluster-update-console-plugin/openshift-cluster-update-console-plugin-release-5.0.yaml

Comment on lines 7 to 10
promotion:
to:
- disabled: true
name: "5.0"
- name: "5.0"
namespace: ocp

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.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check for main/master config that would conflict with this release-5.0 promotion

BASE_DIR="ci-operator/config/openshift/cluster-update-console-plugin"

# Check if main or master config exists
echo "=== Checking for main/master configs ==="
fd -t f 'openshift-cluster-update-console-plugin-(main|master)\.yaml$' "$BASE_DIR"

# If found, check their promotion targets
for config in "$BASE_DIR"/openshift-cluster-update-console-plugin-{main,master}.yaml; do
  if [[ -f "$config" ]]; then
    echo "=== Checking promotion in $(basename "$config") ==="
    # Extract promotion.to[] entries
    python3 -c "
import yaml, sys
with open('$config') as f:
    data = yaml.safe_load(f)
promo = data.get('promotion', {}).get('to', [])
for entry in promo:
    name = entry.get('name', '')
    ns = entry.get('namespace', 'ocp')
    disabled = entry.get('disabled', False)
    print(f'{ns}/{name} (disabled={disabled})')
"
  fi
done

# Run the promotion guard validator
echo "=== Running promotion guard validator ==="
python3 hack/validate-main-promotion-guard.py

Repository: openshift/release

Length of output: 1582


Revert promotion change; it violates the promotion guard validator.

The release-5.0 config cannot promote to ocp/5.0 because the main config already does. The promotion guard validator explicitly forbids this pattern:

ERROR: Main/master must promote to current release only; release-5.0 configs must have promotion disabled.
      main/master -> ocp/5.0, ocp-private/5.0-priv. release-5.0 / openshift-5.0 -> promotion disabled.

The openshift-cluster-update-console-plugin-main.yaml config already promotes to ocp/5.0 with disabled=False. Removing disabled: true from the release-5.0 config violates the rule that only main/master should promote to the current release.

If additional promotion configuration is needed to fix the image availability issue, it should be made in the main config, not in the release branch config.

🤖 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/config/openshift/cluster-update-console-plugin/openshift-cluster-update-console-plugin-release-5.0.yaml`
around lines 7 - 10, The promotion configuration added to the release-5.0 config
violates the promotion guard validator rule that only main/master configs should
promote to the current release. Remove the promotion block (the lines promoting
to ocp/5.0) from openshift-cluster-update-console-plugin-release-5.0.yaml, as
the openshift-cluster-update-console-plugin-main.yaml config already handles
promotions to ocp/5.0 with disabled=False. If additional promotion configuration
is needed to resolve image availability issues, make those changes in the main
config file instead of the release branch config.

@openshift-ci

openshift-ci Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

@jhadvig: The following tests 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/generated-config e92d8e3 link true /test generated-config
ci/prow/ci-operator-config e92d8e3 link true /test ci-operator-config

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.

@jhadvig jhadvig closed this Jun 18, 2026
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