summaryrefslogtreecommitdiff
path: root/roles/kubernetes/addons/openebs-zfs/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/kubernetes/addons/openebs-zfs/tasks/main.yml')
-rw-r--r--roles/kubernetes/addons/openebs-zfs/tasks/main.yml42
1 files changed, 42 insertions, 0 deletions
diff --git a/roles/kubernetes/addons/openebs-zfs/tasks/main.yml b/roles/kubernetes/addons/openebs-zfs/tasks/main.yml
new file mode 100644
index 00000000..577eef6d
--- /dev/null
+++ b/roles/kubernetes/addons/openebs-zfs/tasks/main.yml
@@ -0,0 +1,42 @@
+---
+- name: create base directory for openebs-zfs addon
+ file:
+ path: /etc/kubernetes/addons/openebs-zfs
+ state: directory
+
+- name: copy config for openebs-zfs
+ template:
+ src: "zfs-operator.{{ kubernetes_openebs_zfs_version }}.yml.j2"
+ dest: /etc/kubernetes/addons/openebs-zfs/config.yml
+
+- name: check if openebs-zfs is already installed
+ check_mode: no
+ command: kubectl --kubeconfig /etc/kubernetes/admin.conf diff -f /etc/kubernetes/addons/openebs-zfs/config.yml
+ failed_when: false
+ changed_when: false
+ register: kube_openebs_zfs_config_diff_result
+
+- name: install openebs-zfs onto the cluster
+ when: kube_openebs_zfs_config_diff_result.rc != 0
+ command: kubectl --kubeconfig /etc/kubernetes/admin.conf apply -f /etc/kubernetes/addons/openebs-zfs/config.yml
+
+
+- name: copy storageclasses config for openebs-zfs
+ loop: "{{ kubernetes_openebs_zfs_storage_classes | dict2items }}"
+ loop_control:
+ label: "{{ item.key }}"
+ template:
+ src: "storageclass.yml.j2"
+ dest: "/etc/kubernetes/addons/openebs-zfs/sc-{{ item.key }}.yml"
+
+- name: check if openebs-zfs storageclass already exists
+ loop: "{{ kubernetes_openebs_zfs_storage_classes | list }}"
+ check_mode: no
+ command: "kubectl --kubeconfig /etc/kubernetes/admin.conf diff -f /etc/kubernetes/addons/openebs-zfs/sc-{{ item }}.yml"
+ failed_when: false
+ changed_when: false
+ register: kube_openebs_zfs_sc_diff
+
+- name: install/update storageclasses for openebs-zfs
+ loop: "{{ kube_openebs_zfs_sc_diff.results | selectattr('rc', 'ne', 0) | map(attribute='item') }}"
+ command: "kubectl --kubeconfig /etc/kubernetes/admin.conf apply -f /etc/kubernetes/addons/openebs-zfs/sc-{{ item }}.yml"