From: Teoman ONAY Date: Mon, 4 Jul 2022 09:54:41 +0000 (+0200) Subject: Refresh /etc/ceph/osd json files content before zapping the disks X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=18064032a93e04fe1aebfa2493bd9601df89a01f;p=ceph-ansible.git Refresh /etc/ceph/osd json files content before zapping the disks If the physical disk to device path mapping has changed since the last ceph-volume simple scan (e.g. addition or removal of disks), a wrong disk could be deleted. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2071035 Signed-off-by: Teoman ONAY (cherry picked from commit 64e08f2c0bdea6f4c4ad5862dc8f350c6adbe2cd) --- diff --git a/infrastructure-playbooks/shrink-osd.yml b/infrastructure-playbooks/shrink-osd.yml index 6d9bfae9d..e1e05619d 100644 --- a/infrastructure-playbooks/shrink-osd.yml +++ b/infrastructure-playbooks/shrink-osd.yml @@ -105,18 +105,36 @@ - "{{ osd_hosts }}" when: hostvars[item.0]['ansible_facts']['hostname'] == item.1 + - name: set_fact host_list + set_fact: + host_list: "{{ host_list | default([]) | union([item.0]) }}" + loop: "{{ _osd_hosts }}" + - name: get ceph-volume lvm list data command: "{{ container_run_cmd }} lvm list --format json" changed_when: false register: _lvm_list_data - delegate_to: "{{ item.0 }}" - loop: "{{ _osd_hosts }}" + delegate_to: "{{ item }}" + loop: "{{ host_list }}" - name: set_fact _lvm_list set_fact: _lvm_list: "{{ _lvm_list | default({}) | combine(item.stdout | from_json) }}" with_items: "{{ _lvm_list_data.results }}" + - name: refresh /etc/ceph/osd files non containerized_deployment + command: ceph-volume simple scan --force + delegate_to: "{{ item }}" + loop: "{{ host_list }}" + when: not containerized_deployment | bool + + - name: refresh /etc/ceph/osd files containerized_deployment + command: "{{ container_binary }} exec ceph-osd-{{ item.2 }} ceph-volume simple scan --force /var/lib/ceph/osd/{{ cluster }}-{{ item.2 }}" + changed_when: false + delegate_to: "{{ item.0 }}" + loop: "{{ _osd_hosts }}" + when: containerized_deployment | bool + - name: find /etc/ceph/osd files find: paths: /etc/ceph/osd