metropolis/cli/metroctl: don't print usage for runtime errors

Change-Id: I91fdca45e874ea1ec9112df556a9a7392fd45bfd
Fixes: https://github.com/monogon-dev/monogon/issues/352
Reviewed-on: https://review.monogon.dev/c/monogon/+/3440
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/cli/metroctl/cmd_node_set.go b/metropolis/cli/metroctl/cmd_node_set.go
index 73d7f3c..59df43e 100644
--- a/metropolis/cli/metroctl/cmd_node_set.go
+++ b/metropolis/cli/metroctl/cmd_node_set.go
@@ -26,7 +26,7 @@
 	Short:   "Updates node roles.",
 	Use:     "role <KubernetesController|KubernetesWorker|ConsensusMember> [NodeID, ...]",
 	Example: "metroctl node add role KubernetesWorker metropolis-25fa5f5e9349381d4a5e9e59de0215e3",
-	Args:    cobra.ArbitraryArgs,
+	Args:    PrintUsageOnWrongArgs(cobra.ArbitraryArgs),
 	Run:     doAdd,
 }
 
@@ -34,7 +34,7 @@
 	Short:   "Updates node roles.",
 	Use:     "role <KubernetesController|KubernetesWorker|ConsensusMember> [NodeID, ...]",
 	Example: "metroctl node remove role KubernetesWorker metropolis-25fa5f5e9349381d4a5e9e59de0215e3",
-	Args:    cobra.ArbitraryArgs,
+	Args:    PrintUsageOnWrongArgs(cobra.ArbitraryArgs),
 	Run:     doRemove,
 }