]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/pybind/mgr/cephadm/services/container.py
Import ceph 15.2.8
[ceph.git] / ceph / src / pybind / mgr / cephadm / services / container.py
diff --git a/ceph/src/pybind/mgr/cephadm/services/container.py b/ceph/src/pybind/mgr/cephadm/services/container.py
new file mode 100644 (file)
index 0000000..c073d1a
--- /dev/null
@@ -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