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