Refactor node taints to use labels
Use kubelet flag to set taints instead of explicitly
with kubectl.
Change-Id: Iae1390c6ac0c21e0b139682c2a750d0cd54a7031
diff --git a/kubernetes/files/kubelet/default.master b/kubernetes/files/kubelet/default.master
index 398fb20..d1f35d0 100644
--- a/kubernetes/files/kubelet/default.master
+++ b/kubernetes/files/kubelet/default.master
@@ -11,6 +11,9 @@
--hostname-override={{ master.host.name }} \
--v={{ master.get('verbosity', 2) }} \
--node-labels=node-role.kubernetes.io/master=true \
+{%- if master.get('unschedulable', 'false') %}
+--register-with-taints=node-role.kubernetes.io/master=:NoSchedule \
+{%- endif %}
{%- if common.get('cloudprovider', {}).get('enabled') %}
--cloud-provider={{ common.cloudprovider.provider }} \
{%- if common.get('cloudprovider', {}).get('provider') == 'openstack' %}
diff --git a/kubernetes/files/kubelet/default.pool b/kubernetes/files/kubelet/default.pool
index 496854a..37cc3a4 100644
--- a/kubernetes/files/kubelet/default.pool
+++ b/kubernetes/files/kubelet/default.pool
@@ -12,7 +12,14 @@
--cni-bin-dir={{ pool.apiserver.get('cni_bin_dir', '/opt/cni/bin') }} \
--hostname-override={{ pool.host.name }} \
--v={{ pool.get('verbosity', 2) }} \
+{%- if pillar.kubernetes.master is defined %}
+--node-labels=node-role.kubernetes.io/master=true \
+{%- if master.get('unschedulable', 'false') %}
+--register-with-taints=node-role.kubernetes.io/master=:NoSchedule \
+{% endif %}
+{%- else %}
--node-labels=node-role.kubernetes.io/node=true \
+{%- endif %}
{%- if pool.network.engine in ['calico', 'opencontrail'] %}
--network-plugin=cni \
--network-plugin-dir=/etc/cni/net.d \
diff --git a/kubernetes/master/controller.sls b/kubernetes/master/controller.sls
index f060f3f..9855591 100644
--- a/kubernetes/master/controller.sls
+++ b/kubernetes/master/controller.sls
@@ -246,36 +246,6 @@
{%- endfor %}
-{%- if master.get('unschedulable', 'false') %}
-kubernetes_node_ready_{{ master.host.name}}:
- cmd.run:
- - name: bash -c 'while ! kubectl get nodes {{ master.host.name }}; do sleep 5; done'
- - timeout: 180
- {%- if grains.get('noservices') %}
- - onlyif: /bin/false
- {%- endif %}
-
-kubernetes_taint_master_{{ master.host.name }}:
- cmd.run:
- - name: kubectl taint --overwrite nodes {{ master.host.name }} node-role.kubernetes.io/master=:NoSchedule
- - require:
- - cmd: kubernetes_node_ready_{{ master.host.name}}
- {%- if grains.get('noservices') %}
- - onlyif: /bin/false
- {%- endif %}
-
-kubernetes_label_master_{{ master.host.name }}:
- cmd.run:
- - name: kubectl label --overwrite nodes {{ master.host.name }} node-role.kubernetes.io=master
- - require:
- - cmd: kubernetes_node_ready_{{ master.host.name}}
- {%- if grains.get('noservices') %}
- - onlyif: /bin/false
- {%- endif %}
-
-
-{%- endif %}
-
{%- if master.registry.secret is defined %}
{%- for name,registry in master.registry.secret.iteritems() %}