From: Sebastian Wagner Date: Thu, 11 Nov 2021 10:04:19 +0000 (+0100) Subject: mgr/cephadm: use asyncio.gather to parallelize things X-Git-Tag: v17.1.0~393^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F43876%2Fhead;p=ceph.git mgr/cephadm: use asyncio.gather to parallelize things Signed-off-by: Sebastian Wagner --- 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))