Skip to content

Commit

Permalink
fix(kumactl) check version after loading config
Browse files Browse the repository at this point in the history
* fix(kumactl) Check version after loading config.

Signed-off-by: Paul Parkanzky <paul.parkanzky@konghq.com>

* fix(kumactl) Fix error handling

* Properly early-return error to calling function
* Send warnings to stderr

Signed-off-by: Paul Parkanzky <paul.parkanzky@konghq.com>

* style(kumactl) Combine assignment / if statement

Signed-off-by: Paul Parkanzky <paul.parkanzky@konghq.com>
  • Loading branch information
parkanzky authored Apr 26, 2021
1 parent 328997a commit 5c757a7
Showing 1 changed file with 16 additions and 10 deletions.
26 changes: 16 additions & 10 deletions app/kumactl/cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,6 @@ func NewRootCmd(root *kumactl_cmd.RootContext) *cobra.Command {
Short: "Management tool for Kuma",
Long: `Management tool for Kuma.`,
PersistentPreRunE: func(cmd *cobra.Command, _ []string) error {
client, err := root.CurrentApiClient()
if err != nil {
kumactlLog.Error(err, "Unable to get index client")
} else {
kumaBuildVersion, _ = client.GetVersion()
}
level, err := kuma_log.ParseLogLevel(args.logLevel)
if err != nil {
return err
Expand All @@ -57,16 +51,28 @@ func NewRootCmd(root *kumactl_cmd.RootContext) *cobra.Command {
// once command line flags have been parsed,
// avoid printing usage instructions
cmd.SilenceUsage = true
if kumaBuildVersion != nil && kumaBuildVersion.Version != kuma_version.Build.Version {
cmd.Println("Warning: Your kumactl version is " + kuma_version.Build.Version + " which is not the same as " + kumaBuildVersion.Version + " for CP. Update your kumactl.")
}
if root.IsFirstTimeUsage() {
root.Runtime.Config = kumactl_config.DefaultConfiguration()
if err := root.SaveConfig(); err != nil {
return err
}
}
return root.LoadConfig()

if err := root.LoadConfig(); err != nil {
return err
}

client, err := root.CurrentApiClient()
if err != nil {
kumactlLog.Error(err, "Unable to get index client")
} else {
kumaBuildVersion, _ = client.GetVersion()
}

if kumaBuildVersion != nil && (kumaBuildVersion.Version != kuma_version.Build.Version || kumaBuildVersion.Tagline != kuma_version.Product) {
cmd.PrintErr("WARNING: You are using kumactl version " + kuma_version.Build.Version + " for " + kuma_version.Product + ", but the server returned version: " + kumaBuildVersion.Tagline + " " + kumaBuildVersion.Version + "\n")
}
return nil
},
}
// root flags
Expand Down

0 comments on commit 5c757a7

Please sign in to comment.