From 6bc09c5041d025c7ed3638ccfbf6496e1626abfb Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Wed, 8 Apr 2020 00:45:49 +0800 Subject: [PATCH] qa/tasks/ceph_manager.py: do not return a filter as the caller might want to `len(manager.get_osd_status()['raw'])`, and `len()` does not accept a `filter` object. also, the filtered osd statuses are printed out using `self.log()`, so we should materialize the `filter` object before sending it to logging facility. otherwise we will have something like: ``` 2020-04-08T02:58:37.001 INFO:tasks.ceph.ceph_manager.ceph: ``` in the logging message. Signed-off-by: Kefu Chai --- qa/tasks/ceph_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qa/tasks/ceph_manager.py b/qa/tasks/ceph_manager.py index 9ba9725932fc2..c058735aa8a27 100644 --- a/qa/tasks/ceph_manager.py +++ b/qa/tasks/ceph_manager.py @@ -1820,9 +1820,9 @@ class CephManager: """ Get osd statuses sorted by states that the osds are in. """ - osd_lines = filter( + osd_lines = list(filter( lambda x: x.startswith('osd.') and (("up" in x) or ("down" in x)), - self.raw_osd_status().split('\n')) + self.raw_osd_status().split('\n'))) self.log(osd_lines) in_osds = [int(i[4:].split()[0]) for i in filter(lambda x: " in " in x, osd_lines)] -- 2.39.5