From 5c4cd002e862b48c814b81acb55adaaac0c3c001 Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Fri, 28 Sep 2018 00:48:28 -0700 Subject: [PATCH] Only reset affinity when corresponding keys are in the request --- mapper/scheduling.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/mapper/scheduling.go b/mapper/scheduling.go index 5dc0d89b..a3505ed2 100644 --- a/mapper/scheduling.go +++ b/mapper/scheduling.go @@ -202,9 +202,17 @@ func (s SchedulingMapper) ToInternal(data map[string]interface{}) error { data["nodeName"] = nodeName } - requireAll := convert.ToStringSlice(values.GetValueN(data, "scheduling", "node", "requireAll")) - requireAny := convert.ToStringSlice(values.GetValueN(data, "scheduling", "node", "requireAny")) - preferred := convert.ToStringSlice(values.GetValueN(data, "scheduling", "node", "preferred")) + requireAllV := values.GetValueN(data, "scheduling", "node", "requireAll") + requireAnyV := values.GetValueN(data, "scheduling", "node", "requireAny") + preferredV := values.GetValueN(data, "scheduling", "node", "preferred") + + if requireAllV == nil && requireAnyV == nil && preferredV == nil { + return nil + } + + requireAll := convert.ToStringSlice(requireAllV) + requireAny := convert.ToStringSlice(requireAnyV) + preferred := convert.ToStringSlice(preferredV) if len(requireAll) == 0 && len(requireAny) == 0 && len(preferred) == 0 { values.PutValue(data, nil, "affinity", "nodeAffinity")