Fixes #9616 remove kubectl version check (#9623)

* Fixes #9616 remove kubectl version check

Signed-off-by: tomasz.ziolkowski <e.prace@gmail.com>
This commit is contained in:
ziollek 2022-10-19 22:27:11 +02:00 committed by GitHub
parent 26ae0163a2
commit ca685f78ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 0 additions and 93 deletions

View File

@ -539,13 +539,6 @@ func (hc *HealthChecker) allCategories() []*Category {
return hc.kubeAPI.CheckVersion(hc.kubeVersion)
},
},
{
description: "is running the minimum kubectl version",
hintAnchor: "kubectl-version",
check: func(context.Context) error {
return k8s.CheckKubectlVersion()
},
},
},
false,
),

View File

@ -1,43 +0,0 @@
package k8s
import (
"fmt"
"os/exec"
"regexp"
)
// minKubectlVersion is effectively minAPIVersion.
// It's unlikely that the minimum supported kubectl version
// will be different from that of the k8s API.
var minKubectlVersion = minAPIVersion
// CheckKubectlVersion validates whether the installed kubectl version is
// running a minimum kubectl version.
func CheckKubectlVersion() error {
cmd := exec.Command("kubectl", "version", "--client", "--short")
bytes, err := cmd.Output()
if err != nil {
return err
}
clientVersion := fmt.Sprintf("%s\n", bytes)
kubectlVersion, err := parseKubectlShortVersion(clientVersion)
if err != nil {
return err
}
if !isCompatibleVersion(minKubectlVersion, kubectlVersion) {
return fmt.Errorf("kubectl is on version [%d.%d.%d], but version [%d.%d.%d] or more recent is required",
kubectlVersion[0], kubectlVersion[1], kubectlVersion[2],
minKubectlVersion[0], minKubectlVersion[1], minKubectlVersion[2])
}
return nil
}
var semVer = regexp.MustCompile("(v[0-9]+.[0-9]+.[0-9]+)")
func parseKubectlShortVersion(version string) ([3]int, error) {
versionString := semVer.FindString(version)
return getK8sVersion(versionString)
}

View File

@ -1,34 +0,0 @@
package k8s
import "testing"
var versionTests = []struct {
v string // input
expected [3]int // expected
}{
{"Client Version: v1.10.1", [3]int{1, 10, 1}},
{"client Version: v1.10.1", [3]int{1, 10, 1}},
{"Client Version - v1.10.1", [3]int{1, 10, 1}},
{"v1.10.1", [3]int{1, 10, 1}},
{"Client Version: v1.10.1 beta:2", [3]int{1, 10, 1}},
{"Client Version: v2.1348.1", [3]int{2, 1348, 1}},
}
func TestParseKubectlShortVersion(t *testing.T) {
for _, tt := range versionTests {
actual, err := parseKubectlShortVersion(tt.v)
if err != nil {
t.Fatalf("Unexpected error while parsing kubectl short version: %v", err)
}
if actual != tt.expected {
t.Fatalf("Expected to get %v but got %v", tt.expected, actual)
}
}
}
func TestParseKubectlShortVersionIncorrectVersion(t *testing.T) {
_, err := parseKubectlShortVersion("Not really a version")
if err == nil {
t.Fatalf("Expected to get an error")
}
}

View File

@ -9,7 +9,6 @@ kubernetes-api
kubernetes-version
------------------
√ is running the minimum Kubernetes API version
√ is running the minimum kubectl version
linkerd-existence
-----------------

View File

@ -9,7 +9,6 @@ kubernetes-api
kubernetes-version
------------------
√ is running the minimum Kubernetes API version
√ is running the minimum kubectl version
linkerd-existence
-----------------

View File

@ -9,7 +9,6 @@ kubernetes-api
kubernetes-version
------------------
√ is running the minimum Kubernetes API version
√ is running the minimum kubectl version
linkerd-config
--------------

View File

@ -9,7 +9,6 @@ kubernetes-api
kubernetes-version
------------------
√ is running the minimum Kubernetes API version
√ is running the minimum kubectl version
linkerd-existence
-----------------

View File

@ -9,7 +9,6 @@ kubernetes-api
kubernetes-version
------------------
√ is running the minimum Kubernetes API version
√ is running the minimum kubectl version
pre-kubernetes-setup
--------------------

View File

@ -9,7 +9,6 @@ kubernetes-api
kubernetes-version
------------------
√ is running the minimum Kubernetes API version
√ is running the minimum kubectl version
linkerd-existence
-----------------

View File

@ -9,7 +9,6 @@ kubernetes-api
kubernetes-version
------------------
√ is running the minimum Kubernetes API version
√ is running the minimum kubectl version
pre-kubernetes-setup
--------------------

View File

@ -9,7 +9,6 @@ kubernetes-api
kubernetes-version
------------------
√ is running the minimum Kubernetes API version
√ is running the minimum kubectl version
linkerd-existence
-----------------

View File

@ -9,7 +9,6 @@ kubernetes-api
kubernetes-version
------------------
√ is running the minimum Kubernetes API version
√ is running the minimum kubectl version
linkerd-existence
-----------------