-
Notifications
You must be signed in to change notification settings - Fork 38.7k
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
Fix etcd connect for join --control-plane #71360
Fix etcd connect for join --control-plane #71360
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: fabriziopandini 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 |
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.
thanks for the quick fix @fabriziopandini
added one comment
oldManifest := false | ||
klog.V(1).Infoln("checking etcd manifest") | ||
|
||
etcdManifestFile := constants.GetStaticPodFilepath(constants.Etcd, constants.GetStaticPodDirectory()) | ||
etcdPod, err := staticpod.ReadStaticPodFromDisk(etcdManifestFile) | ||
if err != nil { | ||
return nil, errors.Wrap(err, "error reading etcd manifest file") |
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.
i think we still need to have the err != nil
case.
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.
The fact is that in case join --control-plane we have an error by design (because the etcd pod doesn't exist)
This is why I changed the logic in "if an etcd manifests exists and I can parse it, then ....else try to connect using advertise addresses"
Ps. I consider acceptable this solution based on parsing manifests only because this is something that should go away the next release
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.
ok, understood. etcdPod
is also not used for the err != nil
case, so this should be fine.
/lgtm
What type of PR is this?
/kind bug
What this PR does / why we need it:
To fix kubeadm v1.13 error when joining a control plane node.
Which issue(s) this PR fixes:
kubernetes/kubeadm#1270
Special notes for your reviewer:
The error happens when connecting to etcd, and this problem is similar to what fixed by #70893 but gets triggered only during join control plane worflow
Does this PR introduce a user-facing change?:
/sig cluster-lifecycle
/priority critical-urgent
/milestone v1.13
/cc @timothysc
/cc @luxas
/cc @neolit123
@kubernetes/sig-cluster-lifecycle-pr-reviews