From a841b91aed013c117cc05902ba27dd052d35f6ed Mon Sep 17 00:00:00 2001 From: Masahiro Sano Date: Wed, 11 Feb 2015 20:05:41 +0900 Subject: [PATCH] allocate map if Labels is not initialized --- pkg/kubectl/cmd/label.go | 4 ++++ pkg/kubectl/cmd/label_test.go | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/pkg/kubectl/cmd/label.go b/pkg/kubectl/cmd/label.go index 91211314033..a0aedc75c26 100644 --- a/pkg/kubectl/cmd/label.go +++ b/pkg/kubectl/cmd/label.go @@ -156,6 +156,10 @@ func labelFunc(obj runtime.Object, overwrite bool, resourceVersion string, label } } + if meta.Labels == nil { + meta.Labels = make(map[string]string) + } + for key, value := range labels { meta.Labels[key] = value } diff --git a/pkg/kubectl/cmd/label_test.go b/pkg/kubectl/cmd/label_test.go index 89a20b82cd7..ea109b47ae2 100644 --- a/pkg/kubectl/cmd/label_test.go +++ b/pkg/kubectl/cmd/label_test.go @@ -230,6 +230,17 @@ func TestLabelFunc(t *testing.T) { }, }, }, + { + obj: &api.Pod{ + ObjectMeta: api.ObjectMeta{}, + }, + labels: map[string]string{"a": "b"}, + expected: &api.Pod{ + ObjectMeta: api.ObjectMeta{ + Labels: map[string]string{"a": "b"}, + }, + }, + }, } for _, test := range tests { out, err := labelFunc(test.obj, test.overwrite, test.version, test.labels, test.remove)