Fix reconciling dns addons on version changing
- Check coredns and kube-dns addons presence and remove its svc
directly to avoid freezes during kubectl apply --prune due
ClusterIP conflicts.
Change-Id: Id09984e4ef49dc4d8dcd7c6c3e511f13f0057c1d
Related-PROD: PROD-23928
diff --git a/kubernetes/master/kube-addons.sls b/kubernetes/master/kube-addons.sls
index 99bf155..20d05c3 100644
--- a/kubernetes/master/kube-addons.sls
+++ b/kubernetes/master/kube-addons.sls
@@ -209,6 +209,13 @@
/etc/kubernetes/addons/dns:
file.absent
+kube_dns_service_absent:
+ cmd.run:
+ - name: kubectl -n kube-system delete svc kube-dns > /dev/null || echo "kube-dns is absent. OK" && true
+ {%- if grains.get('noservices') %}
+ - onlyif: /bin/false
+ {%- endif %}
+
{%- if master.get('federation', {}).get('enabled') or (common.addons.get('externaldns', {}).get('enabled') and common.addons.get('externaldns', {}).get('provider') == "coredns") %}
/etc/kubernetes/addons/coredns/coredns-etcd-operator-deployment.yaml:
file.managed:
@@ -280,6 +287,13 @@
/etc/kubernetes/addons/coredns:
file.absent
+core_dns_service_absent:
+ cmd.run:
+ - name: kubectl -n {{ common.addons.get('coredns', {}).get('namespace', 'kube-system') }} delete svc coredns > /dev/null || echo "coredns is absent. OK" && true
+ {%- if grains.get('noservices') %}
+ - onlyif: /bin/false
+ {%- endif %}
+
/etc/kubernetes/addons/dns/kubedns-svc.yaml:
file.managed:
- source: salt://kubernetes/files/kube-addons/dns/kubedns-svc.yaml