metropolis/cli/metroctl: move takeownership under cluster subcommand tree
This is in preparation for having more cluster-wide commands (same as we
keep 'node' for all node-specific commands).
Change-Id: I3fa5935e1d751261bf82a80cf61e811fa36effc9
Reviewed-on: https://review.monogon.dev/c/monogon/+/3593
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/cli/metroctl/BUILD.bazel b/metropolis/cli/metroctl/BUILD.bazel
index 5372cc5..1a43336 100644
--- a/metropolis/cli/metroctl/BUILD.bazel
+++ b/metropolis/cli/metroctl/BUILD.bazel
@@ -18,6 +18,8 @@
name = "metroctl_lib",
srcs = [
"cmd_certs.go",
+ "cmd_cluster.go",
+ "cmd_cluster_takeownership.go",
"cmd_install.go",
"cmd_install_ssh.go",
"cmd_install_usb.go",
@@ -28,7 +30,6 @@
"cmd_node_logs.go",
"cmd_node_metrics.go",
"cmd_node_set.go",
- "cmd_takeownership.go",
"main.go",
"rpc.go",
"table_node.go",
diff --git a/metropolis/cli/metroctl/cmd_cluster.go b/metropolis/cli/metroctl/cmd_cluster.go
new file mode 100644
index 0000000..e82cb95
--- /dev/null
+++ b/metropolis/cli/metroctl/cmd_cluster.go
@@ -0,0 +1,12 @@
+package main
+
+import "github.com/spf13/cobra"
+
+var clusterCmd = &cobra.Command{
+ Short: "Manages a running Metropolis cluster.",
+ Use: "cluster",
+}
+
+func init() {
+ rootCmd.AddCommand(clusterCmd)
+}
diff --git a/metropolis/cli/metroctl/cmd_takeownership.go b/metropolis/cli/metroctl/cmd_cluster_takeownership.go
similarity index 98%
rename from metropolis/cli/metroctl/cmd_takeownership.go
rename to metropolis/cli/metroctl/cmd_cluster_takeownership.go
index a1a205a..068dd3b 100644
--- a/metropolis/cli/metroctl/cmd_takeownership.go
+++ b/metropolis/cli/metroctl/cmd_cluster_takeownership.go
@@ -101,5 +101,5 @@
func init() {
takeownershipCommand.Flags().String("context", "metroctl", "The name for the kubernetes context to configure")
- rootCmd.AddCommand(takeownershipCommand)
+ clusterCmd.AddCommand(takeownershipCommand)
}
diff --git a/metropolis/cli/metroctl/test/test.go b/metropolis/cli/metroctl/test/test.go
index 17f5f75..f4bba02 100644
--- a/metropolis/cli/metroctl/test/test.go
+++ b/metropolis/cli/metroctl/test/test.go
@@ -144,11 +144,12 @@
log.Printf("metroctl: Cluster's running, starting tests...")
st := t.Run("Init", func(t *testing.T) {
- util.TestEventual(t, "metroctl takeownership", ctx, 30*time.Second, func(ctx context.Context) error {
+ util.TestEventual(t, "metroctl cluster takeownership", ctx, 30*time.Second, func(ctx context.Context) error {
// takeownership needs just a single endpoint pointing at the initial node.
var args []string
args = append(args, commonOpts...)
args = append(args, endpointOpts[0])
+ args = append(args, "cluster")
args = append(args, "takeownership")
return mctlFailIfMissing(t, ctx, args, "Successfully retrieved owner credentials")
})