Skip to content

Commit 56c99ef

Browse files
committed
Fix: check if addon is enabled before doing validation
Signed-off-by: Pablo Caderno <[email protected]>
1 parent 21048c4 commit 56c99ef

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

cmd/minikube/cmd/config/disable.go

+18-3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ package config
1919
import (
2020
"github.com/spf13/cobra"
2121
"k8s.io/minikube/pkg/addons"
22+
"k8s.io/minikube/pkg/minikube/assets"
23+
"k8s.io/minikube/pkg/minikube/config"
2224
"k8s.io/minikube/pkg/minikube/exit"
2325
"k8s.io/minikube/pkg/minikube/out"
2426
"k8s.io/minikube/pkg/minikube/reason"
@@ -38,11 +40,24 @@ var addonsDisableCmd = &cobra.Command{
3840
if addon == "heapster" {
3941
exit.Message(reason.AddonUnsupported, "The heapster addon is depreciated. please try to disable metrics-server instead")
4042
}
41-
err := addons.SetAndSave(ClusterFlagValue(), addon, "false")
43+
cc, err := config.Load(ClusterFlagValue())
4244
if err != nil {
43-
exit.Error(reason.InternalAddonDisable, "disable failed", err)
45+
exit.Error(reason.InternalAddonDisable, "loading profile", err)
46+
}
47+
validAddon, ok := assets.Addons[addon]
48+
if ok {
49+
if validAddon.IsEnabled(cc) {
50+
err := addons.SetAndSave(ClusterFlagValue(), addon, "false")
51+
if err != nil {
52+
exit.Error(reason.InternalAddonDisable, "disable failed", err)
53+
}
54+
} else {
55+
out.Step(style.AddonDisable, `"The '{{.minikube_addon}}' addon is disabled`, out.V{"minikube_addon": addon})
56+
}
57+
58+
} else {
59+
out.Step(style.AddonDisable, `"The '{{.minikube_addon}}' seems not to be a valid minikube addon`, out.V{"minikube_addon": addon})
4460
}
45-
out.Step(style.AddonDisable, `"The '{{.minikube_addon}}' addon is disabled`, out.V{"minikube_addon": addon})
4661
},
4762
}
4863

0 commit comments

Comments
 (0)