]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
ceph-facts: move device facts to its own file
authorDimitri Savineau <dsavinea@redhat.com>
Wed, 16 Dec 2020 19:18:08 +0000 (14:18 -0500)
committerGuillaume Abrioux <gabrioux@redhat.com>
Fri, 2 Jul 2021 20:21:20 +0000 (22:21 +0200)
Instead of reusing the condition 'inventory_hostname in groups[osds]'
on each device facts tasks then we can move all the tasks into a
dedicated file and set the condition on the import_tasks statement.

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit d704b05e52d10910cd68c49033933bd7e6ded268)

roles/ceph-facts/tasks/devices.yml [new file with mode: 0644]
roles/ceph-facts/tasks/facts.yml

diff --git a/roles/ceph-facts/tasks/devices.yml b/roles/ceph-facts/tasks/devices.yml
new file mode 100644 (file)
index 0000000..ad8233a
--- /dev/null
@@ -0,0 +1,88 @@
+---
+- name: resolve device link(s)
+  command: readlink -f {{ item }}
+  changed_when: false
+  check_mode: no
+  with_items: "{{ devices }}"
+  register: devices_prepare_canonicalize
+  when:
+    - devices is defined
+    - not osd_auto_discovery | default(False) | bool
+
+- name: set_fact build devices from resolved symlinks
+  set_fact:
+    devices: "{{ devices | default([]) + [ item.stdout ] }}"
+  with_items: "{{ devices_prepare_canonicalize.results }}"
+  when:
+    - devices is defined
+    - not osd_auto_discovery | default(False) | bool
+
+- name: set_fact build final devices list
+  set_fact:
+    devices: "{{ devices | reject('search','/dev/disk') | list | unique }}"
+  when:
+    - devices is defined
+    - not osd_auto_discovery | default(False) | bool
+
+- name: resolve dedicated_device link(s)
+  command: readlink -f {{ item }}
+  changed_when: false
+  check_mode: no
+  with_items: "{{ dedicated_devices }}"
+  register: dedicated_devices_prepare_canonicalize
+  when:
+    - dedicated_devices is defined
+    - not osd_auto_discovery | default(False) | bool
+
+- name: set_fact build dedicated_devices from resolved symlinks
+  set_fact:
+    dedicated_devices: "{{ dedicated_devices | default([]) + [ item.stdout ] }}"
+  with_items: "{{ dedicated_devices_prepare_canonicalize.results }}"
+  when:
+    - dedicated_devices is defined
+    - not osd_auto_discovery | default(False) | bool
+
+- name: set_fact build final dedicated_devices list
+  set_fact:
+    dedicated_devices: "{{ dedicated_devices | reject('search','/dev/disk') | list | unique }}"
+  when:
+    - dedicated_devices is defined
+    - not osd_auto_discovery | default(False) | bool
+
+- name: resolve bluestore_wal_device link(s)
+  command: readlink -f {{ item }}
+  changed_when: false
+  check_mode: no
+  with_items: "{{ bluestore_wal_devices }}"
+  register: bluestore_wal_devices_prepare_canonicalize
+  when:
+    - bluestore_wal_devices is defined
+    - not osd_auto_discovery | default(False) | bool
+
+- name: set_fact build bluestore_wal_devices from resolved symlinks
+  set_fact:
+    bluestore_wal_devices: "{{ bluestore_wal_devices | default([]) + [ item.stdout ] }}"
+  with_items: "{{ bluestore_wal_devices_prepare_canonicalize.results }}"
+  when:
+    - bluestore_wal_devices is defined
+    - not osd_auto_discovery | default(False) | bool
+
+- name: set_fact build final bluestore_wal_devices list
+  set_fact:
+    bluestore_wal_devices: "{{ bluestore_wal_devices | reject('search','/dev/disk') | list | unique }}"
+  when:
+    - bluestore_wal_devices is defined
+    - not osd_auto_discovery | default(False) | bool
+
+- name: set_fact devices generate device list when osd_auto_discovery
+  set_fact:
+    devices: "{{ (devices | default([]) + [ item.key | regex_replace('^', '/dev/') ]) | unique }}"
+  with_dict: "{{ ansible_facts['devices'] }}"
+  when:
+    - osd_auto_discovery | default(False) | bool
+    - ansible_facts['devices'] is defined
+    - item.value.removable == "0"
+    - item.value.sectors != "0"
+    - item.value.partitions|count == 0
+    - item.value.holders|count == 0
+    - item.key is not match osd_auto_discovery_exclude
index 54425dcc9e364d48c0559b1520b07d214ba9ba4d..103762ffaa84c6486d1f75e7ee6388124c36caed 100644 (file)
       set_fact:
         fsid: "{{ cluster_uuid.stdout }}"
 
