]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: add config required for ganesha grace
authorMichael Fritch <mfritch@suse.com>
Thu, 2 Apr 2020 19:12:40 +0000 (13:12 -0600)
committerSebastian Wagner <sebastian.wagner@suse.com>
Tue, 14 Apr 2020 14:50:50 +0000 (16:50 +0200)
adds minimal config for ganesha-rados-grace

Signed-off-by: Michael Fritch <mfritch@suse.com>
(cherry picked from commit 8055d34455bf49fe5b93f501a60308ec0c681f42)

src/pybind/mgr/cephadm/nfs.py

index 547047b6b00ce10ac5a04119711d31749d2debad..bf0859620c349447012faf1e80b416c8cb0095c7 100644 (file)
@@ -18,10 +18,15 @@ class NFSGanesha(object):
                  daemon_id,
                  spec):
         # type: (cephadm.CephadmOrchestrator, str, NFSServiceSpec) -> None
+        assert spec.service_id and daemon_id.startswith(spec.service_id)
         self.mgr = mgr
         self.daemon_id = daemon_id
         self.spec = spec
 
+    def get_daemon_name(self):
+        # type: () -> str
+        return '%s.%s' % (self.spec.service_type, self.daemon_id)
+
     def get_rados_user(self):
         # type: () -> str
         return '%s.%s' % (self.spec.service_type, self.daemon_id)
@@ -95,6 +100,25 @@ class NFSGanesha(object):
     def get_ganesha_conf(self):
         # type: () -> str
         return '''# generated by cephadm
+NFS_CORE_PARAM {{
+        Enable_NLM = false;
+        Enable_RQUOTA = false;
+        Protocols = 4;
+}}
+
+NFSv4 {{
+        Delegations = false;
+        RecoveryBackend = 'rados_cluster';
+        Minor_Versions = 1, 2;
+}}
+
+RADOS_KV {{
+        UserId = "{user}";
+        nodeid = "{nodeid}";
+        pool = "{pool}";
+        namespace = "{namespace}";
+}}
+
 RADOS_URLS {{
         UserId = "{user}";
         watch_url = "{url}";
@@ -102,6 +126,9 @@ RADOS_URLS {{
 
 %url    {url}
 '''.format(user=self.get_rados_user(),
+           nodeid=self.get_daemon_name(),
+           pool=self.spec.pool,
+           namespace=self.spec.namespace if self.spec.namespace else '',
            url=self.spec.rados_config_location())
 
     def get_cephadm_config(self):