From b2759c0c51d5e1841d06ff461b2cd7680063b05f Mon Sep 17 00:00:00 2001 From: Guillaume Abrioux Date: Tue, 25 May 2021 16:01:27 +0200 Subject: [PATCH] fs2bs: fix wrong filter when setting osd_ids using 'match' filter in that task will lead to bad behavior if I have the following node names for instance: - node1 - node11 - node111 with `selectattr('name', 'match', inventory_hostname)` it will match 'node1' along with 'node11' and 'node111'. using 'equalto' filter will make sure we only match the target node. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1963066 Signed-off-by: Guillaume Abrioux (cherry picked from commit 0990ae41099d8b9d678f546fc8790033f421711f) --- infrastructure-playbooks/filestore-to-bluestore.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/infrastructure-playbooks/filestore-to-bluestore.yml b/infrastructure-playbooks/filestore-to-bluestore.yml index 87b32282b..c762653c3 100644 --- a/infrastructure-playbooks/filestore-to-bluestore.yml +++ b/infrastructure-playbooks/filestore-to-bluestore.yml @@ -48,7 +48,7 @@ set_fact: osd_ids: "{{ osd_ids | default([]) | union(item) }}" with_items: - - "{{ ((osd_tree.stdout | default('{}') | trim | from_json).nodes | selectattr('name', 'match', '^' + inventory_hostname + '$') | map(attribute='children') | list) }}" + - "{{ ((osd_tree.stdout | default('{}') | trim | from_json).nodes | selectattr('name', 'equalto', inventory_hostname) | map(attribute='children') | list) }}" - name: get osd metadata command: "{{ ceph_cmd }} --cluster {{ cluster }} osd metadata osd.{{ item }} -f json" @@ -355,7 +355,7 @@ set_fact: osd_ids: "{{ osd_ids | default([]) + [item] }}" with_items: - - "{{ ((osd_tree.stdout | default('{}') | from_json).nodes | selectattr('name', 'match', inventory_hostname) | map(attribute='children') | list) }}" + - "{{ ((osd_tree.stdout | default('{}') | from_json).nodes | selectattr('name', 'equalto', inventory_hostname) | map(attribute='children') | list) }}" - name: purge osd(s) from the cluster ceph_osd: -- 2.39.5