-- name: resolve device link(s)
-  command: readlink -f {{ item }}
-  changed_when: false
-  check_mode: no
-  with_items: "{{ devices }}"
-  register: devices_prepare_canonicalize
-  when:
-    - devices is defined
-    - inventory_hostname in groups.get(osd_group_name, [])
-    - not osd_auto_discovery | default(False) | bool
-
-- name: set_fact build devices from resolved symlinks
-  set_fact:
-    devices: "{{ devices | default([]) + [ item.stdout ] }}"
-  with_items: "{{ devices_prepare_canonicalize.results }}"
-  when:
-    - devices is defined
-    - inventory_hostname in groups.get(osd_group_name, [])
-    - not osd_auto_discovery | default(False) | bool
-
-- name: set_fact build final devices list
-  set_fact:
-    devices: "{{ devices | reject('search','/dev/disk') | list | unique }}"
-  when:
-    - devices is defined
-    - inventory_hostname in groups.get(osd_group_name, [])
-    - not osd_auto_discovery | default(False) | bool
-
-- name: resolve dedicated_device link(s)
-  command: readlink -f {{ item }}
-  changed_when: false
-  check_mode: no
-  with_items: "{{ dedicated_devices }}"
-  register: dedicated_devices_prepare_canonicalize
-  when:
-    - dedicated_devices is defined
-    - inventory_hostname in groups.get(osd_group_name, [])
-    - not osd_auto_discovery | default(False) | bool
-
-- name: set_fact build dedicated_devices from resolved symlinks
-  set_fact:
-    dedicated_devices: "{{ dedicated_devices | default([]) + [ item.stdout ] }}"
-  with_items: "{{ dedicated_devices_prepare_canonicalize.results }}"
-  when:
-    - dedicated_devices is defined
-    - inventory_hostname in groups.get(osd_group_name, [])
-    - not osd_auto_discovery | default(False) | bool
-
-- name: set_fact build final dedicated_devices list
-  set_fact:
-    dedicated_devices: "{{ dedicated_devices | reject('search','/dev/disk') | list | unique }}"
-  when:
-    - dedicated_devices is defined
-    - inventory_hostname in groups.get(osd_group_name, [])
-    - not osd_auto_discovery | default(False) | bool
-
-- name: resolve bluestore_wal_device link(s)
-  command: readlink -f {{ item }}
-  changed_when: false
-  check_mode: no
-  with_items: "{{ bluestore_wal_devices }}"
-  register: bluestore_wal_devices_prepare_canonicalize
-  when:
-    - bluestore_wal_devices is defined
-    - inventory_hostname in groups.get(osd_group_name, [])
-    - not osd_auto_discovery | default(False) | bool
-
-- name: set_fact build bluestore_wal_devices from resolved symlinks
-  set_fact:
-    bluestore_wal_devices: "{{ bluestore_wal_devices | default([]) + [ item.stdout ] }}"
-  with_items: "{{ bluestore_wal_devices_prepare_canonicalize.results }}"
-  when:
-    - bluestore_wal_devices is defined
-    - inventory_hostname in groups.get(osd_group_name, [])
-    - not osd_auto_discovery | default(False) | bool
-
-- name: set_fact build final bluestore_wal_devices list
-  set_fact:
-    bluestore_wal_devices: "{{ bluestore_wal_devices | reject('search','/dev/disk') | list | unique }}"
-  when:
-    - bluestore_wal_devices is defined
-    - inventory_hostname in groups.get(osd_group_name, [])
-    - not osd_auto_discovery | default(False) | bool
-
-- name: set_fact devices generate device list when osd_auto_discovery
-  set_fact:
-    devices: "{{ (devices | default([]) + [ item.key | regex_replace('^', '/dev/') ]) | unique }}"
-  with_dict: "{{ ansible_facts['devices'] }}"
-  when:
-    - osd_auto_discovery | default(False) | bool
-    - inventory_hostname in groups.get(osd_group_name, [])
-    - ansible_facts['devices'] is defined
-    - item.value.removable == "0"
-    - item.value.sectors != "0"
-    - item.value.partitions|count == 0
-    - item.value.holders|count == 0
-    - item.key is not match osd_auto_discovery_exclude
+- name: import_tasks devices.yml
+  import_tasks: devices.yml
+  when: inventory_hostname in groups.get(osd_group_name, [])
 
 - name: backward compatibility tasks related
   when: