]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: use asyncio.gather to parallelize things 43876/head
authorSebastian Wagner <sewagner@redhat.com>
Thu, 11 Nov 2021 10:04:19 +0000 (11:04 +0100)
committerSebastian Wagner <sewagner@redhat.com>
Thu, 18 Nov 2021 15:19:42 +0000 (16:19 +0100)
Signed-off-by: Sebastian Wagner <sewagner@redhat.com>
src/pybind/mgr/cephadm/services/osd.py

index 50011b6b2d4f69a93238ca2a9816da8e7d310c02..c8e9682f23444bd9701e48258918bb0f032b632b 100644 (file)
@@ -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))