]>
git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/services/orchestrator.py
366ff7de735c531e18661c07618e1469f3840427
1 # -*- coding: utf-8 -*-
2 from __future__
import absolute_import
4 from orchestrator
import OrchestratorClientMixin
, raise_if_exception
, OrchestratorError
5 from .. import mgr
, logger
8 # pylint: disable=abstract-method
9 class OrchClient(OrchestratorClientMixin
):
11 super(OrchClient
, self
).__init
__()
14 def list_service_info(self
, service_type
):
16 completion
= self
.describe_service(service_type
, None, None)
17 self
._orchestrator
_wait
([completion
])
18 raise_if_exception(completion
)
19 return completion
.result
23 status
, desc
= super(OrchClient
, self
).available()
24 logger
.info("[ORCH] is orchestrator available: %s, %s", status
, desc
)
26 except (RuntimeError, OrchestratorError
, ImportError):
29 def reload_service(self
, service_type
, service_ids
):
30 if not isinstance(service_ids
, list):
31 service_ids
= [service_ids
]
33 completion_list
= [self
.service_action('reload', service_type
,
34 service_name
, service_id
)
35 for service_name
, service_id
in service_ids
]
36 self
._orchestrator
_wait
(completion_list
)
37 for c
in completion_list
: