Skip to content

OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift - #8958

Merged
openshift-merge-bot[bot] merged 2 commits into
openshift:mainfrom
dhgautam99:remove-redhat-marketplace-catalog
Aug 12, 2026
Merged

OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift#8958
openshift-merge-bot[bot] merged 2 commits into
openshift:mainfrom
dhgautam99:remove-redhat-marketplace-catalog

Conversation

@dhgautam99

@dhgautam99 dhgautam99 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Permanently removes the redhat-marketplace OLM catalog from the HyperShift codebase. This includes:

  • Removing the RedHatMarketplaceCatalogImageAnnotation API constant and its propagation
  • Deleting the v2 component assets (deployment.yaml, service.yaml)
  • Removing from CPOv2 catalogs component registration
  • Removing from HCCO guest-side CatalogSource reconciliation (manifest, params, reconciler, resources)
  • Removing from NO_PROXY lists in catalog-operator, olm-operator, and packageserver
  • Updating catalog image override validation (3 default catalogs instead of 4)
  • Removing from E2E test workload registry and crash tolerations
  • Deleting test fixtures and regenerating imagestream golden files
  • Removing the references of redhat-marketplace from upstream docs

Which issue(s) this PR fixes:

Fixes OCPBUGS-96908

Special notes for your reviewer:

Documentation updates (docs/) are not included in this PR and will be handled separately.

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

Summary by CodeRabbit

  • Documentation
    • Updated guidance and examples to remove the Marketplace catalog reference from OLM catalog image override annotations and related “OLM Catalogs”/pod/restart component listings.
  • Bug Fixes
    • Removed Marketplace catalog support across HostedCluster/control-plane OLM flows, including catalog source objects and the corresponding catalog deployments/services, annotations propagation, and catalog image override validation.
    • Updated proxy NO_PROXY handling to exempt only the remaining supported operator catalogs.
  • Tests
    • Updated unit and end-to-end expectations (workload listings, crash tolerations, and catalog/component counts) to reflect the reduced catalog lineup (3).

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci-robot openshift-ci-robot added jira/severity-low Referenced Jira bug's severity is low for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. labels Jul 8, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@dhgautam99: This pull request references Jira Issue OCPBUGS-96908, 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 ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)

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

Details

In response to this:

What this PR does / why we need it:

Permanently removes the redhat-marketplace OLM catalog from the HyperShift codebase. This includes:

  • Removing the RedHatMarketplaceCatalogImageAnnotation API constant and its propagation
  • Deleting the v2 component assets (deployment.yaml, service.yaml)
  • Removing from CPOv2 catalogs component registration
  • Removing from HCCO guest-side CatalogSource reconciliation (manifest, params, reconciler, resources)
  • Removing from NO_PROXY lists in catalog-operator, olm-operator, and packageserver
  • Updating catalog image override validation (3 default catalogs instead of 4)
  • Removing from E2E test workload registry and crash tolerations
  • Deleting test fixtures and regenerating imagestream golden files

Which issue(s) this PR fixes:

Fixes https://redhat.atlassian.net/browse/OCPBUGS-96908

Special notes for your reviewer:

Documentation updates (docs/) are not included in this PR and will be handled separately.

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

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-robot openshift-ci-robot added the jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. label Jul 8, 2026
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR removes Red Hat Marketplace catalog references from the hosted cluster API, OLM catalog wiring, deployment NO_PROXY settings, catalog image override and lookup logic, e2e workload/test expectations, and related documentation. It deletes the marketplace annotation and params field, removes the marketplace catalog source and reconciler, updates catalog override validation to three catalogs, and adjusts tests and workload lists to match the remaining catalog set.

🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 passed)
Check name Status Explanation
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 All changed test titles are static table-driven strings; no dynamic values or generated identifiers appear in titles.
Test Structure And Quality ✅ Passed Modified tests are table-driven unit tests or read-only e2e checks; no new missing-timeout waits, cleanup gaps, or mixed-responsibility It blocks were introduced.
Topology-Aware Scheduling Compatibility ✅ Passed Touched files only remove the redhat-marketplace catalog and trim NO_PROXY lists; no new nodeSelector, affinity, spread, or replica logic was added.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PASS: The e2e changes only remove redhat-marketplace workload entries/tolerations; I found no new Ginkgo specs, IPv4-only IP handling, or public-internet dependencies.
No-Weak-Crypto ✅ Passed Exact weak-crypto search found no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB usage in the PR files; edited sections only remove catalog entries and NO_PROXY items.
Container-Privileges ✅ Passed No changed manifest or generated code adds privileged:true, hostPID/Network/IPC, SYS_ADMIN, or allowPrivilegeEscalation; searches found none.
No-Sensitive-Data-In-Logs ✅ Passed The commit only removes redhat-marketplace references from docs; no logging code or log messages were added or modified.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: removing the Red Hat Marketplace catalog from HyperShift.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci openshift-ci Bot added the area/api Indicates the PR includes changes for the API label Jul 8, 2026
@openshift-ci
openshift-ci Bot requested review from devguyio and enxebre July 8, 2026 09:04
@openshift-ci openshift-ci Bot added area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release area/hypershift-operator Indicates the PR includes changes for the hypershift operator and API - outside an OCP release area/testing Indicates the PR includes changes for e2e testing and removed do-not-merge/needs-area labels Jul 8, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@dhgautam99: This pull request references Jira Issue OCPBUGS-96908, 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:

What this PR does / why we need it:

Permanently removes the redhat-marketplace OLM catalog from the HyperShift codebase. This includes:

  • Removing the RedHatMarketplaceCatalogImageAnnotation API constant and its propagation
  • Deleting the v2 component assets (deployment.yaml, service.yaml)
  • Removing from CPOv2 catalogs component registration
  • Removing from HCCO guest-side CatalogSource reconciliation (manifest, params, reconciler, resources)
  • Removing from NO_PROXY lists in catalog-operator, olm-operator, and packageserver
  • Updating catalog image override validation (3 default catalogs instead of 4)
  • Removing from E2E test workload registry and crash tolerations
  • Deleting test fixtures and regenerating imagestream golden files

Which issue(s) this PR fixes:

Fixes https://redhat.atlassian.net/browse/OCPBUGS-96908

Special notes for your reviewer:

Documentation updates (docs/) are not included in this PR and will be handled separately.

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

Summary by CodeRabbit

  • Bug Fixes
  • Removed Red Hat Marketplace catalog support from control plane OLM components.
  • Updated proxy bypass settings and related behavior to use the remaining operator catalogs only.
  • Hosted cluster annotations and catalog image overrides now apply to the current supported catalog set.
  • End-to-end checks and workload expectations were updated to match the new catalog lineup.

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.

@dhgautam99
dhgautam99 force-pushed the remove-redhat-marketplace-catalog branch from 57473c1 to 54cfdc5 Compare July 8, 2026 09:05
@codecov

codecov Bot commented Jul 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 66.66667% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 45.04%. Comparing base (a26a7a4) to head (1fa8063).
⚠️ Report is 29 commits behind head on main.

Files with missing lines Patch % Lines
...ostedcontrolplane/hostedcontrolplane_controller.go 57.14% 4 Missing and 2 partials ⚠️
...rconfigoperator/controllers/resources/resources.go 66.66% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #8958   +/-   ##
=======================================
  Coverage   45.03%   45.04%           
=======================================
  Files         780      780           
  Lines       97623    97627    +4     
