From 0eaba8b8890cc06079893fcd97eea0b37d38eb9b Mon Sep 17 00:00:00 2001
From: Varac <varac@varac.net>
Date: Wed, 6 Mar 2019 20:39:39 +0100
Subject: [PATCH] Migrate installTiller() to master

Closes #68
---
 .../files/k8s-config/tiller-permissions.yml   | 18 ++++++++++++
 ansible/roles/setup/tasks/main.yml            | 28 +++++++++++++++++--
 2 files changed, 43 insertions(+), 3 deletions(-)
 create mode 100644 ansible/roles/setup/files/k8s-config/tiller-permissions.yml

diff --git a/ansible/roles/setup/files/k8s-config/tiller-permissions.yml b/ansible/roles/setup/files/k8s-config/tiller-permissions.yml
new file mode 100644
index 000000000..d3ed1ad46
--- /dev/null
+++ b/ansible/roles/setup/files/k8s-config/tiller-permissions.yml
@@ -0,0 +1,18 @@
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: tiller
+  namespace: kube-system
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1beta1
+metadata:
+  name: tiller-clusterrolebinding
+subjects:
+- kind: ServiceAccount
+  name: tiller
+  namespace: kube-system
+roleRef:
+  kind: ClusterRole
+  name: cluster-admin
+  apiGroup: ""
diff --git a/ansible/roles/setup/tasks/main.yml b/ansible/roles/setup/tasks/main.yml
index 2342ccb17..347487bf2 100644
--- a/ansible/roles/setup/tasks/main.yml
+++ b/ansible/roles/setup/tasks/main.yml
@@ -21,10 +21,32 @@
     src: /oas/control/local/rke/kube_config_cluster.yml
     dest: /root/.kube/config
 
+- name: Install python3-pip
+  package:
+    name: python3-pip
+
+- name: Install openshift python module via pip3
+  pip:
+    name: openshift
+    executable: /usr/bin/pip3
+
 - name: Install Tiller
-  command: 'oas_control /usr/local/bin/control installTiller'
-  register: installTiller
-- debug: var=installTiller.stdout
+  k8s:
+    state: present
+    definition: "{{ lookup('file', 'k8s-config/tiller-permissions.yml') }}"
+
+- name: Check if tiller is already instaled
+  shell: '/snap/bin/helm ls || /bin/true'
+  register: helm_ls
+  changed_when: false
+
+- name: Initialize helm
+  command: /snap/bin/helm init --upgrade --service-account=tiller
+  when: helm_ls.stderr.find('Error') != -1
+
+- name: Wait for tiller to become available
+  command: /snap/bin/kubectl rollout status -n kube-system deployment/tiller-deploy
+  changed_when: false
 
 - name: Create Storage
   command: 'oas_control /usr/local/bin/control createStorage'
-- 
GitLab