]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: refator orchestrator service and daemon APIs
authorKiefer Chang <kiefer.chang@suse.com>
Wed, 2 Sep 2020 12:25:52 +0000 (20:25 +0800)
committerKiefer Chang <kiefer.chang@suse.com>
Thu, 29 Oct 2020 04:00:55 +0000 (12:00 +0800)
- Allow listing services by service_type.
- Allow listing daemons by daemon_type.

Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
(cherry picked from commit b88638873bd738af1ce258549abb6c25e0683907)

src/pybind/mgr/dashboard/controllers/host.py
src/pybind/mgr/dashboard/controllers/service.py
src/pybind/mgr/dashboard/services/orchestrator.py

index c8a4d9007231e1f8276bb84b2f3f74b3c1da1d95..bb9014bec65c7d59a3126002c9f0e2b5fa0b633e 100644 (file)
@@ -166,7 +166,7 @@ class Host(RESTController):
     @raise_if_no_orchestrator
     def daemons(self, hostname: str) -> List[dict]:
         orch = OrchClient.instance()
-        daemons = orch.services.list_daemons(None, hostname)
+        daemons = orch.services.list_daemons(hostname=hostname)
         return [d.to_json() for d in daemons]
 
     @handle_orchestrator_error('host')
index 9f1e70bb94dd8688a00d9cc9eccf27b9b28fade7..509a2147a685a841b65829e00b6ddb0397bc9d95 100644 (file)
@@ -13,7 +13,7 @@ class Service(RESTController):
     @raise_if_no_orchestrator
     def list(self, service_name: Optional[str] = None) -> List[dict]:
         orch = OrchClient.instance()
-        return [service.to_json() for service in orch.services.list(service_name)]
+        return [service.to_json() for service in orch.services.list(service_name=service_name)]
 
     @raise_if_no_orchestrator
     def get(self, service_name: str) -> List[dict]:
@@ -27,5 +27,5 @@ class Service(RESTController):
     @raise_if_no_orchestrator
     def daemons(self, service_name: str) -> List[dict]:
         orch = OrchClient.instance()
-        daemons = orch.services.list_daemons(service_name)
+        daemons = orch.services.list_daemons(service_name=service_name)
         return [d.to_json() for d in daemons]
index ea33b9a37ee28e56fb107ee946dffe9e20804396..a1f22a9a0673a6190c1e3fd81134a364986bb4d2 100644 (file)
@@ -84,8 +84,10 @@ class InventoryManager(ResourceManager):
 
 class ServiceManager(ResourceManager):
     @wait_api_result
-    def list(self, service_name: Optional[str] = None) -> List[ServiceDescription]:
-        return self.api.describe_service(None, service_name)
+    def list(self,
+             service_type: Optional[str] = None,
+             service_name: Optional[str] = None) -> List[ServiceDescription]:
+        return self.api.describe_service(service_type, service_name)
 
     @wait_api_result
     def get(self, service_name: str) -> ServiceDescription:
@@ -94,8 +96,11 @@ class ServiceManager(ResourceManager):
     @wait_api_result
     def list_daemons(self,
                      service_name: Optional[str] = None,
+                     daemon_type: Optional[str] = None,
                      hostname: Optional[str] = None) -> List[DaemonDescription]:
-        return self.api.list_daemons(service_name, host=hostname)
+        return self.api.list_daemons(service_name=service_name,
+                                     daemon_type=daemon_type,
+                                     host=hostname)
 
     def reload(self, service_type, service_ids):
         if not isinstance(service_ids, list):