From: Sébastien Han Date: Mon, 19 Nov 2018 13:58:03 +0000 (+0100) Subject: switch: do not look for devices anymore X-Git-Tag: v4.0.0beta1~200 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=c14f9b78ff7b88419148ac2dd01611b7ec830598;p=ceph-ansible.git switch: do not look for devices anymore 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 --- diff --git a/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml b/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml index 446de2af5..e44f20b49 100644 --- a/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml +++ b/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml @@ -218,23 +218,7 @@ 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 @@ -289,28 +273,27 @@ - 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