mirror of https://github.com/kubernetes/kops.git
Merge pull request #8700 from johngmyers/version-tweaks
Balk at using Kubernetes versions too new to be supported
This commit is contained in:
commit
502aaacbe2
|
|
@ -72,6 +72,26 @@ func ParseKubernetesVersion(version string) (*semver.Version, error) {
|
|||
sv = semver.Version{Major: 1, Minor: 18}
|
||||
} else if strings.Contains(v, "/v1.19.") {
|
||||
sv = semver.Version{Major: 1, Minor: 19}
|
||||
} else if strings.Contains(v, "/v1.20.") {
|
||||
sv = semver.Version{Major: 1, Minor: 20}
|
||||
} else if strings.Contains(v, "/v1.21.") {
|
||||
sv = semver.Version{Major: 1, Minor: 21}
|
||||
} else if strings.Contains(v, "/v1.22.") {
|
||||
sv = semver.Version{Major: 1, Minor: 22}
|
||||
} else if strings.Contains(v, "/v1.23.") {
|
||||
sv = semver.Version{Major: 1, Minor: 23}
|
||||
} else if strings.Contains(v, "/v1.24.") {
|
||||
sv = semver.Version{Major: 1, Minor: 24}
|
||||
} else if strings.Contains(v, "/v1.25.") {
|
||||
sv = semver.Version{Major: 1, Minor: 25}
|
||||
} else if strings.Contains(v, "/v1.26.") {
|
||||
sv = semver.Version{Major: 1, Minor: 26}
|
||||
} else if strings.Contains(v, "/v1.27.") {
|
||||
sv = semver.Version{Major: 1, Minor: 27}
|
||||
} else if strings.Contains(v, "/v1.28.") {
|
||||
sv = semver.Version{Major: 1, Minor: 28}
|
||||
} else if strings.Contains(v, "/v1.29.") {
|
||||
sv = semver.Version{Major: 1, Minor: 29}
|
||||
} else {
|
||||
klog.Errorf("unable to parse Kubernetes version %q", version)
|
||||
return nil, fmt.Errorf("unable to parse kubernetes version %q", version)
|
||||
|
|
|
|||
|
|
@ -1053,6 +1053,29 @@ func (c *ApplyClusterCmd) validateKubernetesVersion() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
kopsVersion, err := semver.Parse(kopsbase.KOPS_RELEASE_VERSION)
|
||||
if err != nil {
|
||||
klog.Warningf("unable to parse kops version %q", kopsVersion)
|
||||
} else {
|
||||
tooNewVersion := kopsVersion
|
||||
tooNewVersion.Minor += 1
|
||||
tooNewVersion.Pre = nil
|
||||
tooNewVersion.Build = nil
|
||||
if util.IsKubernetesGTE(tooNewVersion.String(), *parsed) {
|
||||
fmt.Printf("\n")
|
||||
fmt.Printf("%s\n", starline)
|
||||
fmt.Printf("\n")
|
||||
fmt.Printf("This version of kubernetes is not yet supported; upgrading kops is required\n")
|
||||
fmt.Printf("(you can bypass this check by exporting KOPS_RUN_TOO_NEW_VERSION)\n")
|
||||
fmt.Printf("\n")
|
||||
fmt.Printf("%s\n", starline)
|
||||
fmt.Printf("\n")
|
||||
if os.Getenv("KOPS_RUN_TOO_NEW_VERSION") == "" {
|
||||
return fmt.Errorf("kops upgrade is required")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if !util.IsKubernetesGTE(OldestSupportedKubernetesVersion, *parsed) {
|
||||
fmt.Printf("This version of Kubernetes is no longer supported; upgrading Kubernetes is required\n")
|
||||
fmt.Printf("\n")
|
||||
|
|
|
|||
Loading…
Reference in New Issue