Skip to content

OCPBUGS-85828: Update catalogs for 4.23/5.0#734

Open
tmshort wants to merge 1 commit into
openshift:mainfrom
tmshort:update-catalog-tag
Open

OCPBUGS-85828: Update catalogs for 4.23/5.0#734
tmshort wants to merge 1 commit into
openshift:mainfrom
tmshort:update-catalog-tag

Conversation

@tmshort
Copy link
Copy Markdown
Contributor

@tmshort tmshort commented May 21, 2026

Set catalog image tags to ocp-release and update the default-catalog-consistency
test to resolve that imagestream tag to a concrete version (e.g. v4.22) by querying
the cluster's ClusterVersion resource via oc/kubectl. Falls back to skipping when
the cluster is not accessible.

Fixes: OCPBUGS-85828

Summary by CodeRabbit

  • Chores

    • Operator catalog references switched from a fixed v4.22 tag to the moving ocp-release tag so catalogs track the current OCP release stream.
  • Tests

    • Validation tests enhanced to resolve ocp-release to a concrete cluster catalog version when available, skip checks for unresolved release-tagged images, and improve test logging to stderr.

@openshift-ci-robot openshift-ci-robot added jira/severity-critical Referenced Jira bug's severity is critical for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels May 21, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@tmshort: This pull request references Jira Issue OCPBUGS-85828, which is invalid:

  • expected the bug to target only the "5.0.0" version, but multiple target versions were set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Fixes: OCPBUGS-85828

Set to ocp-release so that the catalogs can be set to the release version.

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 openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 21, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 5762dfad-59ad-4542-b192-1f6b3afdc983

📥 Commits

Reviewing files that changed from the base of the PR and between b3db3f1 and 6312355.

📒 Files selected for processing (5)
  • openshift/catalogd/manifests-experimental.yaml
  • openshift/catalogd/manifests.yaml
  • openshift/default-catalog-consistency/test/utils/utils.go
  • openshift/default-catalog-consistency/test/validate/suite_test.go
  • openshift/helm/catalogd.yaml
🚧 Files skipped from review as they are similar to previous changes (4)
  • openshift/default-catalog-consistency/test/validate/suite_test.go
  • openshift/default-catalog-consistency/test/utils/utils.go
  • openshift/catalogd/manifests-experimental.yaml
  • openshift/catalogd/manifests.yaml

Walkthrough

ClusterCatalog image refs and the Helm chart option were changed from v4.22 to ocp-release. Tests gained a helper to resolve :ocp-release to a concrete v<major>.<minor> tag and the test suite rewrites or skips :ocp-release images accordingly.

Changes

Catalogd Configuration and Manifests

Layer / File(s) Summary
ClusterCatalogs (manifests.yaml)
openshift/catalogd/manifests.yaml
Updated spec.source.image.ref for openshift-certified-operators, openshift-community-operators, and openshift-redhat-operators from v4.22 to ocp-release.
ClusterCatalogs (manifests-experimental.yaml)
openshift/catalogd/manifests-experimental.yaml
Updated the same three ClusterCatalog image refs from v4.22 to ocp-release in the experimental manifests.
Helm chart option
openshift/helm/catalogd.yaml
Changed options.catalogd.version from v4.22 to ocp-release.
Test utility
openshift/default-catalog-consistency/test/utils/utils.go
Added ClusterCatalogVersion() which shells out to oc (fallback kubectl) to read .status.desired.version and return v<major>.<minor> or an empty string.
Test suite handling
openshift/default-catalog-consistency/test/validate/suite_test.go
Resolve :ocp-release image refs using ClusterCatalogVersion() before validation; skip images still ending with :ocp-release when resolution is unavailable.

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels: lgtm


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 2 warnings, 1 inconclusive)

