]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
switch: do not look for devices anymore
authorSébastien Han <seb@redhat.com>
Mon, 19 Nov 2018 13:58:03 +0000 (14:58 +0100)
committermergify[bot] <mergify[bot]@users.noreply.github.com>
Fri, 23 Nov 2018 07:56:23 +0000 (07:56 +0000)
It's easier lookup a directoriy instead of the block devices,
especially because of ceph-volume and ceph-disk have a different way to
handle devices.

Signed-off-by: Sébastien Han <seb@redhat.com>
infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml

index 446de2af5b93ee19df2b711cc4440a354a34617b..e44f20b492e3690662d70f9fcae739e7d850dc49 100644 (file)
       changed_when: false
       failed_when: false
 
-    - name: collect osd devices
-      shell: |
-        blkid | awk '/ceph data/ { sub ("1:", "", $1); print $1 }'
-      register: collect_devices
-      changed_when: false
-      when:
-        - devices is not defined or (devices is defined and devices == [])
-
-    - name: set devices
-      set_fact:
-        devices: "{{ collect_devices.stdout_lines | list }}"
-      when:
-        - collect_devices is defined
-        - not collect_devices.get("skipped")
-        - collect_devices != []
-
-    - name: stop/disable non-containerized ceph osd(s), ceph-disk units (if any) and ceph-volume units (if any)
+    - name: stop/disable/mask non-containerized ceph osd(s) and ceph-disk units (if any)
       systemd:
         name: "{{ item }}"
         state: stopped
         - ldb_files.rc == 0
 
     - name: check if containerized osds are already running
-      shell: |
-        docker ps | grep -sq {{ item | regex_replace('/', '') }}
+      command: >
+        docker ps --filter='name=ceph-osd'
       changed_when: false
       failed_when: false
-      with_items: "{{ devices }}"
       register: osd_running
 
-    - name: resolve device(s) path(s)
-      command: readlink -f {{ item }}
+    - name: get osd directories
+      command: >
+        ls -1 /var/lib/ceph/osd
+      register: osd_dirs
       changed_when: false
-      with_items: "{{ devices }}"
-      register: devices_canonicalize
 
     - name: unmount all the osd directories
-      command: umount "{{ item.0.stdout }}"1
+      command: >
+        umount /var/lib/ceph/osd/{{ item }}
       changed_when: false
       failed_when: false
-      with_together:
-        - "{{ devices_canonicalize.results }}"
-        - "{{ osd_running.results }}"
+      with_items:
+        - "{{ osd_dirs.stdout_lines }}"
       when:
-        - item.1.get("rc", 0) != 0
+        - osd_running.rc != 0
 
     - import_role:
         name: ceph-defaults