From 6feb7646a123074b0d905f36a61d0c96e7116e3b Mon Sep 17 00:00:00 2001 From: Teoman ONAY Date: Mon, 4 Jul 2022 11:54:41 +0200 Subject: [PATCH] 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) --- infrastructure-playbooks/shrink-osd.yml | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/infrastructure-playbooks/shrink-osd.yml b/infrastructure-playbooks/shrink-osd.yml index a53e3d84d..e98924b98 100644 --- a/infrastructure-playbooks/shrink-osd.yml +++ b/infrastructure-playbooks/shrink-osd.yml @@ -105,18 +105,38 @@ - "{{ 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 + ceph_volume_simple_scan: + cluster: "{{ cluster }}" + force: true + 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 -- 2.47.3