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 0000000000000000000000000000000000000000..d3ed1ad46e59dc90dfa95857904d4b079777e09a --- /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 2342ccb1747b308e4735cb1d8af9f23f73cc6a04..347487bf222891f34d660fd9470d792236a3aa45 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'