Skip to content

CNTRLPLANE-3843: [release-4.22] feat: ho,cpo,hcco: expose console URL#9056

Open
csrwng wants to merge 2 commits into
openshift:release-4.22from
csrwng:backport-9008-release-4.22
Open

CNTRLPLANE-3843: [release-4.22] feat: ho,cpo,hcco: expose console URL#9056
csrwng wants to merge 2 commits into
openshift:release-4.22from
csrwng:backport-9008-release-4.22

Conversation

@csrwng

@csrwng csrwng commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Backport of #9008 to release-4.22.

  • Expose the console URL in HostedCluster and HostedControlPlane status by reading it from the guest cluster's console configuration
  • Add ConfigOperatorReconciliationSucceeded and ValidHostedClusterStatus conditions
  • Include hcpstatus controller in the allControllers list so it actually starts

Conflict resolution notes

  • reconcile_legacy.go does not exist on release-4.22 (controller was not yet split); the equivalent changes (ConsoleURL propagation, ValidHostedClusterStatus condition) are applied directly in hostedcluster_controller.go
  • test/e2e/v2/tests/hosted_cluster_health_test.go does not exist on release-4.22 (v2 test framework not present on this branch); dropped from backport
  • Version gates in test/e2e/util/util.go adjusted from Version423/Version424 to Version422 since the feature is being introduced in 4.22
  • Version constants Version50, Version424, Version423 not needed on this branch

🤖 Generated with Claude Code

stevekuznetsov and others added 2 commits July 22, 2026 16:34
Service operators would like to expose the console URL to users, and
users control how the console URL actually gets routed by changing
config in the cluster, so we need to read it from the cluster for the
correct source of truth.

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
hcpstatus.Setup was removed from controllerFuncs because its
constructor now needs capabilities, but allControllers() builds
its list by iterating controllerFuncs. This meant the hcpstatus
controller name was never in o.Controllers, making the special-case
in the Run loop unreachable and the controller never started.

Signed-off-by: Cesar Wong <cewong@redhat.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@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 the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 22, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 22, 2026

Copy link
Copy Markdown

@csrwng: This pull request references CNTRLPLANE-3843 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target either version "4.22." or "openshift-4.22.", but it targets "5.0.0" instead.

Details

In response to this:

Summary

Backport of #9008 to release-4.22.

  • Expose the console URL in HostedCluster and HostedControlPlane status by reading it from the guest cluster's console configuration
  • Add ConfigOperatorReconciliationSucceeded and ValidHostedClusterStatus conditions
  • Include hcpstatus controller in the allControllers list so it actually starts

Conflict resolution notes

  • reconcile_legacy.go does not exist on release-4.22 (controller was not yet split); the equivalent changes (ConsoleURL propagation, ValidHostedClusterStatus condition) are applied directly in hostedcluster_controller.go
  • test/e2e/v2/tests/hosted_cluster_health_test.go does not exist on release-4.22 (v2 test framework not present on this branch); dropped from backport
  • Version gates in test/e2e/util/util.go adjusted from Version423/Version424 to Version422 since the feature is being introduced in 4.22
  • Version constants Version50, Version424, Version423 not needed on this branch

🤖 Generated with Claude Code

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

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 09d751b1-f754-4021-95e9-68db99be5758

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci
openshift-ci Bot requested review from devguyio and jparrill July 22, 2026 14:39
@openshift-ci openshift-ci Bot added the area/api Indicates the PR includes changes for the API label Jul 22, 2026
@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: csrwng

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 area/cli Indicates the PR includes changes for CLI approved Indicates a PR has been approved by an approver from all required OWNERS files. 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/testing Indicates the PR includes changes for e2e testing and removed do-not-merge/needs-area labels Jul 22, 2026
@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

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

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/cli Indicates the PR includes changes for CLI 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/testing Indicates the PR includes changes for e2e testing 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