]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/orchestrator: rebase patch
authorPaul Cuzner <pcuzner@redhat.com>
Wed, 23 Dec 2020 04:04:50 +0000 (17:04 +1300)
committerSebastian Wagner <sebastian.wagner@suse.com>
Mon, 22 Feb 2021 16:34:11 +0000 (17:34 +0100)
Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
(cherry picked from commit 4588ad184c4464560c1d5c9b2f5d03da41b2eebb)

src/pybind/mgr/cephadm/module.py
src/pybind/mgr/orchestrator/_interface.py
src/pybind/mgr/orchestrator/module.py

index 9e0232f433f6d804173f0a952490c052a3cadf12..cf3e80bdbfd3b09d81d5582557abec32812d5e90 100644 (file)
@@ -529,6 +529,12 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule,
                     # start the process
                     self._kick_serve_loop()
 
+    def is_paused(self) -> bool:
+        return self.paused
+
+    def worker_pool_size(self) -> int:
+        return self._worker_pool._processes  # type: ignore
+
     def pause(self) -> None:
         if not self.paused:
             self.log.info('Paused')
index 7694d9d71bf08d2de3c7373f4ebadfd09854b359..9e4bb473f1bff00dfd6a7fc28ff1e939e6b8992a 100644 (file)
@@ -786,6 +786,12 @@ class Orchestrator(object):
     def resume(self) -> None:
         raise NotImplementedError()
 
+    def is_paused(self) -> bool:
+        raise NotImplementedError()
+
+    def worker_pool_size(self) -> int:
+        raise NotImplementedError()
+
     def add_host(self, host_spec: HostSpec) -> Completion[str]:
         """
         Add a host to the orchestrator inventory.
index 54122d4029a814ad3cf4c72a47b2f132c358c7ab..b765bffa1ffb1272b040849cd08787f648d49e78 100644 (file)
@@ -1353,8 +1353,17 @@ Usage:
 
         avail, why = self.available()
         result: Dict[str, Any] = {
-            "backend": o
+            "backend": o,
+            "paused": self.is_paused(),
         }
+
+        try:
+            num_workers = self.worker_pool_size()
+        except NotImplementedError:
+            pass
+        else:
+            result['workers'] = num_workers
+
         if avail is not None:
             result['available'] = avail
             if not avail:
@@ -1368,6 +1377,9 @@ Usage:
                 output += "\nAvailable: {0}".format(result['available'])
                 if 'reason' in result:
                     output += ' ({0})'.format(result['reason'])
+            output += f"\nPaused: {'Yes' if result['paused'] else 'No'}"
+            if 'workers' in result:
+                output += f"\nHost Parallelism: {result['workers']}"
         return HandleCommandResult(stdout=output)
 
     def self_test(self) -> None: