diff --git a/pkg/cmd/taint/taint.go b/pkg/cmd/taint/taint.go index ec59d14c..2a74323c 100644 --- a/pkg/cmd/taint/taint.go +++ b/pkg/cmd/taint/taint.go @@ -248,7 +248,7 @@ func (o TaintOptions) Validate() error { continue } if len(taintRemove.Effect) == 0 || taintAdd.Effect == taintRemove.Effect { - conflictTaint := fmt.Sprintf("{\"%s\":\"%s\"}", taintRemove.Key, taintRemove.Effect) + conflictTaint := fmt.Sprintf("%s=%s", taintRemove.Key, taintRemove.Effect) conflictTaints = append(conflictTaints, conflictTaint) } } diff --git a/pkg/cmd/taint/taint_test.go b/pkg/cmd/taint/taint_test.go index a154c97d..02fd13be 100644 --- a/pkg/cmd/taint/taint_test.go +++ b/pkg/cmd/taint/taint_test.go @@ -216,6 +216,12 @@ func TestTaint(t *testing.T) { expectFatal: true, expectTaint: false, }, + { + description: "add and remove taint with same key and effect should be rejected", + args: []string{"node", "node-name", "foo=:NoExcute", "foo=:NoExcute-"}, + expectFatal: true, + expectTaint: false, + }, { description: "can't update existing taint on the node, since 'overwrite' flag is not set", oldTaints: []corev1.Taint{{