From dbaf30c3e4d921df2a92812383c8805a77eb8f5b Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Thu, 7 Sep 2017 16:59:53 -0400 Subject: [PATCH] ceph-volume lvm.api all lv tags should match, not just one Signed-off-by: Alfredo Deza --- src/ceph-volume/ceph_volume/devices/lvm/api.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/ceph-volume/ceph_volume/devices/lvm/api.py b/src/ceph-volume/ceph_volume/devices/lvm/api.py index eb3e25a664154..b68f4bc4dfd52 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/api.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/api.py @@ -390,13 +390,11 @@ class Volumes(list): # actual filtered list if any filters were applied if lv_tags: tag_filtered = [] - for k, v in lv_tags.items(): - for volume in filtered: - if volume.tags.get(k) == str(v): - if volume not in tag_filtered: - tag_filtered.append(volume) - # return the tag_filtered volumes here, the `filtered` list is no - # longer useable + for volume in filtered: + # all the tags we got need to match on the volume + matches = all(volume.tags.get(k) == str(v) for k, v in lv_tags.items()) + if matches: + tag_filtered.append(volume) return tag_filtered return filtered -- 2.39.5