From 2048eaac80f6d9076de07d7070ca3e10c7b904bf Mon Sep 17 00:00:00 2001 From: Sebastian Wagner Date: Thu, 11 Nov 2021 11:04:19 +0100 Subject: [PATCH] mgr/cephadm: use asyncio.gather to parallelize things Signed-off-by: Sebastian Wagner --- src/pybind/mgr/cephadm/services/osd.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pybind/mgr/cephadm/services/osd.py b/src/pybind/mgr/cephadm/services/osd.py index 50011b6b2d4f6..c8e9682f23444 100644 --- a/src/pybind/mgr/cephadm/services/osd.py +++ b/src/pybind/mgr/cephadm/services/osd.py @@ -1,5 +1,6 @@ import json import logging +from asyncio import gather from threading import Lock from typing import List, Dict, Any, Set, Tuple, cast, Optional, TYPE_CHECKING @@ -69,7 +70,9 @@ class OSDService(CephService): return ret_msg async def all_hosts() -> List[Optional[str]]: - return [await create_from_spec_one(h, ds) for h, ds in self.prepare_drivegroup(drive_group)] + futures = [create_from_spec_one(h, ds) + for h, ds in self.prepare_drivegroup(drive_group)] + return await gather(*futures) ret = self.mgr.wait_async(all_hosts()) return ", ".join(filter(None, ret)) -- 2.39.5