X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Fpybind%2Fmgr%2Fcephadm%2Fservices%2Fcontainer.py;fp=ceph%2Fsrc%2Fpybind%2Fmgr%2Fcephadm%2Fservices%2Fcontainer.py;h=c073d1ae9c384081ae597bb71054090ae9201ae5;hb=f91f0fd59dc16d284d230f8953e42d49a893715d;hp=0000000000000000000000000000000000000000;hpb=91f1cf44a5d7f2447155ea575d309309fbbe6f73;p=ceph.git diff --git a/ceph/src/pybind/mgr/cephadm/services/container.py b/ceph/src/pybind/mgr/cephadm/services/container.py new file mode 100644 index 000000000..c073d1ae9 --- /dev/null +++ b/ceph/src/pybind/mgr/cephadm/services/container.py @@ -0,0 +1,29 @@ +import logging +from typing import List, Any, Tuple, Dict + +from ceph.deployment.service_spec import CustomContainerSpec + +from .cephadmservice import CephadmService, CephadmDaemonSpec + +logger = logging.getLogger(__name__) + + +class CustomContainerService(CephadmService): + TYPE = 'container' + + def prepare_create(self, daemon_spec: CephadmDaemonSpec[CustomContainerSpec]) \ + -> CephadmDaemonSpec: + assert self.TYPE == daemon_spec.daemon_type + return daemon_spec + + def generate_config(self, daemon_spec: CephadmDaemonSpec[CustomContainerSpec]) \ + -> Tuple[Dict[str, Any], List[str]]: + assert self.TYPE == daemon_spec.daemon_type + assert daemon_spec.spec + deps: List[str] = [] + spec: CustomContainerSpec = daemon_spec.spec + config: Dict[str, Any] = spec.config_json() + logger.debug( + 'Generated configuration for \'%s\' service: config-json=%s, dependencies=%s' % + (self.TYPE, config, deps)) + return config, deps