]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
iscsi-gw: Create a rbd pool if it doesn't exist
authorGuillaume Abrioux <gabrioux@redhat.com>
Wed, 4 Oct 2017 06:58:03 +0000 (08:58 +0200)
committerGuillaume Abrioux <gabrioux@redhat.com>
Wed, 4 Oct 2017 13:40:10 +0000 (15:40 +0200)
iscsi-gw needs a 'rbd' pool to configure iscsi target.
Note: I could have used the facts already set in `ceph-mon` but I voluntarily
didn't do it to not create a dependancy between these two roles.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
roles/ceph-iscsi-gw/tasks/configure_iscsi.yml

index 4138b0c498686cb79ef0bce9cdb5d2470a426a8e..22ec4d396d7a94b017a831a6c830c511c34d1193 100644 (file)
@@ -1,4 +1,19 @@
 ---
+- name: check if a rbd pool exists
+  command: ceph --cluster {{ cluster }} osd pool ls --format json
+  register: rbd_pool_exists
+
+- name: get default value for osd_pool_default_pg_num
+  command: ceph --cluster {{ cluster }} daemon mon.{{ hostvars[groups[mon_group_name][0]]['ansible_hostname'] }} config get osd_pool_default_pg_num
+  register: osd_pool_default_pg_num
+  when: "'rbd' not in (rbd_pool_exists.stdout | from_json)"
+  delegate_to: "{{ groups[mon_group_name][0] }}"
+
+- name: create a rbd pool if it doesn't exist
+  command: ceph --cluster {{ cluster }} osd pool create rbd {{ (osd_pool_default_pg_num.stdout | from_json).osd_pool_default_pg_num }}
+  when: "'rbd' not in (rbd_pool_exists.stdout | from_json)"
+  delegate_to: "{{ groups[mon_group_name][0] }}"
+
 - name: igw_gateway (tgt) | configure iscsi target (gateway)
   igw_gateway:
     mode: "target"