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