kubectl: add a space between effect and operator when printing tolerations
Empty key and non-empty effect means to match all keys and values and the specified effect. However "kubectl describe" prints it without space between effect and operator. This patch adds the space for this case.
This commit is contained in:
@@ -4841,7 +4841,7 @@ func printTolerationsMultilineWithIndent(w PrefixWriter, initialIndent, title, i
|
||||
// - operator: "Exists"
|
||||
// is a special case which tolerates everything
|
||||
if toleration.Operator == corev1.TolerationOpExists && len(toleration.Value) == 0 {
|
||||
if len(toleration.Key) != 0 {
|
||||
if len(toleration.Key) != 0 || len(toleration.Effect) != 0 {
|
||||
w.Write(LEVEL_0, " op=Exists")
|
||||
} else {
|
||||
w.Write(LEVEL_0, "op=Exists")
|
||||
|
@@ -180,6 +180,7 @@ func TestDescribePodTolerations(t *testing.T) {
|
||||
Spec: corev1.PodSpec{
|
||||
Tolerations: []corev1.Toleration{
|
||||
{Operator: corev1.TolerationOpExists},
|
||||
{Effect: corev1.TaintEffectNoSchedule, Operator: corev1.TolerationOpExists},
|
||||
{Key: "key0", Operator: corev1.TolerationOpExists},
|
||||
{Key: "key1", Value: "value1"},
|
||||
{Key: "key2", Operator: corev1.TolerationOpEqual, Value: "value2", Effect: corev1.TaintEffectNoSchedule},
|
||||
@@ -195,6 +196,7 @@ func TestDescribePodTolerations(t *testing.T) {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
if !strings.Contains(out, " op=Exists\n") ||
|
||||
!strings.Contains(out, ":NoSchedule op=Exists\n") ||
|
||||
!strings.Contains(out, "key0 op=Exists\n") ||
|
||||
!strings.Contains(out, "key1=value1\n") ||
|
||||
!strings.Contains(out, "key2=value2:NoSchedule\n") ||
|
||||
|
Reference in New Issue
Block a user