]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cephadm: move DaemonIdentity to daemon_identity.py
authorJohn Mulligan <jmulligan@redhat.com>
Thu, 17 Aug 2023 18:51:21 +0000 (14:51 -0400)
committerJohn Mulligan <jmulligan@redhat.com>
Wed, 30 Aug 2023 18:01:40 +0000 (14:01 -0400)
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
src/cephadm/cephadm.py
src/cephadm/cephadmlib/daemon_identity.py [new file with mode: 0644]

index c58ae76502b63e5347e3c2e88953773446a9e9f0..577b20bfb6a02185b5af2ba0ffdf64f4bc8ef22a 100755 (executable)
@@ -137,6 +137,7 @@ from cephadmlib.net_utils import (
     wrap_ipv6,
 )
 from cephadmlib.locking import FileLock
+from cephadmlib.daemon_identity import DaemonIdentity
 
 FuncT = TypeVar('FuncT', bound=Callable)
 
@@ -3620,75 +3621,6 @@ WantedBy=ceph-{fsid}.target
 ##################################
 
 
-class DaemonIdentity:
-    def __init__(
-        self,
-        fsid: str,
-        daemon_type: str,
-        daemon_id: Union[int, str],
-        subcomponent: str = '',
-    ) -> None:
-        self._fsid = fsid
-        self._daemon_type = daemon_type
-        self._daemon_id = str(daemon_id)
-        self._subcomponent = subcomponent
-
-    @property
-    def fsid(self) -> str:
-        return self._fsid
-
-    @property
-    def daemon_type(self) -> str:
-        return self._daemon_type
-
-    @property
-    def daemon_id(self) -> str:
-        return self._daemon_id
-
-    @property
-    def subcomponent(self) -> str:
-        return self._subcomponent
-
-    @property
-    def legacy_container_name(self) -> str:
-        return 'ceph-%s-%s.%s' % (self.fsid, self.daemon_type, self.daemon_id)
-
-    @property
-    def container_name(self) -> str:
-        name = f'ceph-{self.fsid}-{self.daemon_type}-{self.daemon_id}'
-        if self.subcomponent:
-            name = f'{name}-{self.subcomponent}'
-        return name.replace('.', '-')
-
-    def _replace(
-        self,
-        *,
-        fsid: Optional[str] = None,
-        daemon_type: Optional[str] = None,
-        daemon_id: Union[None, int, str] = None,
-        subcomponent: Optional[str] = None,
-    ) -> 'DaemonIdentity':
-        return self.__class__(
-            fsid=self.fsid if fsid is None else fsid,
-            daemon_type=(
-                self.daemon_type if daemon_type is None else daemon_type
-            ),
-            daemon_id=self.daemon_id if daemon_id is None else daemon_id,
-            subcomponent=(
-                self.subcomponent if subcomponent is None else subcomponent
-            ),
-        )
-
-    @classmethod
-    def from_name(cls, fsid: str, name: str) -> 'DaemonIdentity':
-        daemon_type, daemon_id = name.split('.', 1)
-        return cls(fsid, daemon_type, daemon_id)
-
-    @classmethod
-    def from_context(cls, ctx: 'CephadmContext') -> 'DaemonIdentity':
-        return cls.from_name(ctx.fsid, ctx.name)
-
-
 class BasicContainer:
     def __init__(
         self,
diff --git a/src/cephadm/cephadmlib/daemon_identity.py b/src/cephadm/cephadmlib/daemon_identity.py
new file mode 100644 (file)
index 0000000..b6af4b5
--- /dev/null
@@ -0,0 +1,74 @@
+# deamon_identity.py - classes for identifying daemons & services
+
+from typing import Union, Optional
+
+from .context import CephadmContext
+
+
+class DaemonIdentity:
+    def __init__(
+        self,
+        fsid: str,
+        daemon_type: str,
+        daemon_id: Union[int, str],
+        subcomponent: str = '',
+    ) -> None:
+        self._fsid = fsid
+        self._daemon_type = daemon_type
+        self._daemon_id = str(daemon_id)
+        self._subcomponent = subcomponent
+
+    @property
+    def fsid(self) -> str:
+        return self._fsid
+
+    @property
+    def daemon_type(self) -> str:
+        return self._daemon_type
+
+    @property
+    def daemon_id(self) -> str:
+        return self._daemon_id
+
+    @property
+    def subcomponent(self) -> str:
+        return self._subcomponent
+
+    @property
+    def legacy_container_name(self) -> str:
+        return 'ceph-%s-%s.%s' % (self.fsid, self.daemon_type, self.daemon_id)
+
+    @property
+    def container_name(self) -> str:
+        name = f'ceph-{self.fsid}-{self.daemon_type}-{self.daemon_id}'
+        if self.subcomponent:
+            name = f'{name}-{self.subcomponent}'
+        return name.replace('.', '-')
+
+    def _replace(
+        self,
+        *,
+        fsid: Optional[str] = None,
+        daemon_type: Optional[str] = None,
+        daemon_id: Union[None, int, str] = None,
+        subcomponent: Optional[str] = None,
+    ) -> 'DaemonIdentity':
+        return self.__class__(
+            fsid=self.fsid if fsid is None else fsid,
+            daemon_type=(
+                self.daemon_type if daemon_type is None else daemon_type
+            ),
+            daemon_id=self.daemon_id if daemon_id is None else daemon_id,
+            subcomponent=(
+                self.subcomponent if subcomponent is None else subcomponent
+            ),
+        )
+
+    @classmethod
+    def from_name(cls, fsid: str, name: str) -> 'DaemonIdentity':
+        daemon_type, daemon_id = name.split('.', 1)
+        return cls(fsid, daemon_type, daemon_id)
+
+    @classmethod
+    def from_context(cls, ctx: 'CephadmContext') -> 'DaemonIdentity':
+        return cls.from_name(ctx.fsid, ctx.name)