From 6af8a8058ef6b46523fd4ccb6ce4a17c7abcccc3 Mon Sep 17 00:00:00 2001 From: Jose Blanquicet Date: Fri, 14 Jul 2023 12:28:22 +0200 Subject: [PATCH] cmd/config: Align flags names among commands Signed-off-by: Jose Blanquicet --- cmd/config.go | 16 +++++++++------- cmd/utils/flags.go | 2 ++ test/integration/integration_test.go | 7 ++++++- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/cmd/config.go b/cmd/config.go index c4211fc..52c6f82 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -132,7 +132,8 @@ func importCmdCommand() *cobra.Command { vms, err := utils.VirtualMachineScaleSetVMsViaKubeconfig() if err != nil { logrus.Warn("Could not get VMSS VMs via Kubernetes API") - logrus.Warn("Please provide '--subscription-id', '--resource-group' and '--cluster-name' flags to get VMSS VMs via Azure API") + logrus.Warnf("Please provide '--%s', '--%s' and '--%s' flags to get VMSS VMs via Azure API", + utils.SubscriptionIDKey, utils.ResourceGroupKey, utils.ClusterNameKey) return nil, fmt.Errorf("getting VMSS VMs via Kuberntes API: %w", err) } return vms, nil @@ -141,9 +142,10 @@ func importCmdCommand() *cobra.Command { cmd := &cobra.Command{ Use: "import", Short: "Import Kubernetes nodes in the configuration", - Long: "Import Kubernetes nodes in the configuration" + "\n\n" + - "It uses kubeconfig by default, but it can also use Azure API to get VMSS VMs." + "\n" + - "In case of Azure API, you need to provide '--subscription-id', '--resource-group' and '--cluster-name' flags.", + Long: fmt.Sprintf("Import Kubernetes nodes in the configuration"+"\n\n"+ + "It uses kubeconfig by default, but it can also use Azure API to get VMSS VMs."+"\n"+ + "In case of Azure API, you need to provide '--%s', '--%s' and '--%s' flags.", + utils.SubscriptionIDKey, utils.ResourceGroupKey, utils.ClusterNameKey), SilenceUsage: true, RunE: func(cmd *cobra.Command, args []string) error { utils.DefaultSpinner.Start() @@ -162,9 +164,9 @@ func importCmdCommand() *cobra.Command { }, } - cmd.Flags().StringVarP(&subscriptionID, "subscription-id", "s", "", "Subscription ID of the cluster (only needed with Azure API)") - cmd.Flags().StringVarP(&resourceGroup, "resource-group", "g", "", "Resource group of the cluster (only needed with Azure API)") - cmd.Flags().StringVarP(&clusterName, "cluster-name", "c", "", "Name of the cluster (only needed with Azure API)") + cmd.Flags().StringVarP(&subscriptionID, utils.SubscriptionIDKey, "", "", "Subscription ID of the cluster (only needed with Azure API)") + cmd.Flags().StringVarP(&resourceGroup, utils.ResourceGroupKey, "", "", "Resource group of the cluster (only needed with Azure API)") + cmd.Flags().StringVarP(&clusterName, utils.ClusterNameKey, "", "", "Name of the cluster (only needed with Azure API)") return cmd } diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 8ff26d2..a9c07b7 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -16,6 +16,8 @@ import ( const ( NodeKey = "node" SubscriptionIDKey = "subscription" + ResourceGroupKey = "resource-group" + ClusterNameKey = "cluster-name" NodeResourceGroupKey = "node-resource-group" VMSSKey = "vmss" VMSSInstanceIDKey = "instance-id" diff --git a/test/integration/integration_test.go b/test/integration/integration_test.go index 5543e8e..3b9b292 100644 --- a/test/integration/integration_test.go +++ b/test/integration/integration_test.go @@ -13,6 +13,7 @@ import ( "testing" "time" + "github.com/Azure/kubectl-aks/cmd/utils" "github.com/Azure/kubectl-aks/cmd/utils/config" "github.com/stretchr/testify/require" ) @@ -95,7 +96,11 @@ func TestConfigImport(t *testing.T) { _, err = os.ReadFile(configPath) require.NotNil(t, err, "reading config file: %v", err) - runCommand(t, os.Getenv("KUBECTL_AKS"), "config", "import", "-s", subscriptionID, "-g", resourceGroup, "-c", clusterName) + runCommand(t, os.Getenv("KUBECTL_AKS"), "config", "import", + "--"+utils.SubscriptionIDKey, subscriptionID, + "--"+utils.ResourceGroupKey, resourceGroup, + "--"+utils.ClusterNameKey, clusterName, + ) azureConfigFile, err := os.ReadFile(configPath) require.Nil(t, err, "reading config file: %v", err) require.NotEmpty(t, azureConfigFile, "config file is empty")