-
Notifications
You must be signed in to change notification settings - Fork 401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug 1881057: ignore the IPv6DualStack feature gate for the kubelet config #2108
Bug 1881057: ignore the IPv6DualStack feature gate for the kubelet config #2108
Conversation
To install a dual-stack cluster you must set the IPv6DualStack feature gate at install time. MCO currently does not process feature gates provided as install-time manifests and will generate a Degraded cluster. As it happens, kubelet does not use the IPv6DualStack feature gate unless you are using dockershim, so to work around this problem for now, just ignore that feature gate when generating the kubelet config, so that the "real" generated config will match the config expected by the bootstrap code.
@danwinship: An error was encountered adding this pull request to the external tracker bugs for bug 1881057 on the Bugzilla server at https://bugzilla.redhat.com:
In 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/test-infra repository. |
@danwinship: This pull request references Bugzilla bug 1881057, which is valid. 3 validation(s) were run on this bug
In 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/test-infra repository. |
Hmm...so the feature gate isn't implemented in crio? Or is it more we're "abusing" the kubelet config flag in other places in the platform - i.e. are there operators that are reading this flag in the platform right now? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tentative approval
AFAIK crio doesn't know about feature gates, and doesn't treat "dual stack" as a configurable option; if the CNI plugin returns dual-stack IPs to crio then crio returns dual-stack IPs to kubelet. (And kubelet likewise will just set dual-stack IPs on the Pod if it gets dual-stack IPs from crio.)
No, nothing else is looking at kubelet's config. The issue is that OCP only lets you specify a single set of feature gates which then gets used by every component that cares about feature gates. So we can't enable |
With this PR, machine-config becomes Available and not Degraded. |
/retest |
#2108 (comment) |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cgwalters, danwinship The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/retest Please review the full test history for this PR and help us cut down flakes. |
2 similar comments
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
@danwinship: The following test failed, say
Full PR test history. Your PR dashboard. 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/test-infra repository. I understand the commands that are listed here. |
/retest Please review the full test history for this PR and help us cut down flakes. |
@danwinship: All pull requests linked via external trackers have merged: Bugzilla bug 1881057 has been moved to the MODIFIED state. In 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/test-infra repository. |
To install a dual-stack cluster you must set the IPv6DualStack feature gate at install time. MCO currently does not process feature gates provided as install-time manifests and so the bootstrap configs will not match the post-install configs and the operator will become Degraded because the masters are stuck unable to move to the expected config.
As it happens, kubelet does not use the IPv6DualStack feature gate unless you are using dockershim, so to work around this problem for now, just ignore that feature gate when generating the kubelet config, so that the "real" generated config will match the config expected by the bootstrap code.
(Not yet tested, but I think this will fix things in 4.6, and then it can be reverted and fixed correctly in 4.7, since kubelet will need the feature gate then.)