=======================================
+ Hits        43969    43974    +5     
+ Misses      50626    50622    -4     
- Partials     3028     3031    +3     
Files with missing lines Coverage Δ
...controlplane/v2/olm/catalog_operator/deployment.go 100.00% <100.00%> (ø)
...rs/hostedcontrolplane/v2/olm/catalogs/component.go 85.00% <ø> (-1.67%) ⬇️
...s/hostedcontrolplane/v2/olm/catalogs/deployment.go 39.53% <100.00%> (-0.70%) ⬇️
...stedcontrolplane/v2/olm/olm_operator/deployment.go 100.00% <100.00%> (ø)
...tedcontrolplane/v2/olm/packageserver/deployment.go 100.00% <100.00%> (ø)
...figoperator/controllers/resources/manifests/olm.go 0.00% <ø> (ø)
...nfigoperator/controllers/resources/olm/catalogs.go 0.00% <ø> (ø)
...configoperator/controllers/resources/olm/params.go 0.00% <ø> (ø)
support/catalogs/images.go 78.41% <ø> (-0.31%) ⬇️
...rconfigoperator/controllers/resources/resources.go 57.55% <66.66%> (+0.01%) ⬆️
... and 1 more
Flag Coverage Δ
cmd-support 38.77% <ø> (-0.01%) ⬇️
cpo-hostedcontrolplane 47.23% <66.66%> (-0.02%) ⬇️
cpo-other 45.93% <66.66%> (+0.04%) ⬆️
hypershift-operator 55.00% <ø> (ø)
other 34.32% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dhgautam99
dhgautam99 force-pushed the remove-redhat-marketplace-catalog branch 2 times, most recently from 7e32689 to ecd4c4f Compare July 8, 2026 10:19
@dhgautam99
dhgautam99 marked this pull request as draft July 8, 2026 10:24
@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 Jul 8, 2026
@dhgautam99
dhgautam99 marked this pull request as ready for review July 8, 2026 10:36
@openshift-ci openshift-ci Bot added area/documentation Indicates the PR includes changes for documentation area/platform/none PR/issue for None (NonePlatform) platform - user-supplied infrastructure and removed do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. labels Jul 8, 2026
@openshift-ci
openshift-ci Bot requested a review from csrwng July 8, 2026 10:36

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

🧹 Nitpick comments (1)
docs/content/how-to/disconnected/idms-icsp-for-management-clusters.md (1)

141-143: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Prefer “will not be created” here.

is not going to be created is wordier than needed in this doc sentence.

