OCPBUGS-86571: templates: pass --dual-stack to nodeip-configuration#6105
OCPBUGS-86571: templates: pass --dual-stack to nodeip-configuration#6105mkowalski wants to merge 1 commit into
Conversation
Pass the new --dual-stack flag to baremetal-runtimecfg's node-ip set command when the cluster is configured as dual-stack (DualStack or DualStackIPv6Primary). This tells nodeip-configuration to wait for both IPv4 and IPv6 addresses before writing the kubelet/crio config. On RHEL 10, IPv4 ACD (Address Conflict Detection) delays IPv4 assignment by ~200ms-3s, causing a race where only IPv6 is seen on dual-stack clusters. The flag is added to all 4 nodeip-configuration service templates: - _base (None/External platforms) - on-prem (BareMetal/OpenStack/oVirt/Nutanix) - kubevirt - vsphere UPI Note: on-prem deployments also auto-detect dual-stack from VIPs, so the flag provides an explicit signal as belt-and-suspenders. Non-on-prem deployments (None/External) have no VIPs, so the flag is required there. Depends on: openshift/baremetal-runtimecfg#391 Signed-off-by: Mateusz Kowalski <mko@redhat.com> Generated-by: OpenClaw (f066dd2) AI-model: claude-opus-4 Signed-off-by: Mateusz Kowalski <mko@redhat.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@mkowalski: This pull request references Jira Issue OCPBUGS-86571, which is valid. 3 validation(s) were run on this bug
Requesting review from QA contact: 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: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (4)
WalkthroughThis pull request adds dual-stack IP family support to the nodeip-configuration systemd service across four template variants. Each template now conditionally includes a ChangesDual-stack flag support in nodeip-configuration service
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 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 NOT APPROVED This pull-request has been approved by: mkowalski The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@mkowalski: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
Summary
Companion PR to openshift/baremetal-runtimecfg#391.
Passes the new
--dual-stackflag tobaremetal-runtimecfg node-ip setwhen the cluster is configured as dual-stack (DualStackorDualStackIPv6Primary). This tellsnodeip-configurationto wait for both IPv4 and IPv6 addresses before writing the kubelet/crio config.Background
On RHEL 10, IPv4 ACD (Address Conflict Detection) is enabled by default, delaying IPv4 address assignment by ~200ms-3s. This creates a race condition on dual-stack clusters where
nodeip-configuration.servicesees only IPv6 and writes an IPv6-only config.The baremetal-runtimecfg fix (#391) adds dual-stack awareness to
getSuitableIPs():--dual-stackflag (covers non-VIP platforms like None/External)Changes
Added
--dual-stackflag to all 4nodeip-configurationservice templates:_base/units/nodeip-configuration.service.yamlon-prem/units/nodeip-configuration.service.yamlkubevirt/units/nodeip-configuration.service.yamlvsphere/units/nodeip-configuration-vsphere-upi.service.yamlThe flag is conditionally passed using the same
.IPFamiliestemplate variable already used for--prefer-ipv6:Note: On-prem deployments also auto-detect dual-stack from VIPs, so the flag is belt-and-suspenders there. Non-on-prem deployments (None/External) have no VIPs, so the flag is essential.
Dependencies
--dual-stackflag tonode-ip set)Fixes: https://issues.redhat.com/browse/OCPBUGS-86571
🤖 This PR was created by OpenClaw on behalf of @mkowalski.
Summary by CodeRabbit
Bug Fixes