diff --git a/cmd/climc/shell/events.go b/cmd/climc/shell/events.go index bf5537554f..85d099f2e7 100644 --- a/cmd/climc/shell/events.go +++ b/cmd/climc/shell/events.go @@ -116,13 +116,13 @@ func init() { return doComputeEventList(s, &nargs) }) - R(&TypeEventListOptions{}, "k8s-cluster-event", "Show operation event logs of kubernetes cluster", func(s *mcclient.ClientSession, args *TypeEventListOptions) error { - nargs := EventListOptions{BaseEventListOptions: args.BaseEventListOptions, Id: args.ID, Type: []string{"cluster"}} + R(&TypeEventListOptions{}, "kube-cluster-event", "Show operation event logs of kubernetes cluster", func(s *mcclient.ClientSession, args *TypeEventListOptions) error { + nargs := EventListOptions{BaseEventListOptions: args.BaseEventListOptions, Id: args.ID, Type: []string{"kube_cluster"}} return doK8sEventList(s, &nargs) }) - R(&TypeEventListOptions{}, "k8s-node-event", "Show operation event logs of kubernetes node", func(s *mcclient.ClientSession, args *TypeEventListOptions) error { - nargs := EventListOptions{BaseEventListOptions: args.BaseEventListOptions, Id: args.ID, Type: []string{"node"}} + R(&TypeEventListOptions{}, "kube-node-event", "Show operation event logs of kubernetes node", func(s *mcclient.ClientSession, args *TypeEventListOptions) error { + nargs := EventListOptions{BaseEventListOptions: args.BaseEventListOptions, Id: args.ID, Type: []string{"kube_node"}} return doK8sEventList(s, &nargs) }) } diff --git a/cmd/climc/shell/k8s/clusters.go b/cmd/climc/shell/k8s/clusters.go index 05a09d7fef..a9f515d801 100644 --- a/cmd/climc/shell/k8s/clusters.go +++ b/cmd/climc/shell/k8s/clusters.go @@ -129,4 +129,17 @@ func initCluster() { printObject(ret) return nil }) + + R(&o.ClusterDeleteNodesOptions{}, cmdN("delete-nodes"), "Delete nodes in cluster", func(s *mcclient.ClientSession, args *o.ClusterDeleteNodesOptions) error { + params, err := args.Params() + if err != nil { + return err + } + ret, err := k8s.Clusters.PerformAction(s, args.ID, "delete-nodes", params) + if err != nil { + return err + } + printObject(ret) + return nil + }) } diff --git a/cmd/climc/shell/k8s/nodes.go b/cmd/climc/shell/k8s/nodes.go index ac59cb05fa..4c3866cc6f 100644 --- a/cmd/climc/shell/k8s/nodes.go +++ b/cmd/climc/shell/k8s/nodes.go @@ -35,9 +35,12 @@ func initNode() { return nil }) - R(&o.IdentsOptions{}, cmdN("delete"), "Delete node", func(s *mcclient.ClientSession, args *o.IdentsOptions) error { - ret := k8s.Nodes.BatchDeleteWithParam(s, args.ID, nil, nil) - printBatchResults(ret, k8s.Nodes.GetColumns(s)) + R(&o.IdentOptions{}, cmdN("delete"), "Delete node", func(s *mcclient.ClientSession, args *o.IdentOptions) error { + ret, err := k8s.Nodes.Delete(s, args.ID, nil) + if err != nil { + return err + } + printObject(ret) return nil }) diff --git a/pkg/mcclient/options/k8s/cluster.go b/pkg/mcclient/options/k8s/cluster.go index 99d8722819..18e47522f0 100644 --- a/pkg/mcclient/options/k8s/cluster.go +++ b/pkg/mcclient/options/k8s/cluster.go @@ -175,3 +175,18 @@ func parseNodeAddConfigStr(config string) (nodeAddConfig, error) { ret.Roles = roles return ret, nil } + +type ClusterDeleteNodesOptions struct { + IdentOptions + Node []string `help:"Node id or name"` +} + +func (o ClusterDeleteNodesOptions) Params() (*jsonutils.JSONDict, error) { + params := jsonutils.NewDict() + nodesArray := jsonutils.NewArray() + for _, node := range o.Node { + nodesArray.Add(jsonutils.NewString(node)) + } + params.Add(nodesArray, "nodes") + return params, nil +}