OCPBUGS-35406: Use service CIDRs to determine bootstrap kubelet IP family#8681
Conversation
The bootstrap kubelet needs to pick a node IP of the cluster's primary IP family (to ensure that the bootstrap apiserver will advertise an IP of that family, matching the family of the kubernetes.default service). Previously it was doing this based on the apiVIPs, but those may not be defined in the install-config for UPI. Instead, base it on the service CIDR. (The install-config validation ensures that all of the values that *are* specified agree on the IP families, so this will still pick the same family as the old code did when apiVIPs is specified.)
|
@danwinship: This pull request references Jira Issue OCPBUGS-35406, 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. |
|
@danwinship: GitHub didn't allow me to request PR reviews from the following users: staebler. Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs. 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 kubernetes-sigs/prow repository. |
|
@danwinship: all tests passed! 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. |
|
/assign @patrickdillon |
|
/lgtm For reference, we used similar logic in CEO for this: openshift/cluster-etcd-operator#1012 |
|
/jira refresh |
|
@r4f4: This pull request references Jira Issue OCPBUGS-35406, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
Requesting review from QA contact: 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. |
Likewise, when not using nodeip-configuration, MCO uses the service CIDRs to decide whether to tell kubelet to use IPv4 or IPv6: https://github.com/openshift/machine-config-operator/pull/1381/files |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: patrickdillon 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 |
|
@danwinship: Jira Issue OCPBUGS-35406: All pull requests linked via external trackers have merged: Jira Issue OCPBUGS-35406 has been moved to the MODIFIED state. 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. |
|
[ART PR BUILD NOTIFIER] Distgit: ose-installer-altinfra |
|
[ART PR BUILD NOTIFIER] Distgit: ose-baremetal-installer |
|
[ART PR BUILD NOTIFIER] Distgit: ose-installer-terraform-providers |
|
[ART PR BUILD NOTIFIER] Distgit: ose-installer-artifacts |
#4756 used the apiVIPs to decide whether to make the bootstrap kubelet be prefer-ipv4 or prefer-ipv6, but that won't work if the apiVIPs aren't specified. The validation already ensures that all of the fields that are specified agree about the primary IP family, so we can just switch to using one of the required config values instead of an optional one.
/cc @celebdor @staebler