summaryrefslogtreecommitdiffstats
path: root/roles/ands_kaas/tasks/do_storage.yml
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2018-03-18 22:59:31 +0100
committerSuren A. Chilingaryan <csa@suren.me>2018-03-18 22:59:31 +0100
commit47f350bc3aa85a8bd406d95faf084df2abf74ae9 (patch)
tree72ad1e91bac46d3457f89781dc90f0d6c1c074d5 /roles/ands_kaas/tasks/do_storage.yml
parent006f333828db373435daa15483d2ab753048f62a (diff)
downloadands-47f350bc3aa85a8bd406d95faf084df2abf74ae9.tar.gz
ands-47f350bc3aa85a8bd406d95faf084df2abf74ae9.tar.bz2
ands-47f350bc3aa85a8bd406d95faf084df2abf74ae9.tar.xz
ands-47f350bc3aa85a8bd406d95faf084df2abf74ae9.zip
Second revision: includes hostpath mounts, gluster block storage, kaas apps, etc.
Diffstat (limited to 'roles/ands_kaas/tasks/do_storage.yml')
-rw-r--r--roles/ands_kaas/tasks/do_storage.yml43
1 files changed, 43 insertions, 0 deletions
diff --git a/roles/ands_kaas/tasks/do_storage.yml b/roles/ands_kaas/tasks/do_storage.yml
new file mode 100644
index 0000000..ee118fd
--- /dev/null
+++ b/roles/ands_kaas/tasks/do_storage.yml
@@ -0,0 +1,43 @@
+- name: Configure KaaS volumes
+ include_tasks: volume.yml
+ with_dict: "{{ kaas_project_volumes }}"
+ loop_control:
+ loop_var: osv
+ vars:
+ vt_query: "[*].volumes.{{osv.value.volume}}.type"
+ voltype: "{{ (kaas_storage_domains | json_query(vt_query)) }}"
+ mp_query: "[*].volumes.{{osv.value.volume}}.mount"
+ mntpath: "{{ (kaas_storage_domains | json_query(mp_query)) }}"
+ rp_query: "[*].volumes.{{osv.value.volume}}.path"
+ realpath: "{{ (kaas_storage_domains | json_query(rp_query)) }}"
+ osvpath: "{{ osv.value.path | default('') }}"
+ prefix: "{{ ( osvpath[:1] == '/' ) | ternary('', '/' ~ kaas_project ~ '/') }}"
+ path: "{{ mntpath[0] ~ prefix ~ osvpath }}"
+ hostpath: "{{ realpath[0] is defined | ternary((realpath[0] | default('')) ~ prefix ~ osvpath, '') }}"
+ name: "{{osv.key}}"
+ volume: "{{osv.value}}"
+ when:
+ - ( mntpath | length ) > 0
+ - (osv.type | default("host")) in [ "host" ]
+
+
+- name: Configure KaaS files
+ include_tasks: file.yml
+ with_items: "{{ kaas_project_config.files | default(kaas_openshift_files) | default([]) }}"
+ loop_control:
+ loop_var: file
+ vars:
+ osv: "{{ kaas_project_volumes[file.osv] }}"
+ vt_query: "[*].volumes.{{osv.volume}}.type"
+ voltype: "{{ (kaas_storage_domains | json_query(vt_query)) }}"
+ mp_query: "[*].volumes.{{osv.volume}}.mount"
+ mntpath: "{{ (kaas_storage_domains | json_query(mp_query)) }}"
+ rp_query: "[*].volumes.{{osv.volume}}.path"
+ realpath: "{{ (kaas_storage_domains | json_query(rp_query)) }}"
+ pvar: "kaas_{{ file.osv }}_path"
+ path: "{{ hostvars[inventory_hostname][pvar] }}/{{ file.path }}"
+ hvar: "kaas_{{ file.osv }}_hostpath"
+ hostpath: "{{ hostvars[inventory_hostname][hvar] }}/{{ file.path }}"
+ when:
+ - file.osv in kaas_project_volumes
+ - (osv.type | default("host")) in [ "host" ]