Skip to content

Commit e2e79c6

Browse files
authored
Fix kubectl version parsing generation in GKE (#267)
1 parent 326aea4 commit e2e79c6

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

run.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/appscode/stash/pkg/controller"
1515
"github.com/appscode/stash/pkg/docker"
1616
"github.com/appscode/stash/pkg/migrator"
17+
"github.com/hashicorp/go-version"
1718
"github.com/prometheus/client_golang/prometheus/promhttp"
1819
"github.com/spf13/cobra"
1920
crd_cs "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
@@ -52,13 +53,16 @@ func NewCmdRun() *cobra.Command {
5253
crdClient := crd_cs.NewForConfigOrDie(config)
5354

5455
// get kube api server version
55-
version, err := kubeClient.Discovery().ServerVersion()
56+
info, err := kubeClient.Discovery().ServerVersion()
5657
if err != nil {
5758
log.Fatalf("Error getting server version, reason: %s\n", err)
5859
}
59-
60+
gv, err := version.NewVersion(info.GitVersion)
61+
if err != nil {
62+
log.Fatalf("Failed to parse server version, reason: %s\n", err)
63+
}
6064
// check kubectl image
61-
opts.KubectlImageTag = version.Major + "." + version.Minor + ".0"
65+
opts.KubectlImageTag = gv.ToMutator().ResetMetadata().ResetPrerelease().ResetPatch().String()
6266
if err := docker.CheckDockerImageVersion(docker.ImageKubectl, opts.KubectlImageTag); err != nil {
6367
log.Fatalf(`Image %v:%v not found.`, docker.ImageKubectl, opts.KubectlImageTag)
6468
}

0 commit comments

Comments
 (0)