From 0a0f6f8eec200e5b62902b01aee743e43257ae41 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Tue, 20 Aug 2019 00:39:07 +0300 Subject: [PATCH] kubeadm: do not use github.com/blang/semver in app/preflight Usage of github.com/blang/semver is not needed and k8s.io/apimachinery/pkg/util/version should be used instead for semantic version parsing and version comparison. --- cmd/kubeadm/app/preflight/BUILD | 1 - cmd/kubeadm/app/preflight/checks.go | 7 +++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/cmd/kubeadm/app/preflight/BUILD b/cmd/kubeadm/app/preflight/BUILD index 2640ce4aa28..bd3b1cfe3a1 100644 --- a/cmd/kubeadm/app/preflight/BUILD +++ b/cmd/kubeadm/app/preflight/BUILD @@ -31,7 +31,6 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/version:go_default_library", "//vendor/github.com/PuerkitoBio/purell:go_default_library", - "//vendor/github.com/blang/semver:go_default_library", "//vendor/github.com/pkg/errors:go_default_library", "//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/utils/exec:go_default_library", diff --git a/cmd/kubeadm/app/preflight/checks.go b/cmd/kubeadm/app/preflight/checks.go index bff978ae922..75f9fff1a40 100644 --- a/cmd/kubeadm/app/preflight/checks.go +++ b/cmd/kubeadm/app/preflight/checks.go @@ -35,7 +35,6 @@ import ( "time" "github.com/PuerkitoBio/purell" - "github.com/blang/semver" "github.com/pkg/errors" netutil "k8s.io/apimachinery/pkg/util/net" "k8s.io/apimachinery/pkg/util/sets" @@ -65,7 +64,7 @@ const ( ) var ( - minExternalEtcdVersion = semver.MustParse(kubeadmconstants.MinExternalEtcdVersion) + minExternalEtcdVersion = versionutil.MustParseSemantic(kubeadmconstants.MinExternalEtcdVersion) ) // Error defines struct for communicating error messages generated by preflight checks @@ -722,12 +721,12 @@ func (evc ExternalEtcdVersionCheck) Check() (warnings, errorList []error) { continue } - etcdVersion, err := semver.Parse(resp.Etcdserver) + etcdVersion, err := versionutil.ParseSemantic(resp.Etcdserver) if err != nil { errorList = append(errorList, errors.Wrapf(err, "couldn't parse external etcd version %q", resp.Etcdserver)) continue } - if etcdVersion.LT(minExternalEtcdVersion) { + if etcdVersion.LessThan(minExternalEtcdVersion) { errorList = append(errorList, errors.Errorf("this version of kubeadm only supports external etcd version >= %s. Current version: %s", kubeadmconstants.MinExternalEtcdVersion, resp.Etcdserver)) continue }