Merge pull request #28606 from dims/fix-issues-19636

Automatic merge from submit-queue

Fix kubectl run to print object on dry run

Originally Authored By tnachen in PR:
https://github.com/kubernetes/kubernetes/pull/25842

Fixes #19636
This commit is contained in:
k8s-merge-robot 2016-07-12 21:05:58 -07:00 committed by GitHub
commit 47d06dd9c2
2 changed files with 4 additions and 3 deletions

View File

@ -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")

View File

@ -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)