]> git.proxmox.com Git - ceph.git/blame - ceph/src/pybind/mgr/cephadm/services/container.py
import quincy beta 17.1.0
[ceph.git] / ceph / src / pybind / mgr / cephadm / services / container.py
CommitLineData
f91f0fd5 1import logging
f67539c2 2from typing import List, Any, Tuple, Dict, cast
f91f0fd5
TL
3
4from ceph.deployment.service_spec import CustomContainerSpec
5
f67539c2 6from .cephadmservice import CephadmService, CephadmDaemonDeploySpec
f91f0fd5
TL
7
8logger = logging.getLogger(__name__)
9
10
11class CustomContainerService(CephadmService):
12 TYPE = 'container'
13
f67539c2
TL
14 def prepare_create(self, daemon_spec: CephadmDaemonDeploySpec) \
15 -> CephadmDaemonDeploySpec:
f91f0fd5 16 assert self.TYPE == daemon_spec.daemon_type
f67539c2 17 daemon_spec.final_config, daemon_spec.deps = self.generate_config(daemon_spec)
f91f0fd5
TL
18 return daemon_spec
19
f67539c2 20 def generate_config(self, daemon_spec: CephadmDaemonDeploySpec) \
f91f0fd5
TL
21 -> Tuple[Dict[str, Any], List[str]]:
22 assert self.TYPE == daemon_spec.daemon_type
f91f0fd5 23 deps: List[str] = []
f67539c2 24 spec = cast(CustomContainerSpec, self.mgr.spec_store[daemon_spec.service_name].spec)
f91f0fd5
TL
25 config: Dict[str, Any] = spec.config_json()
26 logger.debug(
27 'Generated configuration for \'%s\' service: config-json=%s, dependencies=%s' %
28 (self.TYPE, config, deps))
29 return config, deps