From: Sébastien Han Date: Mon, 19 Sep 2016 14:17:11 +0000 (+0200) Subject: ceph-osd: get full link path when testing if a partition X-Git-Tag: v1.0.7~21^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F981%2Fhead;p=ceph-ansible.git ceph-osd: get full link path when testing if a partition This allows us to test devices set with persistent naming such as /dev/disk/by-* When registering devices we can use persisent (/dev/disk/by-*) or non-persistent (/dev/sd*). Both declarations are supported by ceph-ansible. There was just two tasks that were not compatible with this. Since we support using partitions directly we need to test that because the device activation will be different. To test if the device is a partition we use a regular expression which wasn't compatible with the persistent device naming format (/dev/disk/by-*). This commit solves this issue by reading the path of the symlink since devices like /dev/disk/by-* are symlinks to devices like /dev/sd* Signed-off-by: Sébastien Han --- diff --git a/roles/ceph-osd/tasks/check_devices_auto.yml b/roles/ceph-osd/tasks/check_devices_auto.yml index 7d17a57d5..ec80f85ea 100644 --- a/roles/ceph-osd/tasks/check_devices_auto.yml +++ b/roles/ceph-osd/tasks/check_devices_auto.yml @@ -1,6 +1,6 @@ --- - name: check if the device is a partition (autodiscover disks) - shell: "echo '/dev/{{ item.key }}' | egrep '/dev/([hsv]d[a-z]{1,2}|cciss/c[0-9]d[0-9]p|nvme[0-9]n[0-9]p)[0-9]{1,2}$'" + shell: "readlink -f /dev/{{ item.key }} | egrep '/dev/([hsv]d[a-z]{1,2}|cciss/c[0-9]d[0-9]p|nvme[0-9]n[0-9]p)[0-9]{1,2}$'" with_dict: "{{ ansible_devices }}" changed_when: false failed_when: false diff --git a/roles/ceph-osd/tasks/check_devices_static.yml b/roles/ceph-osd/tasks/check_devices_static.yml index 23d2f3b34..2a52762d6 100644 --- a/roles/ceph-osd/tasks/check_devices_static.yml +++ b/roles/ceph-osd/tasks/check_devices_static.yml @@ -1,6 +1,6 @@ --- - name: check if the device is a partition - shell: "echo '{{ item }}' | egrep '/dev/([hsv]d[a-z]{1,2}|cciss/c[0-9]d[0-9]p|nvme[0-9]n[0-9]p)[0-9]{1,2}$'" + shell: "readlink -f {{ item }} | egrep '/dev/([hsv]d[a-z]{1,2}|cciss/c[0-9]d[0-9]p|nvme[0-9]n[0-9]p)[0-9]{1,2}$'" with_items: "{{ devices }}" changed_when: false failed_when: false