]> 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>
Mon, 19 Oct 2020 11:09:28 +0000 (19:09 +0800)
- Allow listing services by service_type.
- Allow listing daemons by daemon_type.

Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
src/pybind/mgr/dashboard/controllers/host.py
src/pybind/mgr/dashboard/controllers/service.py
src/pybind/mgr/dashboard/services/orchestrator.py

index abae3284b35def8f05c17b664c5731d534042a66..8394fc578e3ab1961b42ca5b4a073026fd04d7d2 100644 (file)
@@ -189,7 +189,7 @@ class Host(RESTController):
     @raise_if_no_orchestrator([OrchFeature.DAEMON_LIST])
     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 b62e7d68a33150e0b51270e8329955fcc53e6f2d..4470f8f831e02ff5231f6c139f8123007435e22e 100644 (file)
@@ -32,7 +32,7 @@ class Service(RESTController):
     @raise_if_no_orchestrator([OrchFeature.SERVICE_LIST])
     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([OrchFeature.SERVICE_LIST])
     def get(self, service_name: str) -> List[dict]:
@@ -46,7 +46,7 @@ class Service(RESTController):
     @raise_if_no_orchestrator([OrchFeature.DAEMON_LIST])
     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]
 
     @CreatePermission
index 37b7b3b141e1df94263d8a6b6310568c4ff7239b..16c038ada6e78c612823b2c7cb7ea035c548e70f 100644 (file)
@@ -85,8 +85,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:
@@ -95,8 +97,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):