mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 21:47:07 +00:00
distinguish which labels belong to resource
This commit is contained in:
parent
75e1bf8393
commit
d1cb6e36f2
@ -310,7 +310,7 @@ func NewKubectlCommand(f cmdutil.Factory, in io.Reader, out, err io.Writer) *cob
|
|||||||
{
|
{
|
||||||
Message: "Settings Commands:",
|
Message: "Settings Commands:",
|
||||||
Commands: []*cobra.Command{
|
Commands: []*cobra.Command{
|
||||||
NewCmdLabel(f, out),
|
NewCmdLabel(f, out, err),
|
||||||
NewCmdAnnotate(f, out),
|
NewCmdAnnotate(f, out),
|
||||||
NewCmdCompletion(out, ""),
|
NewCmdCompletion(out, ""),
|
||||||
},
|
},
|
||||||
|
@ -62,7 +62,8 @@ type LabelOptions struct {
|
|||||||
removeLabels []string
|
removeLabels []string
|
||||||
|
|
||||||
// Common shared fields
|
// Common shared fields
|
||||||
out io.Writer
|
out io.Writer
|
||||||
|
errout io.Writer
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -95,8 +96,11 @@ var (
|
|||||||
kubectl label pods foo bar-`))
|
kubectl label pods foo bar-`))
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewCmdLabel(f cmdutil.Factory, out io.Writer) *cobra.Command {
|
func NewCmdLabel(f cmdutil.Factory, out, errout io.Writer) *cobra.Command {
|
||||||
options := &LabelOptions{}
|
options := &LabelOptions{
|
||||||
|
errout: errout,
|
||||||
|
}
|
||||||
|
|
||||||
validArgs := cmdutil.ValidArgList(f)
|
validArgs := cmdutil.ValidArgList(f)
|
||||||
|
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
@ -280,8 +284,13 @@ func (o *LabelOptions) RunLabel(f cmdutil.Factory, cmd *cobra.Command) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
indent := ""
|
||||||
|
if !one {
|
||||||
|
indent = " "
|
||||||
|
fmt.Fprintf(o.errout, "Listing labels for %s.%s/%s:\n", info.Mapping.GroupVersionKind.Kind, info.Mapping.GroupVersionKind.Group, info.Name)
|
||||||
|
}
|
||||||
for k, v := range accessor.GetLabels() {
|
for k, v := range accessor.GetLabels() {
|
||||||
fmt.Fprintf(o.out, "%s=%s\n", k, v)
|
fmt.Fprintf(o.out, "%s%s=%s\n", indent, k, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -329,7 +329,7 @@ func TestLabelErrors(t *testing.T) {
|
|||||||
tf.ClientConfigVal = defaultClientConfig()
|
tf.ClientConfigVal = defaultClientConfig()
|
||||||
|
|
||||||
buf := bytes.NewBuffer([]byte{})
|
buf := bytes.NewBuffer([]byte{})
|
||||||
cmd := NewCmdLabel(tf, buf)
|
cmd := NewCmdLabel(tf, buf, buf)
|
||||||
cmd.SetOutput(buf)
|
cmd.SetOutput(buf)
|
||||||
|
|
||||||
for k, v := range testCase.flags {
|
for k, v := range testCase.flags {
|
||||||
@ -391,7 +391,7 @@ func TestLabelForResourceFromFile(t *testing.T) {
|
|||||||
tf.ClientConfigVal = defaultClientConfig()
|
tf.ClientConfigVal = defaultClientConfig()
|
||||||
|
|
||||||
buf := bytes.NewBuffer([]byte{})
|
buf := bytes.NewBuffer([]byte{})
|
||||||
cmd := NewCmdLabel(tf, buf)
|
cmd := NewCmdLabel(tf, buf, buf)
|
||||||
opts := LabelOptions{FilenameOptions: resource.FilenameOptions{
|
opts := LabelOptions{FilenameOptions: resource.FilenameOptions{
|
||||||
Filenames: []string{"../../../test/e2e/testing-manifests/statefulset/cassandra/controller.yaml"}}}
|
Filenames: []string{"../../../test/e2e/testing-manifests/statefulset/cassandra/controller.yaml"}}}
|
||||||
err := opts.Complete(buf, cmd, []string{"a=b"})
|
err := opts.Complete(buf, cmd, []string{"a=b"})
|
||||||
@ -424,7 +424,7 @@ func TestLabelLocal(t *testing.T) {
|
|||||||
tf.ClientConfigVal = defaultClientConfig()
|
tf.ClientConfigVal = defaultClientConfig()
|
||||||
|
|
||||||
buf := bytes.NewBuffer([]byte{})
|
buf := bytes.NewBuffer([]byte{})
|
||||||
cmd := NewCmdLabel(tf, buf)
|
cmd := NewCmdLabel(tf, buf, buf)
|
||||||
opts := LabelOptions{FilenameOptions: resource.FilenameOptions{
|
opts := LabelOptions{FilenameOptions: resource.FilenameOptions{
|
||||||
Filenames: []string{"../../../test/e2e/testing-manifests/statefulset/cassandra/controller.yaml"}},
|
Filenames: []string{"../../../test/e2e/testing-manifests/statefulset/cassandra/controller.yaml"}},
|
||||||
local: true}
|
local: true}
|
||||||
@ -482,8 +482,8 @@ func TestLabelMultipleObjects(t *testing.T) {
|
|||||||
tf.ClientConfigVal = defaultClientConfig()
|
tf.ClientConfigVal = defaultClientConfig()
|
||||||
|
|
||||||
buf := bytes.NewBuffer([]byte{})
|
buf := bytes.NewBuffer([]byte{})
|
||||||
cmd := NewCmdLabel(tf, buf)
|
|
||||||
opts := LabelOptions{all: true}
|
opts := LabelOptions{all: true}
|
||||||
|
cmd := NewCmdLabel(tf, buf, buf)
|
||||||
err := opts.Complete(buf, cmd, []string{"pods", "a=b"})
|
err := opts.Complete(buf, cmd, []string{"pods", "a=b"})
|
||||||
if err == nil {
|
if err == nil {
|
||||||
err = opts.Validate()
|
err = opts.Validate()
|
||||||
|
Loading…
Reference in New Issue
Block a user