From e1967b070016a85e509cbb29b6df52174ef09864 Mon Sep 17 00:00:00 2001
From: Maciej Wereski <m.wereski@partner.samsung.com>
Date: Wed, 1 Sep 2021 18:05:00 +0200
Subject: [PATCH] MetalLB: keep nodeSelector in one place (#7931)

Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
---
 roles/kubernetes-apps/metallb/defaults/main.yml    |  6 ++++--
 .../metallb/templates/metallb.yml.j2               | 14 +++++---------
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/roles/kubernetes-apps/metallb/defaults/main.yml b/roles/kubernetes-apps/metallb/defaults/main.yml
index 211bbb176..57d82ef31 100644
--- a/roles/kubernetes-apps/metallb/defaults/main.yml
+++ b/roles/kubernetes-apps/metallb/defaults/main.yml
@@ -6,8 +6,10 @@ metallb_port: "7472"
 metallb_memberlist_port: "7946"
 metallb_peers: []
 metallb_speaker_enabled: true
-metallb_speaker_nodeselector: {}
-metallb_controller_nodeselector: {}
+metallb_speaker_nodeselector:
+  kubernetes.io/os: "linux"
+metallb_controller_nodeselector:
+  kubernetes.io/os: "linux"
 metallb_speaker_tolerations:
   - effect: NoSchedule
     key: node-role.kubernetes.io/master
diff --git a/roles/kubernetes-apps/metallb/templates/metallb.yml.j2 b/roles/kubernetes-apps/metallb/templates/metallb.yml.j2
index cde041549..fe011c8a3 100644
--- a/roles/kubernetes-apps/metallb/templates/metallb.yml.j2
+++ b/roles/kubernetes-apps/metallb/templates/metallb.yml.j2
@@ -398,14 +398,12 @@ spec:
             - ALL
           readOnlyRootFilesystem: true
       hostNetwork: true
-      nodeSelector:
-        kubernetes.io/os: linux
-      serviceAccountName: speaker
-      terminationGracePeriodSeconds: 2
 {% if metallb_speaker_nodeselector %}
       nodeSelector:
         {{ metallb_speaker_nodeselector | to_nice_yaml | indent(width=8) }}
 {%- endif %}
+      serviceAccountName: speaker
+      terminationGracePeriodSeconds: 2
 {% if metallb_speaker_tolerations %}
       tolerations:
         {{ metallb_speaker_tolerations | to_nice_yaml(indent=2) | indent(width=8) }}
@@ -435,10 +433,6 @@ spec:
         app: metallb
         component: controller
     spec:
-{% if metallb_controller_nodeselector %}
-      nodeSelector:
-        {{ metallb_controller_nodeselector | to_nice_yaml | indent(width=8) }}
-{%- endif %}
 {% if metallb_controller_tolerations %}
       tolerations:
         {{ metallb_controller_tolerations | to_nice_yaml(indent=2) | indent(width=8) }}
@@ -463,8 +457,10 @@ spec:
             drop:
             - all
           readOnlyRootFilesystem: true
+{% if metallb_controller_nodeselector %}
       nodeSelector:
-        kubernetes.io/os: linux
+        {{ metallb_controller_nodeselector | to_nice_yaml | indent(width=8) }}
+{%- endif %}
       securityContext:
         runAsNonRoot: true
         runAsUser: 65534
-- 
GitLab