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{