]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
config: support num_osds fact setting in containerized deployment
authorGuillaume Abrioux <gabrioux@redhat.com>
Wed, 30 Jan 2019 23:07:30 +0000 (00:07 +0100)
committermergify[bot] <mergify[bot]@users.noreply.github.com>
Thu, 31 Jan 2019 14:30:23 +0000 (14:30 +0000)
This part of the code must be supported in containerized deployment

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1664112
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
roles/ceph-config/tasks/main.yml

index e867a72971c9feeecddc2d5f21c1e3022c7af7e6..b1b82508a273c807706c46cc1dca9b66b9eef7b3 100644 (file)
@@ -1,4 +1,70 @@
 ---
+- block:
+  - name: count number of osds for ceph-disk scenarios
+    set_fact:
+      num_osds: "{{ devices | length | int }}"
+    when:
+      - devices | default([]) | length > 0
+      - osd_scenario in ['collocated', 'non-collocated']
+
+  - name: count number of osds for lvm scenario
+    set_fact:
+      num_osds: "{{ lvm_volumes | length | int }}"
+    when:
+      - lvm_volumes | default([]) | length > 0
+      - osd_scenario == 'lvm'
+
+  - name: run 'ceph-volume lvm batch --report' to see how many osds are to be created
+    ceph_volume:
+      cluster: "{{ cluster }}"
+      objectstore: "{{ osd_objectstore }}"
+      batch_devices: "{{ devices }}"
+      osds_per_device: "{{ osds_per_device | default(1) | int }}"
+      journal_size: "{{ journal_size }}"
+      block_db_size: "{{ block_db_size }}"
+      report: true
+      action: "batch"
+    register: lvm_batch_report
+    environment:
+      CEPH_VOLUME_DEBUG: 1
+      CEPH_CONTAINER_IMAGE: "{{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
+      CEPH_CONTAINER_BINARY: "{{ container_binary }}"
+    when:
+      - devices | default([]) | length > 0
+      - osd_scenario == 'lvm'
+
+  - name: set_fact num_osds from the output of 'ceph-volume lvm batch --report'
+    set_fact:
+      num_osds: "{{ (lvm_batch_report.stdout | from_json).osds | length | int }}"
+    when:
+      - devices | default([]) | length > 0
+      - osd_scenario == 'lvm'
+      - (lvm_batch_report.stdout | from_json).changed
+
+  - name: run 'ceph-volume lvm list' to see how many osds have already been created
+    ceph_volume:
+      action: "list"
+    register: lvm_list
+    environment:
+      CEPH_VOLUME_DEBUG: 1
+      CEPH_CONTAINER_IMAGE: "{{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
+      CEPH_CONTAINER_BINARY: "{{ container_binary }}"
+    when:
+      - devices | default([]) | length > 0
+      - osd_scenario == 'lvm'
+      - not (lvm_batch_report.stdout | from_json).changed
+
+  - name: set_fact num_osds from the output of 'ceph-volume lvm list'
+    set_fact:
+      num_osds: "{{ lvm_list.stdout | from_json | length | int }}"
+    when:
+      - devices | default([]) | length > 0
+      - osd_scenario == 'lvm'
+      - not (lvm_batch_report.stdout | from_json).changed
+
+  when:
+      - inventory_hostname in groups.get(osd_group_name, [])
+
 # ceph-common
 - block:
   - name: create ceph conf directory
@@ -9,68 +75,6 @@
       group: "ceph"
       mode: "0755"
 
-  - block:
-    - name: count number of osds for ceph-disk scenarios
-      set_fact:
-        num_osds: "{{ devices | length | int }}"
-      when:
-        - devices | default([]) | length > 0
-        - osd_scenario in ['collocated', 'non-collocated']
-
-    - name: count number of osds for lvm scenario
-      set_fact:
-        num_osds: "{{ lvm_volumes | length | int }}"
-      when:
-        - lvm_volumes | default([]) | length > 0
-        - osd_scenario == 'lvm'
-
-    - name: run 'ceph-volume lvm batch --report' to see how many osds are to be created
-      ceph_volume:
-        cluster: "{{ cluster }}"
-        objectstore: "{{ osd_objectstore }}"
-        batch_devices: "{{ devices }}"
-        osds_per_device: "{{ osds_per_device | default(1) | int }}"
-        journal_size: "{{ journal_size }}"
-        block_db_size: "{{ block_db_size }}"
-        report: true
-        action: "batch"
-      register: lvm_batch_report
-      environment:
-        CEPH_VOLUME_DEBUG: 1
-      when:
-        - devices | default([]) | length > 0
-        - osd_scenario == 'lvm'
-
-    - name: set_fact num_osds from the output of 'ceph-volume lvm batch --report'
-      set_fact:
-        num_osds: "{{ (lvm_batch_report.stdout | from_json).osds | length | int }}"
-      when:
-        - devices | default([]) | length > 0
-        - osd_scenario == 'lvm'
-        - (lvm_batch_report.stdout | from_json).changed
-
-    - name: run 'ceph-volume lvm list' to see how many osds have already been created
-      ceph_volume:
-        action: "list"
-      register: lvm_list
-      environment:
-        CEPH_VOLUME_DEBUG: 1
-      when:
-        - devices | default([]) | length > 0
-        - osd_scenario == 'lvm'
-        - not (lvm_batch_report.stdout | from_json).changed
-
-    - name: set_fact num_osds from the output of 'ceph-volume lvm list'
-      set_fact:
-        num_osds: "{{ lvm_list.stdout | from_json | length | int }}"
-      when:
-        - devices | default([]) | length > 0
-        - osd_scenario == 'lvm'
-        - not (lvm_batch_report.stdout | from_json).changed
-
-    when:
-      - inventory_hostname in groups.get(osd_group_name, [])
-
   - name: "generate ceph configuration file: {{ cluster }}.conf"
     action: config_template
     args: