From 9c9a15f361b57754c51126ca23c1a6668e0cda0c Mon Sep 17 00:00:00 2001 From: Iris Date: Thu, 25 Apr 2019 13:53:19 +0800 Subject: [PATCH] make --remote and --s as default for istioctl version command (#13389) * make remote and short as default * fix lint --- istioctl/cmd/istioctl/main.go | 2 +- istioctl/cmd/istioctl/version.go | 30 +++++++++++++++++++++++++++ istioctl/cmd/istioctl/version_test.go | 2 +- 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 istioctl/cmd/istioctl/version.go diff --git a/istioctl/cmd/istioctl/main.go b/istioctl/cmd/istioctl/main.go index 76f597fa152d..0ad3ea6d0d90 100644 --- a/istioctl/cmd/istioctl/main.go +++ b/istioctl/cmd/istioctl/main.go @@ -103,7 +103,7 @@ func init() { cmd.AddFlags(rootCmd) - rootCmd.AddCommand(version.CobraCommandWithOptions(version.CobraOptions{GetRemoteVersion: getRemoteInfo})) + rootCmd.AddCommand(newVersionCommand()) rootCmd.AddCommand(gendeployment.Command(&istioNamespace)) experimentalCmd.AddCommand(install.NewVerifyCommand(&istioNamespace)) diff --git a/istioctl/cmd/istioctl/version.go b/istioctl/cmd/istioctl/version.go new file mode 100644 index 000000000000..9084852bb5e6 --- /dev/null +++ b/istioctl/cmd/istioctl/version.go @@ -0,0 +1,30 @@ +package main + +import ( + "fmt" + "os" + + "github.com/spf13/cobra" + "github.com/spf13/pflag" + + istioVersion "istio.io/istio/pkg/version" +) + +func newVersionCommand() *cobra.Command { + versionCmd := istioVersion.CobraCommandWithOptions(istioVersion.CobraOptions{GetRemoteVersion: getRemoteInfo}) + versionCmd.Flags().VisitAll(func(flag *pflag.Flag) { + if flag.Name == "short" { + err := flag.Value.Set("true") + if err != nil { + fmt.Fprint(os.Stdout, fmt.Sprintf("set flag %q as true failed due to error %v", flag.Name, err)) + } + } + if flag.Name == "remote" { + err := flag.Value.Set("true") + if err != nil { + fmt.Fprint(os.Stdout, fmt.Sprintf("set flag %q as true failed due to error %v", flag.Name, err)) + } + } + }) + return versionCmd +} diff --git a/istioctl/cmd/istioctl/version_test.go b/istioctl/cmd/istioctl/version_test.go index 03da45a76827..560b5ac87be5 100644 --- a/istioctl/cmd/istioctl/version_test.go +++ b/istioctl/cmd/istioctl/version_test.go @@ -73,7 +73,7 @@ func TestVersion(t *testing.T) { cases := []testCase{ { // case 0 client-side only, normal output configs: []model.Config{}, - args: strings.Split("version --remote=false", " "), + args: strings.Split("version --remote=false --short=false", " "), expectedRegexp: regexp.MustCompile("version.BuildInfo{Version:\"unknown\", GitRevision:\"unknown\", " + "User:\"unknown\", Host:\"unknown\", GolangVersion:\"go1.([0-9+?(\\.)?]+)(rc[0-9]?)?\", " + "DockerHub:\"unknown\", BuildStatus:\"unknown\", GitTag:\"unknown\"}"),