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