diff --git a/pkg/kubectl/cmd/config/config.go b/pkg/kubectl/cmd/config/config.go index 199535f7e8..cffd0aee3d 100644 --- a/pkg/kubectl/cmd/config/config.go +++ b/pkg/kubectl/cmd/config/config.go @@ -17,6 +17,7 @@ limitations under the License. package config import ( + "fmt" "io" "path" "strconv" @@ -81,3 +82,9 @@ func toBool(propertyValue string) (bool, error) { return boolValue, nil } + +func helpErrorf(cmd *cobra.Command, format string, args ...interface{}) error { + cmd.Help() + msg := fmt.Sprintf(format, args...) + return fmt.Errorf("%s\n", msg) +} diff --git a/pkg/kubectl/cmd/config/create_cluster.go b/pkg/kubectl/cmd/config/create_cluster.go index 388869abb9..2b4a47a1d8 100644 --- a/pkg/kubectl/cmd/config/create_cluster.go +++ b/pkg/kubectl/cmd/config/create_cluster.go @@ -150,8 +150,7 @@ func (o *createClusterOptions) modifyCluster(existingCluster clientcmdapi.Cluste func (o *createClusterOptions) complete(cmd *cobra.Command) error { args := cmd.Flags().Args() if len(args) != 1 { - cmd.Help() - return fmt.Errorf("Unexpected args: %v", args) + return helpErrorf(cmd, "Unexpected args: %v", args) } o.name = args[0] diff --git a/pkg/kubectl/cmd/config/create_context.go b/pkg/kubectl/cmd/config/create_context.go index c49d600cdc..e3351488c0 100644 --- a/pkg/kubectl/cmd/config/create_context.go +++ b/pkg/kubectl/cmd/config/create_context.go @@ -121,8 +121,7 @@ func (o *createContextOptions) modifyContext(existingContext clientcmdapi.Contex func (o *createContextOptions) complete(cmd *cobra.Command) error { args := cmd.Flags().Args() if len(args) != 1 { - cmd.Help() - return fmt.Errorf("Unexpected args: %v", args) + return helpErrorf(cmd, "Unexpected args: %v", args) } o.name = args[0] diff --git a/pkg/kubectl/cmd/config/rename_context.go b/pkg/kubectl/cmd/config/rename_context.go index 359c58d5d4..d1a3d6f8ea 100644 --- a/pkg/kubectl/cmd/config/rename_context.go +++ b/pkg/kubectl/cmd/config/rename_context.go @@ -83,8 +83,7 @@ func NewCmdConfigRenameContext(out io.Writer, configAccess clientcmd.ConfigAcces // Complete assigns RenameContextOptions from the args. func (o *RenameContextOptions) Complete(cmd *cobra.Command, args []string, out io.Writer) error { if len(args) != 2 { - cmd.Help() - return fmt.Errorf("Unexpected args: %v", args) + return helpErrorf(cmd, "Unexpected args: %v", args) } o.contextName = args[0] diff --git a/pkg/kubectl/cmd/config/set.go b/pkg/kubectl/cmd/config/set.go index 5856812a11..c528f42761 100644 --- a/pkg/kubectl/cmd/config/set.go +++ b/pkg/kubectl/cmd/config/set.go @@ -106,8 +106,7 @@ func (o setOptions) run() error { func (o *setOptions) complete(cmd *cobra.Command) error { endingArgs := cmd.Flags().Args() if len(endingArgs) != 2 { - cmd.Help() - return fmt.Errorf("Unexpected args: %v", endingArgs) + return helpErrorf(cmd, "Unexpected args: %v", endingArgs) } o.propertyValue = endingArgs[1] diff --git a/pkg/kubectl/cmd/config/unset.go b/pkg/kubectl/cmd/config/unset.go index 19ff1a8084..2182e5596c 100644 --- a/pkg/kubectl/cmd/config/unset.go +++ b/pkg/kubectl/cmd/config/unset.go @@ -77,18 +77,13 @@ func (o unsetOptions) run() error { return err } - if err := clientcmd.ModifyConfig(o.configAccess, *config, false); err != nil { - return err - } - - return nil + return clientcmd.ModifyConfig(o.configAccess, *config, false) } func (o *unsetOptions) complete(cmd *cobra.Command) error { endingArgs := cmd.Flags().Args() if len(endingArgs) != 1 { - cmd.Help() - return fmt.Errorf("Unexpected args: %v", endingArgs) + return helpErrorf(cmd, "Unexpected args: %v", endingArgs) } o.propertyName = endingArgs[0] diff --git a/pkg/kubectl/cmd/config/use_context.go b/pkg/kubectl/cmd/config/use_context.go index 6109662114..38f77eea2c 100644 --- a/pkg/kubectl/cmd/config/use_context.go +++ b/pkg/kubectl/cmd/config/use_context.go @@ -47,6 +47,7 @@ func NewCmdConfigUseContext(out io.Writer, configAccess clientcmd.ConfigAccess) cmd := &cobra.Command{ Use: "use-context CONTEXT_NAME", Short: i18n.T("Sets the current-context in a kubeconfig file"), + Aliases: []string{"use"}, Long: `Sets the current-context in a kubeconfig file`, Example: use_context_example, Run: func(cmd *cobra.Command, args []string) { @@ -72,18 +73,13 @@ func (o useContextOptions) run() error { config.CurrentContext = o.contextName - if err := clientcmd.ModifyConfig(o.configAccess, *config, true); err != nil { - return err - } - - return nil + return clientcmd.ModifyConfig(o.configAccess, *config, true) } func (o *useContextOptions) complete(cmd *cobra.Command) error { endingArgs := cmd.Flags().Args() if len(endingArgs) != 1 { - cmd.Help() - return fmt.Errorf("Unexpected args: %v", endingArgs) + return helpErrorf(cmd, "Unexpected args: %v", endingArgs) } o.contextName = endingArgs[0]