Skip to content

Commit 8b6a01d

Browse files
Merge pull request #1728 from awgreene/node-selector-bug
Bug 1869523: Fix nodeSelector subscription config override
2 parents 1fdd347 + 6ddb993 commit 8b6a01d

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

pkg/controller/operators/olm/overrides/inject.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,9 @@ func InjectNodeSelectorIntoDeployment(podSpec *corev1.PodSpec, nodeSelector map[
217217
return errors.New("no pod spec provided")
218218
}
219219

220-
podSpec.NodeSelector = nodeSelector
220+
if nodeSelector != nil {
221+
podSpec.NodeSelector = nodeSelector
222+
}
223+
221224
return nil
222225
}

pkg/controller/operators/olm/overrides/inject_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,30 @@ func TestInjectNodeSelectorIntoDeployment(t *testing.T) {
746746
NodeSelector: map[string]string{"foo": "bar"},
747747
},
748748
},
749+
{
750+
// Existing PodSpec is left alone if nodeSelector is nil
751+
// Expected: PodSpec is not changed
752+
name: "WithNilNodeSelector",
753+
podSpec: &corev1.PodSpec{
754+
NodeSelector: defaultNodeSelector,
755+
},
756+
nodeSelector: nil,
757+
expected: &corev1.PodSpec{
758+
NodeSelector: defaultNodeSelector,
759+
},
760+
},
761+
{
762+
// Existing PodSpec is set to an empty map if the nodeSelector is an empty map
763+
// Expected: PodSpec nodeSelector is set to an empty map
764+
name: "WithEmptyNodeSelector",
765+
podSpec: &corev1.PodSpec{
766+
NodeSelector: defaultNodeSelector,
767+
},
768+
nodeSelector: map[string]string{},
769+
expected: &corev1.PodSpec{
770+
NodeSelector: map[string]string{},
771+
},
772+
},
749773
}
750774

751775
for _, tt := range tests {

0 commit comments

Comments
 (0)