Skip to content

CNTRLPLANE-3959: wire apiserver config through ignition server - #9136

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
ricardomaraschini:wire-apiserver-config
Aug 10, 2026
Merged

CNTRLPLANE-3959: wire apiserver config through ignition server#9136
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
ricardomaraschini:wire-apiserver-config

Conversation

@ricardomaraschini

@ricardomaraschini ricardomaraschini commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Ignition server needs to know what is the HostedCluster API Server configuration in order to properly set kubelet and cri-o TLS settings (as per PQC compliance requirement). This PR wires the missing config through the machine-config-server ConfigMap.

Important

For versions >= 4.23.0: We are adding the APIServer config to the globalConfigString. This will, in turn, trigger a rollout across all NodePools on upgrade even if no APIServer config is set (the resulting hash will be different).

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

Summary

  • New Features

    • Hosted control plane machine configuration now includes API server configuration, serialized into the generated ConfigMap.
    • NodePool global configuration generation now incorporates API server configuration.
  • Bug Fixes

    • Fail fast and surface errors when API server configuration reconciliation/serialization fails during config generation.
    • Ensure generated ignition/provisioning inputs copy the full set of required API server and image configuration files.
  • Tests

    • Added unit tests for API server parameter creation and ConfigMap reconciliation.
    • Updated configuration serialization/hash expectations to include API server fields.
    • Added a new unit test for copying Machine Config inputs.

@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 openshift-ci Bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. do-not-merge/needs-area labels Jul 28, 2026
@openshift-ci

openshift-ci Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci Bot added area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release and removed do-not-merge/needs-area labels Jul 28, 2026
@codecov

codecov Bot commented Jul 28, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 51.21951% with 20 lines in your changes missing coverage. Please review.
✅ Project coverage is 45.00%. Comparing base (5b6a3a7) to head (b12b4ca).
⚠️ Report is 84 commits behind head on main.

Files with missing lines Patch % Lines
hypershift-operator/controllers/nodepool/config.go 42.85% 8 Missing and 4 partials ⚠️
...rator/controllers/hostedcontrolplane/mcs/params.go 40.00% 2 Missing and 1 partial ⚠️
...or/controllers/hostedcontrolplane/mcs/reconcile.go 40.00% 2 Missing and 1 partial ⚠️
...ition-server/controllers/local_ignitionprovider.go 80.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9136      +/-   ##
==========================================
+ Coverage   44.94%   45.00%   +0.05%     
==========================================
  Files         778      778              
  Lines       97427    97466      +39     
==========================================
+ Hits        43790    43863      +73     
+ Misses      50616    50565      -51     
- Partials     3021     3038      +17     
Files with missing lines Coverage Δ
...ition-server/controllers/local_ignitionprovider.go 42.87% <80.00%> (+0.65%) ⬆️
...rator/controllers/hostedcontrolplane/mcs/params.go 75.60% <40.00%> (+75.60%) ⬆️
...or/controllers/hostedcontrolplane/mcs/reconcile.go 73.68% <40.00%> (+22.30%) ⬆️
hypershift-operator/controllers/nodepool/config.go 80.72% <42.85%> (-3.26%) ⬇️

... and 1 file with indirect coverage changes

Flag Coverage Δ
cmd-support 38.62% <ø> (ø)
cpo-hostedcontrolplane 47.60% <40.00%> (+0.31%) ⬆️
cpo-other 45.67% <ø> (ø)
hypershift-operator 54.91% <42.85%> (-0.02%) ⬇️
other 34.35% <80.00%> (+0.03%) ⬆️

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.

@coderabbitai

coderabbitai Bot commented Jul 28, 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

The change reconciles API server settings from HostedControlPlane configuration into MCS parameters and serializes them as cluster-apiserver-config.yaml. NodePool global configuration now includes the reconciled API server data in its JSON output and hashes. Local ignition preparation copies the API server and image configuration files into the MCC directory. Tests cover reconciliation, serialization, global configuration expectations, file copying, and the updated secret fixture.

Sequence Diagram(s)

sequenceDiagram
  participant HostedControlPlane
  participant NewMCSParams
  participant ReconcileMachineConfigServerConfig
  participant MCSConfigMap
  participant LocalIgnitionProvider
  participant MCCDirectory
  HostedControlPlane->>NewMCSParams: provide Spec.Configuration
  NewMCSParams->>NewMCSParams: reconcile APIServer configuration
  NewMCSParams->>ReconcileMachineConfigServerConfig: provide APIServer
  ReconcileMachineConfigServerConfig->>MCSConfigMap: write cluster-apiserver-config.yaml
  MCSConfigMap->>LocalIgnitionProvider: provide configuration files
  LocalIgnitionProvider->>MCCDirectory: copy cluster-apiserver-config.yaml and image-config.yaml
Loading

Suggested reviewers: jparrill, sdminonne

🚥 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 No Ginkgo titles were added; the changed tests use static t.Run names and contain no dynamic identifiers.
Test Structure And Quality ✅ Passed PASS: The PR adds isolated table-driven unit tests, not Ginkgo tests; they use temp dirs/fake clients, with no cluster waits or cleanup gaps, and match repo patterns.
Topology-Aware Scheduling Compatibility ✅ Passed Changes only wire API server config into MCS/global hashing and copy files; no new node selectors, affinity, spread, or replica assumptions were added.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the changed tests are unit tests and show no public-internet or IPv6-hostility patterns.
No-Weak-Crypto ✅ Passed Touched code only serializes APIServer/MCS config and copies YAML; no MD5/SHA1/DES/RC4 or secret/token comparisons were added.
Container-Privileges ✅ Passed No changed manifest shows privileged/hostPID/hostNetwork/hostIPC/SYS_ADMIN/allowPrivilegeEscalation/root settings; changes are config plumbing/tests.
No-Sensitive-Data-In-Logs ✅ Passed No new logs expose secrets/PII/internal hostnames; the PR only wires apiserver config through and copies files without logging their contents.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes wiring API server configuration through the ignition server, which is the main change in the pull request.
✨ 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 added the area/hypershift-operator Indicates the PR includes changes for the hypershift operator and API - outside an OCP release label Jul 28, 2026

@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 `@hypershift-operator/controllers/nodepool/config.go`:
- Around line 405-406: Update the APIServer reconciliation flow around
ReconcileAPIServerConfiguration to capture its returned error, wrap and
propagate it before proceeding to encode or hash the configuration, matching the
established error-handling pattern in NewMCSParams.
🪄 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: 2ee9f8d1-4f49-4bae-b3bf-2571b566d276

📥 Commits

Reviewing files that changed from the base of the PR and between 76220f1 and 1d0fa97.

📒 Files selected for processing (4)
  • control-plane-operator/controllers/hostedcontrolplane/mcs/params.go
  • control-plane-operator/controllers/hostedcontrolplane/mcs/reconcile.go
  • hypershift-operator/controllers/nodepool/config.go
  • ignition-server/controllers/local_ignitionprovider.go

Comment thread hypershift-operator/controllers/nodepool/config.go Outdated
@ricardomaraschini
ricardomaraschini force-pushed the wire-apiserver-config branch 2 times, most recently from 26da224 to a219be9 Compare July 30, 2026 09:23
@ricardomaraschini ricardomaraschini changed the title feat: wire apiserver config through ignition server CNTRLPLANE-3959: wire apiserver config through ignition server Jul 30, 2026
@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 30, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 30, 2026

Copy link
Copy Markdown

@ricardomaraschini: This pull request references CNTRLPLANE-3959 which is a valid jira issue.

Details

In response to this:

What this PR does / why we need it:

Ignition server needs to know what is the HostedCluster API Server configuration in order to properly set kubelet and cri-o TLS settings (as per PQC compliance requirement). This PR wires the missing config through the machine-config-server ConfigMap.

[!IMPORTANT]
We are adding the APIServer config to the globalConfigString. This will, in turn, trigger a rollout across all NodePools on upgrade even if no APIServer config is set (the resulting hash will be different).

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

Summary

  • New Features

  • Hosted control plane machine configuration now includes API server configuration and publishes it via the generated ConfigMap.

  • NodePool rollout/global configuration hashing now accounts for API server configuration changes, ensuring rollouts reflect API server updates.

  • Bug Fixes

  • Improves consistency between configured API server settings and the resulting ignition/provisioning inputs.

  • Tests

  • Extended/added unit tests covering API server configuration handling and updated configuration hash expectations.

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 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: 2

