From 7f549af459b40c5bb51a24a3a443ed7a7116915e Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Wed, 8 Nov 2017 14:13:54 +0800 Subject: [PATCH] qa: do not wait for down/out osd for pg convergence that osd is not invovlved in the PG state changes. Signed-off-by: Kefu Chai --- qa/tasks/ceph_manager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qa/tasks/ceph_manager.py b/qa/tasks/ceph_manager.py index 0d11bfe7c8a..ed3b03d90e9 100644 --- a/qa/tasks/ceph_manager.py +++ b/qa/tasks/ceph_manager.py @@ -2274,6 +2274,8 @@ class CephManager: def wait_till_pg_convergence(self, timeout=None): start = time.time() old_stats = None + active_osds = [osd['osd'] for osd in self.get_osd_dump() + if osd['in'] and osd['up']] while True: # strictly speaking, no need to wait for mon. but due to the # "ms inject socket failures" setting, the osdmap could be delayed, @@ -2281,7 +2283,7 @@ class CephManager: # newly created pools which is not yet known by mgr. so, to make sure # the mgr is updated with the latest pg-stats, waiting for mon/mgr is # necessary. - self.flush_all_pg_stats() + self.flush_pg_stats(active_osds) new_stats = dict((stat['pgid'], stat['state']) for stat in self.get_pg_stats()) if old_stats == new_stats: -- 2.39.5