Skip to content

Commit 5ea20f5

Browse files
authored
Merge pull request #7212 from linkvt/kubernetes-parameters-latest-stable
Add 'stable' and 'latest' as valid kubernetes-version values
2 parents 1f30cfc + 3ad1dfb commit 5ea20f5

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

cmd/minikube/cmd/start.go

+12-10
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ func initMinikubeFlags() {
179179

180180
// initKubernetesFlags inits the commandline flags for kubernetes related options
181181
func initKubernetesFlags() {
182-
startCmd.Flags().String(kubernetesVersion, "", "The kubernetes version that the minikube VM will use (ex: v1.2.3)")
182+
startCmd.Flags().String(kubernetesVersion, "", fmt.Sprintf("The kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for %s, 'latest' for %s). Defaults to 'stable'.", constants.DefaultKubernetesVersion, constants.NewestKubernetesVersion))
183183
startCmd.Flags().Var(&config.ExtraOptions, "extra-config",
184184
`A set of key=value pairs that describe configuration that may be passed to different components.
185185
The key should be '.' separated, and the first part before the dot is the component to apply the configuration to.
@@ -480,10 +480,10 @@ func selectDriver(existing *config.ClusterConfig) registry.DriverState {
480480
if vmd := viper.GetString("vm-driver"); vmd != "" {
481481
// Output a warning
482482
warning := `Both driver={{.driver}} and vm-driver={{.vmd}} have been set.
483-
483+
484484
Since vm-driver is deprecated, minikube will default to driver={{.driver}}.
485485
486-
If vm-driver is set in the global config, please run "minikube config unset vm-driver" to resolve this warning.
486+
If vm-driver is set in the global config, please run "minikube config unset vm-driver" to resolve this warning.
487487
`
488488
out.T(out.Warning, warning, out.V{"driver": d, "vmd": vmd})
489489
}
@@ -1065,13 +1065,15 @@ func autoSetDriverOptions(cmd *cobra.Command, drvName string) (err error) {
10651065
func getKubernetesVersion(old *config.ClusterConfig) string {
10661066
paramVersion := viper.GetString(kubernetesVersion)
10671067

1068-
if paramVersion == "" { // if the user did not specify any version then ...
1069-
if old != nil { // .. use the old version from config (if any)
1070-
paramVersion = old.KubernetesConfig.KubernetesVersion
1071-
}
1072-
if paramVersion == "" { // .. otherwise use the default version
1073-
paramVersion = constants.DefaultKubernetesVersion
1074-
}
1068+
// try to load the old version first if the user didn't specify anything
1069+
if paramVersion == "" && old != nil {
1070+
paramVersion = old.KubernetesConfig.KubernetesVersion
1071+
}
1072+
1073+
if paramVersion == "" || strings.EqualFold(paramVersion, "stable") {
1074+
paramVersion = constants.DefaultKubernetesVersion
1075+
} else if strings.EqualFold(paramVersion, "latest") {
1076+
paramVersion = constants.NewestKubernetesVersion
10751077
}
10761078

10771079
nvs, err := semver.Make(strings.TrimPrefix(paramVersion, version.VersionPrefix))

cmd/minikube/cmd/start_test.go

+11-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import (
2626
"k8s.io/minikube/pkg/minikube/constants"
2727
)
2828

29-
func TestGetKuberneterVersion(t *testing.T) {
29+
func TestGetKubernetesVersion(t *testing.T) {
3030
var tests = []struct {
3131
description string
3232
expectedVersion string
@@ -55,6 +55,16 @@ func TestGetKuberneterVersion(t *testing.T) {
5555
paramVersion: "v1.16.0",
5656
cfg: &cfg.ClusterConfig{KubernetesConfig: cfg.KubernetesConfig{KubernetesVersion: "v1.15.0"}},
5757
},
58+
{
59+
description: "kubernetes-version given as 'stable', no config",
60+
expectedVersion: constants.DefaultKubernetesVersion,
61+
paramVersion: "stable",
62+
},
63+
{
64+
description: "kubernetes-version given as 'latest', no config",
65+
expectedVersion: constants.NewestKubernetesVersion,
66+
paramVersion: "latest",
67+
},
5868
}
5969

6070
for _, test := range tests {

0 commit comments

Comments
 (0)