def restart_ceph(env): """Restart ceph monitors to prevent time skew Also we restart radosgw to prevent OSTF Haproxy test fails """ ceph_nodes = env.get_nodes_by_role('ceph-osd') if len(ceph_nodes) == 0: return controllers = env.get_nodes_by_role('controller') for node in set(controllers) | set(ceph_nodes): with node.ssh() as remote: remote.execute('restart ceph-all') with controllers[0].ssh() as remote: wait(lambda: is_ceph_time_sync(remote), timeout_seconds=3 * 60, sleep_seconds=5, waiting_for='ceph services are up') pool = dummy_mp.Pool(processes=len(controllers)) pool.map(_restart_radosgw, controllers)