delete docker volumes when deleting a single node
parent
1eb346d3ab
commit
bbf4d66b48
|
@ -18,6 +18,7 @@ package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
"k8s.io/minikube/pkg/minikube/driver"
|
||||||
"k8s.io/minikube/pkg/minikube/exit"
|
"k8s.io/minikube/pkg/minikube/exit"
|
||||||
"k8s.io/minikube/pkg/minikube/mustload"
|
"k8s.io/minikube/pkg/minikube/mustload"
|
||||||
"k8s.io/minikube/pkg/minikube/node"
|
"k8s.io/minikube/pkg/minikube/node"
|
||||||
|
@ -38,10 +39,16 @@ var nodeDeleteCmd = &cobra.Command{
|
||||||
co := mustload.Healthy(ClusterFlagValue())
|
co := mustload.Healthy(ClusterFlagValue())
|
||||||
out.T(out.DeletingHost, "Deleting node {{.name}} from cluster {{.cluster}}", out.V{"name": name, "cluster": co.Config.Name})
|
out.T(out.DeletingHost, "Deleting node {{.name}} from cluster {{.cluster}}", out.V{"name": name, "cluster": co.Config.Name})
|
||||||
|
|
||||||
if err := node.Delete(*co.Config, name); err != nil {
|
n, err := node.Delete(*co.Config, name)
|
||||||
|
if err != nil {
|
||||||
exit.WithError("deleting node", err)
|
exit.WithError("deleting node", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if driver.IsKIC(co.Config.Driver) {
|
||||||
|
machineName := driver.MachineName(*co.Config, *n)
|
||||||
|
deletePossibleKicLeftOver(machineName, co.Config.Driver)
|
||||||
|
}
|
||||||
|
|
||||||
out.T(out.Deleted, "Node {{.name}} was successfully deleted.", out.V{"name": name})
|
out.T(out.Deleted, "Node {{.name}} was successfully deleted.", out.V{"name": name})
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,24 +58,24 @@ func Add(cc *config.ClusterConfig, n config.Node) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete stops and deletes the given node from the given cluster
|
// Delete stops and deletes the given node from the given cluster
|
||||||
func Delete(cc config.ClusterConfig, name string) error {
|
func Delete(cc config.ClusterConfig, name string) (*config.Node, error) {
|
||||||
n, index, err := Retrieve(&cc, name)
|
n, index, err := Retrieve(&cc, name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "retrieve")
|
return n, errors.Wrap(err, "retrieve")
|
||||||
}
|
}
|
||||||
|
|
||||||
api, err := machine.NewAPIClient()
|
api, err := machine.NewAPIClient()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return n, err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = machine.DeleteHost(api, driver.MachineName(cc, *n))
|
err = machine.DeleteHost(api, driver.MachineName(cc, *n))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return n, err
|
||||||
}
|
}
|
||||||
|
|
||||||
cc.Nodes = append(cc.Nodes[:index], cc.Nodes[index+1:]...)
|
cc.Nodes = append(cc.Nodes[:index], cc.Nodes[index+1:]...)
|
||||||
return config.SaveProfile(viper.GetString(config.ProfileName), &cc)
|
return n, config.SaveProfile(viper.GetString(config.ProfileName), &cc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve finds the node by name in the given cluster
|
// Retrieve finds the node by name in the given cluster
|
||||||
|
|
Loading…
Reference in New Issue