]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
filestore-to-bluestore: fix osd_auto_discovery
authorDimitri Savineau <dsavinea@redhat.com>
Tue, 21 Jan 2020 21:37:10 +0000 (16:37 -0500)
committerGuillaume Abrioux <gabrioux@redhat.com>
Wed, 22 Jan 2020 08:36:09 +0000 (09:36 +0100)
When osd_auto_discovery is set then we need to refresh the
ansible_devices fact between after the filestore OSD purge
otherwise the devices fact won't be populated.
Also remove the gpt header on ceph_disk_osds_devices because
the devices is empty at this point for osd_auto_discovery.
Adding the bool filter when needed.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1729267
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
infrastructure-playbooks/filestore-to-bluestore.yml
tests/functional/filestore-to-bluestore/container/hosts
tests/functional/filestore-to-bluestore/container/vagrant_variables.yml
tests/functional/filestore-to-bluestore/hosts
tests/functional/filestore-to-bluestore/vagrant_variables.yml

index 72bdd3a4c2b20f012126836e8f2996f0dc5607bd..4a435702e417dcacd7bca9069d3a55a8a8369226 100644 (file)
           with_together:
             - "{{ simple_scan.results }}"
             - "{{ partlabel.results }}"
-          when: item.1.stdout == 'ceph data'
+          when:
+            - item.1.stdout == 'ceph data'
+            - (item.0.stdout | from_json).encrypted | default(False) | bool
 
         - name: ensure dmcrypt for data device is closed
           command: cryptsetup close "{{ (item.0.stdout | from_json).data.uuid }}"
           changed_when: false
           when:
             - item.1.stdout == 'ceph data'
-            - (item.0.stdout | from_json).encrypted | default(False)
+            - (item.0.stdout | from_json).encrypted | default(False) | bool
 
         - name: ensure dmcrypt for journal device is closed
           command: cryptsetup close "{{ (item.0.stdout | from_json).journal.uuid }}"
           changed_when: false
           when:
             - item.1.stdout == 'ceph data'
-            - (item.0.stdout | from_json).encrypted | default(False)
+            - (item.0.stdout | from_json).encrypted | default(False) | bool
 
         - name: zap data devices
           command: "{{ container_run_cmd }} --cluster {{ cluster }} lvm zap --destroy {{ (item.0.stdout | from_json).data.path }}"
 
     - name: remove gpt header
       command: parted -s "{{ item }}" mklabel msdos
-      with_items: "{{ devices + dedicated_devices | default([]) }}"
+      with_items: "{{ (devices + dedicated_devices + ceph_disk_osds_devices | default([])) | unique }}"
+
+    - name: refresh ansible devices fact
+      setup:
+        filter: ansible_devices
+      when: osd_auto_discovery | bool
 
-    - import_role:
-        name: ceph-facts
     - import_role:
         name: ceph-defaults
+    - import_role:
+        name: ceph-facts
     - import_role:
         name: ceph-handler
     - import_role:
index 170ea69cbc2ea770569aa371c9af9e04c4d075a3..9c458f7d0250c9ab564117a24b4aebe9a74d5565 100644 (file)
@@ -6,4 +6,5 @@ osd0 osd_objectstore=filestore lvm_volumes="[{'data': 'data-lv1', 'journal': '/d
 osd1 osd_objectstore=filestore lvm_volumes="[{'data': 'data-lv1', 'journal': '/dev/sdc1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group', 'journal': 'journal1', 'journal_vg': 'journals'}]" dmcrypt=true
 osd2 osd_objectstore=filestore devices="['/dev/sda', '/dev/sdb']" dedicated_devices="['/dev/sdc']" journal_size=1024
 osd3 osd_objectstore=filestore lvm_volumes="[{'data': '/dev/sda', 'journal': '/dev/sdc1'},{'data': '/dev/sdb', 'journal': '/dev/sdc2'}]"
-osd4 osd_objectstore=filestore lvm_volumes="[{'data': '/dev/sda', 'journal': '/dev/sdc1'},{'data': '/dev/sdb', 'journal': '/dev/sdc2'}]" dmcrypt=true
\ No newline at end of file
+osd4 osd_objectstore=filestore lvm_volumes="[{'data': '/dev/sda', 'journal': '/dev/sdc1'},{'data': '/dev/sdb', 'journal': '/dev/sdc2'}]" dmcrypt=true
+osd5 osd_objectstore=filestore osd_auto_discovery=true journal_size=1024
\ No newline at end of file
index dc8d321cee437d9c5ae1dccf180c442cf09ac575..bebd61780e63adffd5ff854821457551603d3b8d 100644 (file)
@@ -5,7 +5,7 @@ docker: true
 
 # DEFINE THE NUMBER OF VMS TO RUN
 mon_vms: 1
-osd_vms: 5
+osd_vms: 6
 mds_vms: 0
 rgw_vms: 0
 nfs_vms: 0
index 170ea69cbc2ea770569aa371c9af9e04c4d075a3..9c458f7d0250c9ab564117a24b4aebe9a74d5565 100644 (file)
@@ -6,4 +6,5 @@ osd0 osd_objectstore=filestore lvm_volumes="[{'data': 'data-lv1', 'journal': '/d
 osd1 osd_objectstore=filestore lvm_volumes="[{'data': 'data-lv1', 'journal': '/dev/sdc1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group', 'journal': 'journal1', 'journal_vg': 'journals'}]" dmcrypt=true
 osd2 osd_objectstore=filestore devices="['/dev/sda', '/dev/sdb']" dedicated_devices="['/dev/sdc']" journal_size=1024
 osd3 osd_objectstore=filestore lvm_volumes="[{'data': '/dev/sda', 'journal': '/dev/sdc1'},{'data': '/dev/sdb', 'journal': '/dev/sdc2'}]"
-osd4 osd_objectstore=filestore lvm_volumes="[{'data': '/dev/sda', 'journal': '/dev/sdc1'},{'data': '/dev/sdb', 'journal': '/dev/sdc2'}]" dmcrypt=true
\ No newline at end of file
+osd4 osd_objectstore=filestore lvm_volumes="[{'data': '/dev/sda', 'journal': '/dev/sdc1'},{'data': '/dev/sdb', 'journal': '/dev/sdc2'}]" dmcrypt=true
+osd5 osd_objectstore=filestore osd_auto_discovery=true journal_size=1024
\ No newline at end of file
index 08fa705db76447088c0674710bd13e41cb6113c9..df6851c176d28a280e23e1c5f33810689c7d329f 100644 (file)
@@ -5,7 +5,7 @@ docker: false
 
 # DEFINE THE NUMBER OF VMS TO RUN
 mon_vms: 1
-osd_vms: 5
+osd_vms: 6
 mds_vms: 0
 rgw_vms: 0
 nfs_vms: 0