🤖 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 `@control-plane-operator/controllers/hostedcontrolplane/mcs/reconcile.go`:
- Around line 40-43: Update the error handling after serialize(p.APIServer) in
the reconciliation flow to wrap the returned error with context identifying that
APIServer serialization failed, while preserving the existing early return
behavior.

In `@hypershift-operator/controllers/nodepool/config_test.go`:
- Line 128: Add a populated APIServer configuration case to the hash-contract
tests around the existing empty APIServer fixture, using a TLS security profile
or audit profile. Assert that the serialized global configuration and computed
hash differ from the empty configuration, covering the NodePool rollout
dependency and preventing regressions.
🪄 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: b2cf2fe1-b78a-4c37-a51c-1a63b952f114

📥 Commits

Reviewing files that changed from the base of the PR and between 26da224 and a219be9.

📒 Files selected for processing (8)
  • control-plane-operator/controllers/hostedcontrolplane/mcs/params.go
  • control-plane-operator/controllers/hostedcontrolplane/mcs/reconcile.go
  • control-plane-operator/controllers/hostedcontrolplane/mcs/reconcile_test.go
  • hypershift-operator/controllers/nodepool/config.go
  • hypershift-operator/controllers/nodepool/config_test.go
  • hypershift-operator/controllers/nodepool/secret_janitor_test.go
  • ignition-server/controllers/local_ignitionprovider.go
  • ignition-server/controllers/local_ignitionprovider_test.go

Comment thread hypershift-operator/controllers/nodepool/config_test.go Outdated
@ricardomaraschini
ricardomaraschini marked this pull request as ready for review July 30, 2026 09:33
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 30, 2026
@openshift-ci
openshift-ci Bot requested review from jparrill and sdminonne July 30, 2026 09:35

@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)
ignition-server/controllers/local_ignitionprovider_test.go (1)

768-771: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Assert copied file contents.

Existence checks pass for empty or stale destination files; compare each destination’s bytes with its source content.