Check name Status Explanation Resolution
Stable And Deterministic Test Names ❌ Error Test names at lines 56 and 69 in suite_test.go use fmt.Sprintf with image names derived from manifest files, making them overly specific and subject to change during development. Use static test names like 'validates multiarch support for catalog images' and move specific image names to test bodies or By() statements.
Test Structure And Quality ⚠️ Warning Tests fail quality requirements: missing timeouts on context.Background() for image operations, four assertions lack failure messages, second test combines unpack+validation. Add context timeouts, add failure messages to assertions, split second test case into separate tests, move setup logic to BeforeEach.
Ipv6 And Disconnected Network Test Compatibility ⚠️ Warning Tests require external connectivity to public registries (registry.redhat.io), which will fail in IPv6-only disconnected CI environments. Add [Skipped:Disconnected] to test names or refactor tests to use cluster-internal registries/images. Recommend using /payload-job periodic-ci-openshift-release-master-nightly-4.22-e2e-metal-ipi-ovn-ipv6 to verify.
Title check ❓ Inconclusive The title references a Jira issue (OCPBUGS-85828) but does not clearly summarize the actual technical changes—it mentions version numbers (4.23/5.0) without specifying what is being updated or why. Consider a more descriptive title that clarifies the primary change, such as 'Update catalog image tags to use ocp-release' or 'Switch catalogs from v4.22 to ocp-release tags'.
✅ Passed checks (11 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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.
Microshift Test Compatibility ✅ Passed No NEW Ginkgo e2e tests added—only existing tests modified with a helper function. Check requires new test additions.
Single Node Openshift (Sno) Test Compatibility ✅ Passed New Ginkgo tests validate container image manifests only. They make no assumptions about cluster topology, node count, scheduling, or multi-node infrastructure requirements and will work on SNO.
Topology-Aware Scheduling Compatibility ✅ Passed PR changes image tags and test code only. No new scheduling constraints (nodeSelector, affinity, topology spread) are introduced. Existing deployment scheduling was pre-existing.
Ote Binary Stdout Contract ✅ Passed PR fixes a pre-existing OTE stdout contract violation: changed fmt.Println to fmt.Fprintf(os.Stderr) in suite-setup code. All new fmt.Fprintf calls explicitly write to os.Stderr, not stdout.
No-Weak-Crypto ✅ Passed PR contains no weak cryptographic patterns, custom crypto implementations, or insecure token comparisons. Changes are version tag updates and utility functions for version string parsing.
Container-Privileges ✅ Passed PR modifies catalog image tags and test code only. Container manifests have secure settings: allowPrivilegeEscalation false, no elevated capabilities, runAsNonRoot true.
No-Sensitive-Data-In-Logs ✅ Passed PR improves security by removing authPath logging. Changed from printing authPath to only printing a message string; version numbers logged are non-sensitive.
✨ 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-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels May 21, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@tmshort: This pull request references Jira Issue OCPBUGS-85828, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
Details

In response to this:

Fixes: OCPBUGS-85828

Set to ocp-release so that the catalogs can be set to the release version.

Summary by CodeRabbit

  • Chores
  • Updated catalog deployment version configuration settings

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot requested review from camilamacedo86 and fgiudici May 21, 2026 18:06
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 21, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: tmshort

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 21, 2026
@tmshort tmshort force-pushed the update-catalog-tag branch from 1441769 to bd8cc25 Compare May 21, 2026 20:06
@openshift-ci-robot
Copy link
Copy Markdown

@tmshort: This pull request references Jira Issue OCPBUGS-85828, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)
Details

In response to this:

Fixes: OCPBUGS-85828

Set to ocp-release so that the catalogs can be set to the release version.

Summary by CodeRabbit

  • Chores
  • Updated operator catalog references to use the moving release tag instead of a fixed v4.22 tag.
  • Catalogs will now follow the current OCP release image stream for operator indices, ensuring catalog content stays aligned with the release.

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 openshift-eng/jira-lifecycle-plugin repository.

@tmshort
Copy link
Copy Markdown
Contributor Author

tmshort commented May 26, 2026

/retest

@camilamacedo86
Copy link
Copy Markdown
Contributor

Hi @tmshort the default catalog tests uses the images from here so will fail see:

https://github.com/openshift/operator-framework-operator-controller/blob/main/openshift/default-catalog-consistency/test/utils/utils.go#L20-L49

@tmshort
Copy link
Copy Markdown
Contributor Author

tmshort commented May 27, 2026

Hi @tmshort the default catalog tests uses the images from here so will fail see:

https://github.com/openshift/operator-framework-operator-controller/blob/main/openshift/default-catalog-consistency/test/utils/utils.go#L20-L49

@camilamacedo86:

I expected CI to fail (because those catalogs are not available yet), but did not consider the default-cartalog-consistency tests. Thanks.

@tmshort tmshort force-pushed the update-catalog-tag branch from bd8cc25 to b3db3f1 Compare May 27, 2026 18:51
Copy link
Copy Markdown

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

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 `@openshift/default-catalog-consistency/test/validate/suite_test.go`:
- Around line 33-39: The suite setup currently uses fmt.Println in the var _ =
Describe initialization (see utils.ClusterCatalogVersion and the images loop)
which emits non-JSON stdout and leaks REGISTRY_AUTH_FILE; replace those
fmt.Println calls with GinkgoWriter (or fmt.Fprintln(os.Stderr, ...)) so output
goes to test logs/stderr instead of stdout, and remove or redact printing of the
REGISTRY_AUTH_FILE value (e.g., log that an auth file is configured without
printing the path). Ensure changes are applied where ClusterCatalogVersion() is
handled and in the second print near the REGISTRY_AUTH_FILE usage so no non-JSON
stdout is emitted during suite init.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 3b56e87e-9ee0-49e3-a5c1-a73d44857a2c

📥 Commits

Reviewing files that changed from the base of the PR and between bd8cc25 and b3db3f1.

📒 Files selected for processing (5)
  • openshift/catalogd/manifests-experimental.yaml
  • openshift/catalogd/manifests.yaml
  • openshift/default-catalog-consistency/test/utils/utils.go
  • openshift/default-catalog-consistency/test/validate/suite_test.go
  • openshift/helm/catalogd.yaml
✅ Files skipped from review due to trivial changes (1)
  • openshift/helm/catalogd.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
  • openshift/catalogd/manifests-experimental.yaml
  • openshift/catalogd/manifests.yaml

Comment thread openshift/default-catalog-consistency/test/validate/suite_test.go
Set catalog image tags to ocp-release and update the default-catalog-consistency
test to resolve that imagestream tag to a concrete version (e.g. v4.22) by querying
the cluster's ClusterVersion resource via oc/kubectl. Falls back to skipping when
the cluster is not accessible.

Fixes: OCPBUGS-85828

Assisted-by: Claude
Signed-off-by: Todd Short <tshort@redhat.com>
@tmshort tmshort force-pushed the update-catalog-tag branch from b3db3f1 to 6312355 Compare May 27, 2026 19:14
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. jira/severity-critical Referenced Jira bug's severity is critical for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants