diff --git a/pkg/kubectl/cmd/run.go b/pkg/kubectl/cmd/run.go index 8c58acb55d7..15bbb496c73 100644 --- a/pkg/kubectl/cmd/run.go +++ b/pkg/kubectl/cmd/run.go @@ -280,7 +280,7 @@ func Run(f *cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *cob } outputFormat := cmdutil.GetFlagString(cmd, "output") - if outputFormat != "" { + if outputFormat != "" || cmdutil.GetDryRunFlag(cmd) { return f.PrintObject(cmd, mapper, obj, cmdOut) } cmdutil.PrintSuccess(mapper, false, cmdOut, mapping.Resource, args[0], "created") @@ -436,7 +436,7 @@ func generateService(f *cmdutil.Factory, cmd *cobra.Command, args []string, serv return err } - if cmdutil.GetFlagString(cmd, "output") != "" { + if cmdutil.GetFlagString(cmd, "output") != "" || cmdutil.GetDryRunFlag(cmd) { return f.PrintObject(cmd, mapper, obj, out) } cmdutil.PrintSuccess(mapper, false, out, mapping.Resource, args[0], "created") diff --git a/pkg/kubectl/cmd/run_test.go b/pkg/kubectl/cmd/run_test.go index de80a3c1e90..1b509c086f0 100644 --- a/pkg/kubectl/cmd/run_test.go +++ b/pkg/kubectl/cmd/run_test.go @@ -266,6 +266,7 @@ func TestGenerateService(t *testing.T) { sawPOST := false f, tf, codec, ns := NewAPIFactory() tf.ClientConfig = &restclient.Config{ContentConfig: restclient.ContentConfig{GroupVersion: testapi.Default.GroupVersion()}} + tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { @@ -299,9 +300,9 @@ func TestGenerateService(t *testing.T) { }), } cmd := &cobra.Command{} - cmd.Flags().String("output", "", "") cmd.Flags().Bool(cmdutil.ApplyAnnotationsFlag, false, "") cmd.Flags().Bool("record", false, "Record current kubectl command in the resource annotation.") + cmdutil.AddPrinterFlags(cmd) cmdutil.AddInclude3rdPartyFlags(cmd) addRunFlags(cmd)