Suggested wording
- In this case the imageStream is not going to be created, and it will be up to the guest cluster owner updating the value of the annotations when the internal mirror will get refreshed to pull in operator updates.
+ In this case the imageStream will not be created, and it will be up to the guest cluster owner to update the annotation values when the internal mirror is refreshed to pull in operator updates.
🤖 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 `@docs/content/how-to/disconnected/idms-icsp-for-management-clusters.md` around
lines 141 - 143, The HostedCluster documentation sentence uses overly wordy
phrasing for the imagestream behavior. In the paragraph describing the OLM
catalog override annotations, update the wording around the imageStream creation
in the HostedCluster CR explanation to use “will not be created” instead of “is
not going to be created,” while keeping the meaning unchanged and preserving the
references to the three hypershift.openshift.io/*-operators-catalog-image
annotations.

Source: Linters/SAST tools

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

Nitpick comments:
In `@docs/content/how-to/disconnected/idms-icsp-for-management-clusters.md`:
- Around line 141-143: The HostedCluster documentation sentence uses overly
wordy phrasing for the imagestream behavior. In the paragraph describing the OLM
catalog override annotations, update the wording around the imageStream creation
in the HostedCluster CR explanation to use “will not be created” instead of “is
not going to be created,” while keeping the meaning unchanged and preserving the
references to the three hypershift.openshift.io/*-operators-catalog-image
annotations.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 4736149a-4f3c-41b8-9508-96f055ea354d

📥 Commits

Reviewing files that changed from the base of the PR and between ecd4c4f and 7a3bbc9.

⛔ Files ignored due to path filters (1)
  • docs/content/reference/aggregated-docs.md is excluded by !docs/content/reference/aggregated-docs.md
📒 Files selected for processing (4)
  • docs/content/how-to/agent/create-agent-cluster.md
  • docs/content/how-to/disconnected/idms-icsp-for-management-clusters.md
  • docs/content/how-to/none/create-none-cluster.md
  • docs/content/how-to/restart-control-plane-components.md
💤 Files with no reviewable changes (3)
  • docs/content/how-to/restart-control-plane-components.md
  • docs/content/how-to/agent/create-agent-cluster.md
  • docs/content/how-to/none/create-none-cluster.md

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

Review of the redhat-marketplace catalog removal. The CPO-side changes look correct since the CPO is version-specific, but there are concerns around the HO (multi-version), upgrade cleanup, and E2E test compatibility.

// If used, all of them should be set at the same time referring images only by digest (`...@sha256:<id>`).
// This will disable the imagestream used to keep the catalog images up to date.
CertifiedOperatorsCatalogImageAnnotation = "hypershift.openshift.io/certified-operators-catalog-image"
CommunityOperatorsCatalogImageAnnotation = "hypershift.openshift.io/community-operators-catalog-image"

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.

We should not remove the annotation because the HyperShift operator can work with hosted clusters of older OCP versions that do still have this catalog (catalog was removed in 4.22). Also the validation that requires all override annotations should be relaxed, since for newer OCP (4.22+), only the remaining 3 catalogs need to be overridden.

{manifest: manifests.CertifiedOperatorsCatalogSource, reconcile: olm.ReconcileCertifiedOperatorsCatalogSource},
{manifest: manifests.CommunityOperatorsCatalogSource, reconcile: olm.ReconcileCommunityOperatorsCatalogSource},
{manifest: manifests.RedHatMarketplaceCatalogSource, reconcile: olm.ReconcileRedHatMarketplaceCatalogSource},
{manifest: manifests.RedHatOperatorsCatalogSource, reconcile: olm.ReconcileRedHatOperatorsCatalogSource},

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.

The old redhat-marketplace CatalogSource in openshift-marketplace on the guest cluster needs explicit deletion during upgrade. The reconcile loop only manages catalogs it knows about — removing the entry here leaves the old CatalogSource orphaned.

hyperv1.TopologyAnnotation,
hyperv1.DisableMachineManagement,
hyperv1.CertifiedOperatorsCatalogImageAnnotation,
hyperv1.CommunityOperatorsCatalogImageAnnotation,

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.

The management-plane Deployment, Service, and ControlPlaneComponent CR for redhat-marketplace-catalog need explicit cleanup on upgrade, similar to cleanupOldKonnectivityServerDeployment and friends.

"olm.catalogSource": "redhat-marketplace",
},
},
{

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.

The E2E test infrastructure runs against all supported OCP versions, not just 4.22+. Unconditionally removing redhat-marketplace-catalog from the workload registry means tests against older OCP versions (where the marketplace catalog still exists) will either fail or silently skip checking that workload. This removal needs to be conditioned on the OCP version.

@dhgautam99
dhgautam99 force-pushed the remove-redhat-marketplace-catalog branch from 7a3bbc9 to 7c6b543 Compare July 14, 2026 14:10
@hypershift-jira-solve-ci

Copy link
Copy Markdown
Contributor

Test Failure Analysis Complete

Job Information

  • Prow Job: test / Unit Tests (cpo-other)
  • Build ID: 29339674722 / job 87108682367
  • PR: OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift #8958 (OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift)
  • Branch: remove-redhat-marketplace-catalog (dhgautam99/hypershift)
  • Commit: 7c6b543
  • Failed Test: TestReconcileErrorHandling in github.com/openshift/hypershift/control-plane-operator/hostedclusterconfigoperator/controllers/resources

Test Failure Analysis

Error

resources_test.go:241: Unexpected number of creates: 79/105 with errors 27
FAIL	github.com/openshift/hypershift/control-plane-operator/hostedclusterconfigoperator/controllers/resources	14.054s

Summary

The PR removes the redhat-marketplace CatalogSource from the OLM reconciliation loop and adds a cleanup DeleteIfNeeded call to garbage-collect the now-deprecated resource. However, DeleteIfNeeded internally calls client.Get() — a Get that has no corresponding client.Create(). The TestReconcileErrorHandling test assumes a strict 1:1 mapping between Get and Create calls: every random Get error should prevent exactly one Create. The new cleanup Get violates this invariant, causing the create-count equation (totalCreates - getErrorCount == createCount) to be off by exactly 1 whenever the random error injector hits the deprecated redhat-marketplace CatalogSource Get.

Root Cause

The test TestReconcileErrorHandling works by:

  1. Running a baseline reconcile to count total client.Create calls (totalCreates = 105).
  2. Running 100 reconcile iterations with random client.Get errors injected (1-in-3 chance) for any object not in the initialObjects list.
  3. Asserting the invariant: totalCreates - getErrorCount == createCount — i.e., every failed Get prevents exactly one Create.

The PR adds this cleanup code to reconcileOLM() in resources.go:

// Cleanup: delete the deprecated redhat-marketplace CatalogSource
deprecatedMarketplaceCatalog := &operatorsv1alpha1.CatalogSource{
    ObjectMeta: metav1.ObjectMeta{
        Name:      "redhat-marketplace",
        Namespace: "openshift-marketplace",
    },
}
if _, err := k8sutil.DeleteIfNeeded(ctx, r.client, deprecatedMarketplaceCatalog); err != nil {
    errs = append(errs, ...)
}

DeleteIfNeeded (in support/k8sutil/object.go) calls client.Get() to check if the object exists before deleting. This Get goes through the testClient wrapper which randomly injects errors. Since redhat-marketplace is not in the initialObjects list, the random error injector can hit it. When it does:

  • getErrorCount increments by 1 (the injected Get error)
  • But createCount does not decrease by 1, because DeleteIfNeeded never calls client.Create

This breaks the invariant: 105 - 27 = 78, but createCount = 79. The equation is off by exactly 1 — the orphan Get from DeleteIfNeeded.

Recommendations

Add the deprecated redhat-marketplace CatalogSource to the initialObjects slice in resources_test.go so it is exempt from random Get error injection. This is exactly the pattern the test documents in its comments (lines 164-167):

"To prevent false positives in this test, any object for which the reconcile loop makes a client get call without a corresponding client create call must be included in the list of initial objects. Error injection is suppressed for the initial objects."

Add to initialObjects in resources_test.go (around line 118):

// Exempt the deprecated redhat-marketplace CatalogSource from random Get errors.
// DeleteIfNeeded does a Get without a corresponding Create.
&operatorsv1alpha1.CatalogSource{
    ObjectMeta: metav1.ObjectMeta{
        Name:      "redhat-marketplace",
        Namespace: "openshift-marketplace",
    },
},

This ensures the cleanup Get is never randomly errored, preserving the test's 1:1 Get-to-Create invariant. No other test changes are needed.

Evidence
Evidence Detail
Failed assertion resources_test.go:241Unexpected number of creates: 79/105 with errors 27 (105 − 27 = 78 ≠ 79, off by exactly 1)
New Get-without-Create resources.go:2443-2451k8sutil.DeleteIfNeeded(ctx, r.client, deprecatedMarketplaceCatalog) calls client.Get() with no client.Create()
DeleteIfNeeded internals support/k8sutil/object.go:42-60DeleteIfNeededWithOptions calls c.Get() then c.Delete(), never c.Create()
Test invariant resources_test.go:240totalCreates - fakeClient.getErrorCount != fakeClient.createCount
Error injection resources_test.go:129-136testClient.Get() injects errors for objects not in initialObjects
Missing from initialObjects redhat-marketplace CatalogSource in openshift-marketplace namespace is not listed in initialObjects (lines 78-118)
Test documentation resources_test.go:164-167 — explicitly states objects with Get-without-Create must be in initialObjects

@openshift-ci openshift-ci Bot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed lgtm Indicates that a PR is ready to be merged. labels Aug 10, 2026
@dhgautam99
dhgautam99 force-pushed the remove-redhat-marketplace-catalog branch from 53971e8 to 7478c29 Compare August 10, 2026 06:38
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 10, 2026
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-8958 August 10, 2026 06:44 Inactive
…HyperShift

The redhat-marketplace catalog is no longer needed. This commit removes
all references to the redhat-marketplace OLM catalog across the codebase:

- Remove RedHatMarketplaceCatalogImageAnnotation API constant
- Delete v2 component assets (deployment.yaml, service.yaml)
- Remove from CPOv2 catalogs component registration
- Remove from HCCO guest-side CatalogSource reconciliation
- Remove from NO_PROXY lists in catalog-operator, olm-operator, packageserver
- Update catalog image override validation (3 default catalogs instead of 4)
- Remove from E2E test workload registry and crash tolerations
- Delete test fixtures and regenerate imagestream golden files
- Update vendor copy
…ation

Remove redhat-marketplace-catalog from example pod listings, component
lists, and annotation references across HyperShift documentation.
@muraee

muraee commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 10, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aks-4-22
/test e2e-aws-4-22
/test e2e-aks
/test e2e-aws
/test e2e-aws-upgrade-hypershift-operator
/test e2e-kubevirt-aws-ovn-reduced
/test e2e-v2-aws
/test e2e-v2-azure-self-managed
/test e2e-v2-gke

@dhgautam99

Copy link
Copy Markdown
Contributor Author

/test e2e-aks

@TwoDCube

Copy link
Copy Markdown
Member

/retest-required

1 similar comment
@TwoDCube

Copy link
Copy Markdown
Member

/retest-required

@vismishr

Copy link
Copy Markdown
Contributor

/verified by @vismishr

Verified with CPO image quay.io/dgautam/remove-redhat-marketplace-catalog:v1.
Full report: https://vismishr.github.io/ocpbugs-96908-verification.html

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Aug 12, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@vismishr: This PR has been marked as verified by @vismishr.

Details

In response to this:

/verified by @vismishr

Verified with CPO image quay.io/dgautam/remove-redhat-marketplace-catalog:v1.
Full report: https://vismishr.github.io/ocpbugs-96908-verification.html

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.

@dhgautam99

Copy link
Copy Markdown
Contributor Author

/test security

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 52557a1 and 2 for PR HEAD 1fa8063 in total

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 488ab43 and 1 for PR HEAD 1fa8063 in total

@openshift-ci

openshift-ci Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

@dhgautam99: all tests passed!

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.

@openshift-merge-bot
openshift-merge-bot Bot merged commit 7927588 into openshift:main Aug 12, 2026
46 checks passed
@openshift-ci-robot

Copy link
Copy Markdown

@dhgautam99: Jira Issue Verification Checks: Jira Issue OCPBUGS-96908
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-96908 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

Details

In response to this:

What this PR does / why we need it:

Permanently removes the redhat-marketplace OLM catalog from the HyperShift codebase. This includes:

  • Removing the RedHatMarketplaceCatalogImageAnnotation API constant and its propagation
  • Deleting the v2 component assets (deployment.yaml, service.yaml)
  • Removing from CPOv2 catalogs component registration
  • Removing from HCCO guest-side CatalogSource reconciliation (manifest, params, reconciler, resources)
  • Removing from NO_PROXY lists in catalog-operator, olm-operator, and packageserver
  • Updating catalog image override validation (3 default catalogs instead of 4)
  • Removing from E2E test workload registry and crash tolerations
  • Deleting test fixtures and regenerating imagestream golden files
  • Removing the references of redhat-marketplace from upstream docs

Which issue(s) this PR fixes:

Fixes OCPBUGS-96908

Special notes for your reviewer:

Documentation updates (docs/) are not included in this PR and will be handled separately.

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

Summary by CodeRabbit

  • Documentation
  • Updated guidance and examples to remove the Marketplace catalog reference from OLM catalog image override annotations and related “OLM Catalogs”/pod/restart component listings.
  • Bug Fixes
  • Removed Marketplace catalog support across HostedCluster/control-plane OLM flows, including catalog source objects and the corresponding catalog deployments/services, annotations propagation, and catalog image override validation.
  • Updated proxy NO_PROXY handling to exempt only the remaining supported operator catalogs.
  • Tests
  • Updated unit and end-to-end expectations (workload listings, crash tolerations, and catalog/component counts) to reflect the reduced catalog lineup (3).

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-cherrypick-robot

Copy link
Copy Markdown

@muraee: #8958 failed to apply on top of branch "release-4.22":

Applying: refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift
Using index info to reconstruct a base tree...
M	control-plane-operator/controllers/hostedcontrolplane/hostedcontrolplane_controller.go
A	control-plane-operator/controllers/hostedcontrolplane/testdata/redhat-operators-catalog/ModernTLS/zz_fixture_TestControlPlaneComponents_catalogs_imagestream.yaml
M	control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalog_operator/deployment.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalog_operator/deployment_test.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/component_test.go
M	control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/deployment.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/deployment_test.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/component_test.go
M	control-plane-operator/controllers/hostedcontrolplane/v2/olm/olm_operator/deployment.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/olm_operator/deployment_test.go
M	control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/deployment.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/deployment_test.go
M	control-plane-operator/hostedclusterconfigoperator/controllers/resources/resources.go
M	control-plane-operator/hostedclusterconfigoperator/controllers/resources/resources_test.go
M	support/catalogs/images_test.go
M	test/e2e/v2/internal/workload_registry.go
M	test/e2e/v2/tests/control_plane_workloads_test.go
Falling back to patching base and 3-way merge...
Auto-merging control-plane-operator/controllers/hostedcontrolplane/hostedcontrolplane_controller.go
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/testdata/redhat-operators-catalog/ModernTLS/zz_fixture_TestControlPlaneComponents_catalogs_imagestream.yaml deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/testdata/redhat-operators-catalog/ModernTLS/zz_fixture_TestControlPlaneComponents_catalogs_imagestream.yaml left in tree.
Auto-merging control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalog_operator/deployment.go
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalog_operator/deployment_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalog_operator/deployment_test.go left in tree.
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/component_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/component_test.go left in tree.
Auto-merging control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/deployment.go
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/deployment_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/deployment_test.go left in tree.
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/component_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/component_test.go left in tree.
Auto-merging control-plane-operator/controllers/hostedcontrolplane/v2/olm/olm_operator/deployment.go
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/olm_operator/deployment_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/olm_operator/deployment_test.go left in tree.
Auto-merging control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/deployment.go
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/deployment_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/deployment_test.go left in tree.
Auto-merging control-plane-operator/hostedclusterconfigoperator/controllers/resources/resources.go
Auto-merging control-plane-operator/hostedclusterconfigoperator/controllers/resources/resources_test.go
Auto-merging support/catalogs/images_test.go
Auto-merging test/e2e/v2/internal/workload_registry.go
CONFLICT (content): Merge conflict in test/e2e/v2/internal/workload_registry.go
Auto-merging test/e2e/v2/tests/control_plane_workloads_test.go
CONFLICT (content): Merge conflict in test/e2e/v2/tests/control_plane_workloads_test.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift

Details

In response to this:

/cherry-pick release-4.22

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.

@dhgautam99

Copy link
Copy Markdown
Contributor Author

/jira backport release-4.22

@openshift-ci-robot

Copy link
Copy Markdown

@dhgautam99: The following backport issues have been created:

Queuing cherrypicks to the requested branches to be created after this PR merges:
/cherrypick release-4.22

Details

In response to this:

/jira backport release-4.22

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-cherrypick-robot

Copy link
Copy Markdown

@openshift-ci-robot: #8958 failed to apply on top of branch "release-4.22":

Applying: refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift
Using index info to reconstruct a base tree...
M	control-plane-operator/controllers/hostedcontrolplane/hostedcontrolplane_controller.go
A	control-plane-operator/controllers/hostedcontrolplane/testdata/redhat-operators-catalog/ModernTLS/zz_fixture_TestControlPlaneComponents_catalogs_imagestream.yaml
M	control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalog_operator/deployment.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalog_operator/deployment_test.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/component_test.go
M	control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/deployment.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/deployment_test.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/component_test.go
M	control-plane-operator/controllers/hostedcontrolplane/v2/olm/olm_operator/deployment.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/olm_operator/deployment_test.go
M	control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/deployment.go
A	control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/deployment_test.go
M	control-plane-operator/hostedclusterconfigoperator/controllers/resources/resources.go
M	control-plane-operator/hostedclusterconfigoperator/controllers/resources/resources_test.go
M	support/catalogs/images_test.go
M	test/e2e/v2/internal/workload_registry.go
M	test/e2e/v2/tests/control_plane_workloads_test.go
Falling back to patching base and 3-way merge...
Auto-merging control-plane-operator/controllers/hostedcontrolplane/hostedcontrolplane_controller.go
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/testdata/redhat-operators-catalog/ModernTLS/zz_fixture_TestControlPlaneComponents_catalogs_imagestream.yaml deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/testdata/redhat-operators-catalog/ModernTLS/zz_fixture_TestControlPlaneComponents_catalogs_imagestream.yaml left in tree.
Auto-merging control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalog_operator/deployment.go
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalog_operator/deployment_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalog_operator/deployment_test.go left in tree.
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/component_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/component_test.go left in tree.
Auto-merging control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/deployment.go
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/deployment_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/catalogs/deployment_test.go left in tree.
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/component_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/component_test.go left in tree.
Auto-merging control-plane-operator/controllers/hostedcontrolplane/v2/olm/olm_operator/deployment.go
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/olm_operator/deployment_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/olm_operator/deployment_test.go left in tree.
Auto-merging control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/deployment.go
CONFLICT (modify/delete): control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/deployment_test.go deleted in HEAD and modified in refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift.  Version refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift of control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/deployment_test.go left in tree.
Auto-merging control-plane-operator/hostedclusterconfigoperator/controllers/resources/resources.go
Auto-merging control-plane-operator/hostedclusterconfigoperator/controllers/resources/resources_test.go
Auto-merging support/catalogs/images_test.go
Auto-merging test/e2e/v2/internal/workload_registry.go
CONFLICT (content): Merge conflict in test/e2e/v2/internal/workload_registry.go
Auto-merging test/e2e/v2/tests/control_plane_workloads_test.go
CONFLICT (content): Merge conflict in test/e2e/v2/tests/control_plane_workloads_test.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 refactor(olm): OCPBUGS-96908: remove redhat-marketplace catalog from HyperShift

Details

In response to this:

@dhgautam99: The following backport issues have been created:

Queuing cherrypicks to the requested branches to be created after this PR merges:
/cherrypick release-4.22

In response to this:

/jira backport release-4.22

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.

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.

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. area/api Indicates the PR includes changes for the API area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release area/documentation Indicates the PR includes changes for documentation area/hypershift-operator Indicates the PR includes changes for the hypershift operator and API - outside an OCP release area/platform/none PR/issue for None (NonePlatform) platform - user-supplied infrastructure area/testing Indicates the PR includes changes for e2e testing jira/severity-low Referenced Jira bug's severity is low 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. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants