]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: use supplied `CephadmDaemonSpec`
authorMichael Fritch <mfritch@suse.com>
Thu, 20 Aug 2020 20:10:11 +0000 (14:10 -0600)
committerMichael Fritch <mfritch@suse.com>
Thu, 20 Aug 2020 20:14:21 +0000 (14:14 -0600)
69ed3d9cffd refactored `_create_daemon()` which obsoleted any need to
search for the NFSServiceSpec in the SpecStore

Signed-off-by: Michael Fritch <mfritch@suse.com>
src/pybind/mgr/cephadm/services/nfs.py

index bee266072e8ba9efe8dffc662dbbac82f7382fc1..bebd60a055e4857c812b0523d5c0df1e84f873e4 100644 (file)
@@ -38,33 +38,17 @@ class NFSService(CephadmService):
             daemon_id, host, spec))
         return self.mgr._create_daemon(daemon_spec)
 
-    def generate_config(self, daemon_spec: CephadmDaemonSpec) -> Tuple[Dict[str, Any], List[str]]:
+    def generate_config(self, daemon_spec: CephadmDaemonSpec[NFSServiceSpec]) -> Tuple[Dict[str, Any], List[str]]:
         assert self.TYPE == daemon_spec.daemon_type
+        assert daemon_spec.spec
 
         daemon_type = daemon_spec.daemon_type
         daemon_id = daemon_spec.daemon_id
         host = daemon_spec.host
+        spec = daemon_spec.spec
 
         deps: List[str] = []
 
-        # find the matching NFSServiceSpec
-        # TODO: find the spec and pass via _create_daemon instead ??
-        dd = DaemonDescription()
-        dd.daemon_type = daemon_type
-        dd.daemon_id = daemon_id
-        dd.hostname = host
-
-        service_name = dd.service_name()
-        specs = self.mgr.spec_store.find(service_name)
-
-        if not specs:
-            raise OrchestratorError('Cannot find service spec %s' % (service_name))
-        elif len(specs) > 1:
-            raise OrchestratorError('Found multiple service specs for %s' % (service_name))
-        else:
-            # cast to keep mypy happy
-            spec = cast(NFSServiceSpec, specs[0])
-
         nfs = NFSGanesha(self.mgr, daemon_id, spec)
 
         # create the keyring