diff --git a/cmd/kubeadm/app/cmd/upgrade/apply.go b/cmd/kubeadm/app/cmd/upgrade/apply.go index 8404e0de6b5..1acb2f895b1 100644 --- a/cmd/kubeadm/app/cmd/upgrade/apply.go +++ b/cmd/kubeadm/app/cmd/upgrade/apply.go @@ -37,7 +37,6 @@ import ( "k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient" configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" dryrunutil "k8s.io/kubernetes/cmd/kubeadm/app/util/dryrun" - etcdutil "k8s.io/kubernetes/cmd/kubeadm/app/util/etcd" "k8s.io/kubernetes/pkg/util/version" ) @@ -277,9 +276,8 @@ func PerformStaticPodUpgrade(client clientset.Interface, waiter apiclient.Waiter return err } - // These are uninitialized because passing in the clients allow for mocking the client during testing - var oldEtcdClient, newEtdClient etcdutil.Client - return upgrade.StaticPodControlPlane(waiter, pathManager, internalcfg, etcdUpgrade, oldEtcdClient, newEtdClient) + // The arguments oldEtcdClient and newEtdClient, are uninitialized because passing in the clients allow for mocking the client during testing + return upgrade.StaticPodControlPlane(waiter, pathManager, internalcfg, etcdUpgrade, nil, nil) } // DryRunStaticPodUpgrade fakes an upgrade of the control plane diff --git a/cmd/kubeadm/app/util/etcd/etcd.go b/cmd/kubeadm/app/util/etcd/etcd.go index 3bd3e8034a7..a390d670640 100644 --- a/cmd/kubeadm/app/util/etcd/etcd.go +++ b/cmd/kubeadm/app/util/etcd/etcd.go @@ -133,14 +133,10 @@ func (c Client) GetVersion() (string, error) { return "", err } for _, v := range versions { - if clusterVersion == "" { - // This is the first version we've seen - clusterVersion = v - } else if v != clusterVersion { + if clusterVersion != "" && clusterVersion != v { return "", fmt.Errorf("etcd cluster contains endpoints with mismatched versions: %v", versions) - } else { - clusterVersion = v } + clusterVersion = v } if clusterVersion == "" { return "", fmt.Errorf("could not determine cluster etcd version")