OCPBUGS-86415: Use canonical image for kube-apiserver-proxy static pod#8742
OCPBUGS-86415: Use canonical image for kube-apiserver-proxy static pod#8742csrwng wants to merge 1 commit into
Conversation
The RegistryMirrorProviderDecorator rewrites all component image references using --registry-overrides, including the haproxy-router image used for the kube-apiserver-proxy static pod. This rewritten image is embedded in the ignition payload sent to data plane nodes. This is incorrect because data plane nodes run CRI-O on RHCOS, which handles mirroring natively via IDMS/ICSP configured in the ignition payload. The rewritten image may also point to a mirror accessible only from the management cluster, causing pull failures on data plane nodes. Fix: reverse registry overrides on the HAProxy image when it comes from the release payload, so the static pod manifest uses the canonical image reference. CRI-O mirroring on the data plane handles resolution from the correct mirror transparently. To avoid triggering rollouts on existing stable NodePools, the fix is gated behind a new annotation (canonical-data-plane-images) that is set automatically on new NodePools and during version upgrades, when a rollout is already happening. Co-Authored-By: Claude Opus 4.6 <[email protected]>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
Skipping CI for Draft Pull Request. |
|
@csrwng: This pull request references Jira Issue OCPBUGS-86415, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughA new NodePool annotation constant ( 🚥 Pre-merge checks | ✅ 10 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (10 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[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 DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8742 +/- ##
=======================================
Coverage 41.75% 41.76%
=======================================
Files 758 758
Lines 93981 93995 +14
=======================================
+ Hits 39240 39254 +14
Misses 51988 51988
Partials 2753 2753
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
Now I have the complete picture. Let me verify one more detail about the exact files flagged: Test Failure Analysis CompleteJob Information
Test Failure AnalysisErrorSummaryThe verify job runs Root CauseThe root cause is inconsistent Go source formatting (
In both cases, the committed code is not Recommendations
Evidence
|
| nodePoolAnnotationTaints = "hypershift.openshift.io/nodePoolTaints" | ||
| nodePoolAnnotationPlatformMachineTemplate = "hypershift.openshift.io/nodePoolPlatformMachineTemplate" | ||
| nodePoolAnnotationTaints = "hypershift.openshift.io/nodePoolTaints" | ||
| nodePoolAnnotationCanonicalDataPlaneImages = "hypershift.openshift.io/canonical-data-plane-images" |
There was a problem hiding this comment.
can we // doc this annotation? You pr desc seems pretty explanatory "Gate the fix behind a hypershift.openshift.io/canonical-data-plane-images annotation to avoid triggering rollouts on existing stable NodePools. The annotation is set automatically on new NodePools and during version upgrades."
Summary
--registry-overrides. Data plane nodes use CRI-O which handles mirroring natively via IDMS/ICSP, so the canonical image reference should be used.hypershift.openshift.io/canonical-data-plane-imagesannotation to avoid triggering rollouts on existing stable NodePools. The annotation is set automatically on new NodePools and during version upgrades.Test plan
TestResolveHAProxyImage)e2e-aws-upgrade-hypershift-operatorto validate rollout safetyFixes: https://issues.redhat.com/browse/OCPBUGS-86415
🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes