mirror of https://github.com/k3s-io/k3s
Merge pull request #9705 from hurf/label4describe
Add label support for kubectl describepull/6/head
commit
0453f9ea9d
|
@ -275,6 +275,8 @@ _kubectl_describe()
|
|||
|
||||
flags+=("--help")
|
||||
flags+=("-h")
|
||||
flags+=("--selector=")
|
||||
two_word_flags+=("-l")
|
||||
|
||||
must_have_one_flag=()
|
||||
must_have_one_noun=()
|
||||
|
|
|
@ -22,12 +22,16 @@ $ kubectl describe nodes kubernetes-minion-emt8.c.myproject.internal
|
|||
|
||||
// Describe a pod
|
||||
$ kubectl describe pods/nginx
|
||||
|
||||
// Describe pods by label name=myLabel
|
||||
$ kubectl describe po -l name=myLabel
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
```
|
||||
-h, --help=false: help for describe
|
||||
-l, --selector="": Selector (label query) to filter on
|
||||
```
|
||||
|
||||
### Options inherited from parent commands
|
||||
|
@ -62,6 +66,6 @@ $ kubectl describe pods/nginx
|
|||
### SEE ALSO
|
||||
* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager
|
||||
|
||||
###### Auto generated by spf13/cobra at 2015-05-21 10:33:11.177122438 +0000 UTC
|
||||
###### Auto generated by spf13/cobra at 2015-06-12 06:44:05.105790085 +0000 UTC
|
||||
|
||||
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/kubectl_describe.md?pixel)]()
|
||||
|
|
|
@ -25,6 +25,10 @@ given resource.
|
|||
\fB\-h\fP, \fB\-\-help\fP=false
|
||||
help for describe
|
||||
|
||||
.PP
|
||||
\fB\-l\fP, \fB\-\-selector\fP=""
|
||||
Selector (label query) to filter on
|
||||
|
||||
|
||||
.SH OPTIONS INHERITED FROM PARENT COMMANDS
|
||||
.PP
|
||||
|
@ -135,6 +139,9 @@ $ kubectl describe nodes kubernetes\-minion\-emt8.c.myproject.internal
|
|||
// Describe a pod
|
||||
$ kubectl describe pods/nginx
|
||||
|
||||
// Describe pods by label name=myLabel
|
||||
$ kubectl describe po \-l name=myLabel
|
||||
|
||||
.fi
|
||||
.RE
|
||||
|
||||
|
|
|
@ -43,17 +43,22 @@ given resource.`,
|
|||
$ kubectl describe nodes kubernetes-minion-emt8.c.myproject.internal
|
||||
|
||||
// Describe a pod
|
||||
$ kubectl describe pods/nginx`,
|
||||
$ kubectl describe pods/nginx
|
||||
|
||||
// Describe pods by label name=myLabel
|
||||
$ kubectl describe po -l name=myLabel`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
err := RunDescribe(f, out, cmd, args)
|
||||
cmdutil.CheckErr(err)
|
||||
},
|
||||
ValidArgs: kubectl.DescribableResources(),
|
||||
}
|
||||
cmd.Flags().StringP("selector", "l", "", "Selector (label query) to filter on")
|
||||
return cmd
|
||||
}
|
||||
|
||||
func RunDescribe(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) error {
|
||||
selector := cmdutil.GetFlagString(cmd, "selector")
|
||||
cmdNamespace, err := f.DefaultNamespace()
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -63,6 +68,7 @@ func RunDescribe(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []s
|
|||
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand()).
|
||||
ContinueOnError().
|
||||
NamespaceParam(cmdNamespace).DefaultNamespace().
|
||||
SelectorParam(selector).
|
||||
ResourceTypeOrNameArgs(false, args...).
|
||||
Flatten().
|
||||
Do()
|
||||
|
@ -86,16 +92,15 @@ func RunDescribe(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []s
|
|||
}
|
||||
return err
|
||||
}
|
||||
if len(infos) > 1 {
|
||||
return fmt.Errorf("multiple resources provided: %v", args)
|
||||
}
|
||||
info := infos[0]
|
||||
|
||||
s, err := describer.Describe(info.Namespace, info.Name)
|
||||
if err != nil {
|
||||
return err
|
||||
for _, info := range infos {
|
||||
s, err := describer.Describe(info.Namespace, info.Name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fmt.Fprintf(out, "%s\n\n", s)
|
||||
}
|
||||
fmt.Fprintf(out, "%s\n", s)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ func TestDescribeUnknownSchemaObject(t *testing.T) {
|
|||
t.Errorf("unexpected describer: %#v", d)
|
||||
}
|
||||
|
||||
if buf.String() != fmt.Sprintf("%s\n", d.Output) {
|
||||
if buf.String() != fmt.Sprintf("%s\n\n", d.Output) {
|
||||
t.Errorf("unexpected output: %s", buf.String())
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue