From 5adee740008a65907bfd8d6e3c3275e24f23f27d Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Thu, 17 May 2018 20:39:21 +0300 Subject: [PATCH] kubeadm-upgrade: small improvements to diff 1) Store the io.Writer and pass it to sub-commands in upgrade.go 2) Check if the manifest path is an empty string in diff.go:runDiff() 3) Use the io.Writer that upgrade.go defines instead of writing to os.Stdout directly. --- cmd/kubeadm/app/cmd/upgrade/diff.go | 7 +++++-- cmd/kubeadm/app/cmd/upgrade/upgrade.go | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cmd/kubeadm/app/cmd/upgrade/diff.go b/cmd/kubeadm/app/cmd/upgrade/diff.go index 957b05f72ee..cf87756c678 100644 --- a/cmd/kubeadm/app/cmd/upgrade/diff.go +++ b/cmd/kubeadm/app/cmd/upgrade/diff.go @@ -17,8 +17,8 @@ limitations under the License. package upgrade import ( + "fmt" "io/ioutil" - "os" "github.com/golang/glog" "github.com/pmezard/go-difflib/difflib" @@ -119,6 +119,9 @@ func runDiff(flags *diffFlags, args []string) error { if err != nil { return err } + if path == "" { + return fmt.Errorf("empty manifest path") + } existingManifest, err := ioutil.ReadFile(path) if err != nil { return err @@ -133,7 +136,7 @@ func runDiff(flags *diffFlags, args []string) error { Context: flags.contextLines, } - difflib.WriteUnifiedDiff(os.Stdout, diff) + difflib.WriteUnifiedDiff(flags.parent.out, diff) } return nil } diff --git a/cmd/kubeadm/app/cmd/upgrade/upgrade.go b/cmd/kubeadm/app/cmd/upgrade/upgrade.go index 1993e67a22e..a7928aa01bc 100644 --- a/cmd/kubeadm/app/cmd/upgrade/upgrade.go +++ b/cmd/kubeadm/app/cmd/upgrade/upgrade.go @@ -37,6 +37,7 @@ type cmdUpgradeFlags struct { skipPreFlight bool ignorePreflightErrors []string ignorePreflightErrorsSet sets.String + out io.Writer } // NewCmdUpgrade returns the cobra command for `kubeadm upgrade` @@ -50,6 +51,7 @@ func NewCmdUpgrade(out io.Writer) *cobra.Command { printConfig: false, skipPreFlight: false, ignorePreflightErrorsSet: sets.NewString(), + out: out, } cmd := &cobra.Command{