Merge pull request #27263 from sttts/sttts-kubectl-attach-cmdName

Automatic merge from submit-queue

Dynamically derive AttachOptions.CommandName

This PR sets AttachOptions.CommandName dynamically depending on the corba Command
hierarchy. If the root command is named e.g. "oc" (for the OpenShift cli) this
will result in "oc attach" instead of the static "kubectl attach" before this
patch.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1341450
This commit is contained in:
k8s-merge-robot 2016-06-25 18:40:56 -07:00 committed by GitHub
commit 84c8158b2a
2 changed files with 6 additions and 3 deletions

View File

@ -53,8 +53,6 @@ func NewCmdAttach(f *cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer)
Out: cmdOut,
Err: cmdErr,
CommandName: "kubectl attach",
Attach: &DefaultRemoteAttach{},
}
cmd := &cobra.Command{
@ -142,6 +140,10 @@ func (p *AttachOptions) Complete(f *cmdutil.Factory, cmd *cobra.Command, argsIn
}
p.Client = client
if p.CommandName == "" {
p.CommandName = cmd.CommandPath()
}
return nil
}

View File

@ -227,6 +227,8 @@ func Run(f *cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *cob
Stdin: interactive,
TTY: tty,
CommandName: cmd.Parent().CommandPath() + " attach",
Attach: &DefaultRemoteAttach{},
}
config, err := f.ClientConfig()
@ -346,7 +348,6 @@ func handleAttachPod(f *cmdutil.Factory, c *client.Client, pod *api.Pod, opts *A
opts.Client = c
opts.PodName = pod.Name
opts.Namespace = pod.Namespace
opts.CommandName = "kubectl attach"
if err := opts.Run(); err != nil {
fmt.Fprintf(opts.Out, "Error attaching, falling back to logs: %v\n", err)
req, err := f.LogsForObject(pod, &api.PodLogOptions{Container: opts.GetContainerName(pod)})