From 9463b70edd7d958d915a43b0c74333d85dfa09e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20Kr=C3=BCger?= <ak@patientsky.com>
Date: Mon, 3 Dec 2018 19:29:42 +0100
Subject: [PATCH] Cleanup defaults file from kubernetes-apps and add dashboard
 to download role (#3800)

* Remove variables defined in download role. Fixes #3799

* Cleanup some more variables

* Fix bad templating

* Minor fix

* Add dashboard to download role. Fixes #3736
---
 docs/netcheck.md                              |  2 --
 roles/download/defaults/main.yml              | 12 ++++++++++
 .../kubernetes-apps/ansible/defaults/main.yml | 22 +------------------
 .../templates/netchecker-agent-ds.yml.j2      |  2 +-
 .../netchecker-agent-hostnet-ds.yml.j2        |  2 +-
 .../netchecker-server-deployment.yml.j2       |  2 +-
 6 files changed, 16 insertions(+), 26 deletions(-)

diff --git a/docs/netcheck.md b/docs/netcheck.md
index 1444fc16a..a3c50afcf 100644
--- a/docs/netcheck.md
+++ b/docs/netcheck.md
@@ -25,8 +25,6 @@ There are related application specific variables:
 netchecker_port: 31081
 agent_report_interval: 15
 netcheck_namespace: default
-agent_img: "mirantis/k8s-netchecker-agent:v1.2.2"
-server_img: "mirantis/k8s-netchecker-server:v1.2.2"
 ```
 
 Note that the application verifies DNS resolve for FQDNs comprising only the
diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index 396498ad1..80ebb3f12 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -220,6 +220,9 @@ addon_resizer_version: "1.8.3"
 addon_resizer_image_repo: "k8s.gcr.io/addon-resizer"
 addon_resizer_image_tag: "{{ addon_resizer_version }}"
 
+dashboard_image_repo: "gcr.io/google_containers/kubernetes-dashboard-{{ image_arch }}"
+dashboard_image_tag: "v1.10.0"
+
 downloads:
   netcheck_server:
     enabled: "{{ deploy_netchecker }}"
@@ -626,6 +629,15 @@ downloads:
     groups:
       - kube-node
 
+  dashboard:
+    enabled: "{{ dashboard_enabled }}"
+    container: true
+    repo: "{{ dashboard_image_repo }}"
+    tag: "{{ dashboard_image_tag }}"
+    sha256: "{{ dashboard_digest_checksum|default(None) }}"
+    groups:
+      - kube-master
+
 download_defaults:
   container: false
   file: false
diff --git a/roles/kubernetes-apps/ansible/defaults/main.yml b/roles/kubernetes-apps/ansible/defaults/main.yml
index 6cdc126e4..f5896903b 100644
--- a/roles/kubernetes-apps/ansible/defaults/main.yml
+++ b/roles/kubernetes-apps/ansible/defaults/main.yml
@@ -1,8 +1,4 @@
 ---
-# Versions
-kubedns_version: 1.14.13
-kubednsautoscaler_version: 1.2.0
-
 # Limits for dnsmasq/kubedns apps
 dns_memory_limit: 170Mi
 dns_cpu_requests: 100m
@@ -10,27 +6,13 @@ dns_memory_requests: 70Mi
 dns_min_replicas: 2
 dns_nodes_per_replica: 10
 dns_cores_per_replica: 20
-dns_prevent_single_point_failure: "{{ 'true' if dns_min_replicas > 1 else 'false' }}"
-
-# Images
-image_arch: "{{host_architecture}}"
-
-kubedns_image_repo: "gcr.io/google_containers/k8s-dns-kube-dns-{{ image_arch }}"
-kubedns_image_tag: "{{ kubedns_version }}"
-dnsmasq_nanny_image_repo: "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-{{ image_arch }}"
-dnsmasq_nanny_image_tag: "{{ kubedns_version }}"
-dnsmasq_sidecar_image_repo: "gcr.io/google_containers/k8s-dns-sidecar-{{ image_arch }}"
-dnsmasq_sidecar_image_tag: "{{ kubedns_version }}"
-dnsautoscaler_image_repo: "gcr.io/google_containers/cluster-proportional-autoscaler-{{ image_arch }}"
-dnsautoscaler_image_tag: "{{ kubednsautoscaler_version }}"
+dns_prevent_single_point_failure: "{{ 'true' if dns_min_replicas|int > 1 else 'false' }}"
 
 # Netchecker
 deploy_netchecker: false
 netchecker_port: 31081
 agent_report_interval: 15
 netcheck_namespace: default
-agent_img: "{{ netcheck_agent_image_repo }}:{{ netcheck_agent_image_tag }}"
-server_img: "{{ netcheck_server_image_repo }}:{{ netcheck_server_image_tag }}"
 
 # Limits for netchecker apps
 netchecker_agent_cpu_limit: 30m
@@ -50,8 +32,6 @@ netchecker_server_group: 1000
 
 # Dashboard
 dashboard_enabled: true
-dashboard_image_repo: gcr.io/google_containers/kubernetes-dashboard-{{ image_arch }}
-dashboard_image_tag: v1.10.0
 
 # Limits for dashboard
 dashboard_cpu_limit: 100m
diff --git a/roles/kubernetes-apps/ansible/templates/netchecker-agent-ds.yml.j2 b/roles/kubernetes-apps/ansible/templates/netchecker-agent-ds.yml.j2
index ef947dcba..414e79abc 100644
--- a/roles/kubernetes-apps/ansible/templates/netchecker-agent-ds.yml.j2
+++ b/roles/kubernetes-apps/ansible/templates/netchecker-agent-ds.yml.j2
@@ -22,7 +22,7 @@ spec:
         beta.kubernetes.io/os: linux
       containers:
         - name: netchecker-agent
-          image: "{{ agent_img }}"
+          image: "{{ netcheck_agent_image_repo }}:{{ netcheck_agent_image_tag }}"
           env:
             - name: MY_POD_NAME
               valueFrom:
diff --git a/roles/kubernetes-apps/ansible/templates/netchecker-agent-hostnet-ds.yml.j2 b/roles/kubernetes-apps/ansible/templates/netchecker-agent-hostnet-ds.yml.j2
index 40d5036b4..79d801f6c 100644
--- a/roles/kubernetes-apps/ansible/templates/netchecker-agent-hostnet-ds.yml.j2
+++ b/roles/kubernetes-apps/ansible/templates/netchecker-agent-hostnet-ds.yml.j2
@@ -26,7 +26,7 @@ spec:
           operator: Exists
       containers:
         - name: netchecker-agent
-          image: "{{ agent_img }}"
+          image: "{{ netcheck_agent_image_repo }}:{{ netcheck_agent_image_tag }}"
           env:
             - name: MY_POD_NAME
               valueFrom:
diff --git a/roles/kubernetes-apps/ansible/templates/netchecker-server-deployment.yml.j2 b/roles/kubernetes-apps/ansible/templates/netchecker-server-deployment.yml.j2
index 3060cf27a..28327e124 100644
--- a/roles/kubernetes-apps/ansible/templates/netchecker-server-deployment.yml.j2
+++ b/roles/kubernetes-apps/ansible/templates/netchecker-server-deployment.yml.j2
@@ -16,7 +16,7 @@ spec:
 {% endif %}
       containers:
         - name: netchecker-server
-          image: "{{ server_img }}"
+          image: "{{ netcheck_server_image_repo }}:{{ netcheck_server_image_tag }}"
           env:
           imagePullPolicy: {{ k8s_image_pull_policy }}
           resources:
-- 
GitLab