delete cluster

pull/227/head
iwilltry42 5 years ago
parent 8c965a9f16
commit 8eb9832298
  1. 3
      cmd/create/createCluster.go
  2. 11
      cmd/create/createNode.go
  3. 16
      cmd/delete/deleteCluster.go
  4. 9
      cmd/delete/deleteNode.go
  5. 4
      pkg/cluster/cluster.go
  6. 9
      pkg/cluster/node.go
  7. 2
      pkg/runtimes/containerd/container.go

@ -39,6 +39,7 @@ func NewCmdCreateCluster() *cobra.Command {
Use: "cluster",
Short: "Create a new k3s cluster in docker",
Long: `Create a new k3s cluster with containerized nodes (k3s in docker).`,
Args: cobra.ExactArgs(1), // exactly one cluster name can be set
Run: func(cmd *cobra.Command, args []string) {
runtime, cluster := parseCmd(cmd, args)
if err := k3dCluster.CreateCluster(cluster, runtime); err != nil {
@ -68,7 +69,7 @@ func parseCmd(cmd *cobra.Command, args []string) (runtimes.Runtime, *k3d.Cluster
if err != nil {
log.Fatalln(err)
}
cluster := k3d.Cluster{}
cluster := k3d.Cluster{Name: args[0]}
return runtime, &cluster
}

@ -25,6 +25,7 @@ import (
"github.com/spf13/cobra"
"github.com/rancher/k3d/pkg/cluster"
"github.com/rancher/k3d/pkg/runtimes"
k3d "github.com/rancher/k3d/pkg/types"
log "github.com/sirupsen/logrus"
)
@ -37,18 +38,26 @@ func NewCmdCreateNode() *cobra.Command {
Use: "node",
Short: "Create a new k3s node in docker",
Long: `Create a new containerized k3s node (k3s in docker).`,
Args: cobra.ExactArgs(1), // exactly one name accepted
Run: func(cmd *cobra.Command, args []string) {
log.Debugln("create node called")
rt, err := cmd.Flags().GetString("runtime")
if err != nil {
log.Debugln("runtime not defined")
}
if err := cluster.CreateNode(&k3d.Node{}, rt); err != nil {
runtime, err := runtimes.GetRuntime(rt)
if err != nil {
log.Fatalf("Unsupported runtime '%s'", rt)
}
if err := cluster.CreateNode(&k3d.Node{Name: args[0]}, runtime); err != nil {
log.Fatalln(err)
}
},
}
// add flags
cmd.Flags().Int("replicas", 1, "Number of replicas of this node specification.")
// done
return cmd
}

@ -22,6 +22,9 @@ THE SOFTWARE.
package delete
import (
"github.com/rancher/k3d/pkg/cluster"
"github.com/rancher/k3d/pkg/runtimes"
k3d "github.com/rancher/k3d/pkg/types"
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
@ -37,6 +40,19 @@ func NewCmdDeleteCluster() *cobra.Command {
Long: `Delete a cluster.`,
Run: func(cmd *cobra.Command, args []string) {
log.Debugln("delete cluster called")
rt, err := cmd.Flags().GetString("runtime")
if err != nil {
log.Debugln("runtime not defined")
}
runtime, err := runtimes.GetRuntime(rt)
if err != nil {
log.Fatalf("Unsupported runtime '%s'", rt)
}
for _, name := range args {
if err := cluster.DeleteCluster(&k3d.Cluster{Name: name}, runtime); err != nil {
log.Errorln(err)
}
}
},
}

@ -36,20 +36,25 @@ func NewCmdDeleteNode() *cobra.Command {
Use: "node",
Short: "Delete a node.",
Long: `Delete a node.`,
Args: cobra.MinimumNArgs(1), // at least one node has to be specified
Run: func(cmd *cobra.Command, args []string) {
log.Debugln("delete node called")
rt, err := cmd.Flags().GetString("runtime")
if err != nil {
log.Debugln("runtime not defined")
}
if err := cluster.DeleteNode(&k3d.Node{Name: "test"}, rt); err != nil {
log.Fatalln(err)
for _, name := range args {
if err := cluster.DeleteNode(&k3d.Node{Name: name}, rt); err != nil {
log.Errorln(err)
}
}
},
}
// add subcommands
// add flags
// done
return cmd
}

@ -38,3 +38,7 @@ func CreateCluster(cluster *k3d.Cluster, runtime k3drt.Runtime) error {
log.Debugln("...success")
return nil
}
func DeleteCluster(cluster *k3d.Cluster, runtime k3drt.Runtime) error {
return nil
}

@ -31,14 +31,7 @@ import (
)
// CreateNode creates a new containerized k3s node
func CreateNode(nodeSpec *k3d.Node, runtimeChoice string) error {
var runtime k3drt.Runtime
if runtimeChoice == "docker" {
runtime = k3dDocker.Docker{}
} else {
runtime = k3dContainerd.Containerd{}
}
func CreateNode(nodeSpec *k3d.Node, runtime k3drt.Runtime) error {
if err := runtime.CreateNode(nodeSpec); err != nil {
log.Error(err)
}

@ -57,7 +57,7 @@ func (d Containerd) CreateNode(nodeSpec *k3d.Node) error {
log.Errorln("Couldn't create container")
return err
}
log.Debugln("Created container with ID", resp.ID)
log.Infoln("Created container with ID", resp.ID())
return nil
}

Loading…
Cancel
Save