Proposed test improvement
- expectFiles []string
+ expectFiles map[string]string
...
- expectFiles: []string{"cluster-apiserver-config.yaml", "image-config.yaml"},
+ expectFiles: map[string]string{
+     "cluster-apiserver-config.yaml": "apiserver-config",
+     "image-config.yaml":            "image-config",
+ },
...
- for _, f := range tt.expectFiles {
-     _, err := os.Stat(filepath.Join(mccDir, f))
+ for f, expectedContent := range tt.expectFiles {
+     actualContent, err := os.ReadFile(filepath.Join(mccDir, f))
      g.Expect(err).NotTo(HaveOccurred(), "expected file %s to exist in mccDir", f)
+     g.Expect(string(actualContent)).To(Equal(expectedContent))
  }

As per coding guidelines, “Unit test any code changes and additions.”

🤖 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 `@ignition-server/controllers/local_ignitionprovider_test.go` around lines 768
- 771, Enhance the file verification loop in the relevant test by reading each
copied destination file and its corresponding source file, then asserting their
byte contents are equal in addition to checking existence. Reuse the existing
test fixtures and path symbols so the assertion detects empty or stale copies.

Source: Coding guidelines

🤖 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 `@ignition-server/controllers/local_ignitionprovider_test.go`:
- Around line 768-771: Enhance the file verification loop in the relevant test
by reading each copied destination file and its corresponding source file, then
asserting their byte contents are equal in addition to checking existence. Reuse
the existing test fixtures and path symbols so the assertion detects empty or
stale copies.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 3630976d-da93-4426-b065-e6367cc8351e

📥 Commits

Reviewing files that changed from the base of the PR and between a219be9 and 6dafaea.

📒 Files selected for processing (8)
  • control-plane-operator/controllers/hostedcontrolplane/mcs/params.go
  • control-plane-operator/controllers/hostedcontrolplane/mcs/reconcile.go
  • control-plane-operator/controllers/hostedcontrolplane/mcs/reconcile_test.go
  • hypershift-operator/controllers/nodepool/config.go
  • hypershift-operator/controllers/nodepool/config_test.go
  • hypershift-operator/controllers/nodepool/secret_janitor_test.go
  • ignition-server/controllers/local_ignitionprovider.go
  • ignition-server/controllers/local_ignitionprovider_test.go

@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 `@hypershift-operator/controllers/nodepool/config.go`:
- Around line 405-415: Update the global-config hashing flow around
APIServerConfiguration and ReconcileAPIServerConfiguration to append and encode
the API server segment only when hcluster.Spec.Configuration and its APIServer
field are explicitly set. Preserve MCS’s default file generation independently,
and leave the existing reconciliation and encoding behavior unchanged for
configured API server settings.
🪄 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: 54db4e18-0b7c-46b0-bb8d-86dde4d4ecb2

📥 Commits

Reviewing files that changed from the base of the PR and between 6dafaea and 08f32ad.

📒 Files selected for processing (8)
  • control-plane-operator/controllers/hostedcontrolplane/mcs/params.go
  • control-plane-operator/controllers/hostedcontrolplane/mcs/reconcile.go
  • control-plane-operator/controllers/hostedcontrolplane/mcs/reconcile_test.go
  • hypershift-operator/controllers/nodepool/config.go
  • hypershift-operator/controllers/nodepool/config_test.go
  • hypershift-operator/controllers/nodepool/secret_janitor_test.go
  • ignition-server/controllers/local_ignitionprovider.go
  • ignition-server/controllers/local_ignitionprovider_test.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • hypershift-operator/controllers/nodepool/secret_janitor_test.go

Comment thread hypershift-operator/controllers/nodepool/config.go Outdated
@devguyio

devguyio commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

/hold
Since this PR will cause a node rollout, we can't have it merged as-is. We don't merge any PR that causes unconditional rollout. That's a prohibited no-no for ROSA and ARO. Might have to wait until #8698 is merged or figure out another workaround.

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 30, 2026
@ricardomaraschini
ricardomaraschini force-pushed the wire-apiserver-config branch 2 times, most recently from 767f936 to f19c6a3 Compare August 4, 2026 11:18
ignition server needs to know what is the hosted cluster apiserver
config in order to properly set kubelet and cri-o tls settings. we
were not wiring this information.
@kaleemsiddiqu

Copy link
Copy Markdown
Contributor

/verified by @kaleemsiddiqu
Local run of tests with this change went successful.

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

Copy link
Copy Markdown

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

Details

In response to this:

/verified by @kaleemsiddiqu
Local run of tests with this change went successful.

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.

@csrwng

csrwng commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: csrwng, ricardomaraschini

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 Aug 5, 2026
@csrwng

csrwng commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

/verified by @csrwng
Test plan and execution log:
https://gist.github.com/csrwng/c8ba031af2331adf4a7d804c9f705e72

@openshift-ci-robot

Copy link
Copy Markdown

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

Details

In response to this:

/verified by @csrwng
Test plan and execution log:
https://gist.github.com/csrwng/c8ba031af2331adf4a7d804c9f705e72

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.

@kaleemsiddiqu

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 7, 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

@ricardomaraschini

Copy link
Copy Markdown
Contributor Author

/retest

1 similar comment
@kaleemsiddiqu

Copy link
Copy Markdown
Contributor

/retest

@csrwng

csrwng commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

/override ci/prow/e2e-aws-upgrade-hypershift-operator
The node rollout is expected because with this PR we are taking the TLS configuration into consideration when calculating the nodepool config hash (only for NP version >= 5.0/4.23). Nodepools of earlier version do not rollout (verified with manual testing).

@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

@csrwng: Overrode contexts on behalf of csrwng: ci/prow/e2e-aws-upgrade-hypershift-operator

Details

In response to this:

/override ci/prow/e2e-aws-upgrade-hypershift-operator
The node rollout is expected because with this PR we are taking the TLS configuration into consideration when calculating the nodepool config hash (only for NP version >= 5.0/4.23). Nodepools of earlier version do not rollout (verified with manual testing).

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.

@csrwng

csrwng commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

/hold cancel

@openshift-ci openshift-ci Bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 10, 2026
@csrwng

csrwng commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

/override-sticky ci/prow/e2e-aws-upgrade-hypershift-operator

@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

@csrwng: Overrode contexts on behalf of csrwng: ci/prow/e2e-aws-upgrade-hypershift-operator

These overrides will persist across retests on the current HEAD SHA. Pushing a new commit will clear them. Use /override-cancel to remove them.

Details

In response to this:

/override-sticky ci/prow/e2e-aws-upgrade-hypershift-operator

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.

@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

@ricardomaraschini: 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 1e6d2f0 into openshift:main Aug 10, 2026
45 checks passed
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/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 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.

6 participants