]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: add a minimal ganesha.conf
authorMichael Fritch <mfritch@suse.com>
Tue, 25 Feb 2020 02:32:49 +0000 (19:32 -0700)
committerSage Weil <sage@redhat.com>
Thu, 26 Mar 2020 01:56:00 +0000 (20:56 -0500)
we only need to specify the rados pool and config object url

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

src/pybind/mgr/cephadm/nfs.py

index 691a7850d89c547a2d30a22feb97121b0c310811..61b4812e0bc5c1fc1df2bcfdc0c1bedf9edb473c 100644 (file)
@@ -26,6 +26,18 @@ class NFSGanesha(object):
         # type: () -> str
         return 'admin' # TODO: 'nfs.' + self.daemon_id
 
+    def get_rados_config_name(self):
+        # type: () -> str
+        return 'conf-' + self.get_daemon_name()
+
+    def get_rados_config_url(self):
+        # type: () -> str
+        url = 'rados://' + self.pool + '/'
+        if self.namespace:
+            url += self.namespace + '/'
+        url += self.get_rados_config_name()
+        return url
+
     def create_keyring(self):
         # type: () -> str
         ret, keyring, err = self.mgr.mon_command({
@@ -34,12 +46,23 @@ class NFSGanesha(object):
         })
         return keyring
 
+    def get_ganesha_conf(self):
+        # type: () -> str
+        return '''# generated by cephadm
+RADOS_URLS {{
+        UserId = "{user}";
+}}
+
+%url    {url}
+'''.format(user=self.get_rados_user(),
+           url=self.get_rados_config_url())
+
     def get_cephadm_config(self):
         # type: () -> Dict
         config = {'pool' : self.pool} # type: Dict
         if self.namespace:
             config['namespace'] = self.namespace
         config['files'] = {
-            'ganesha.conf' : '', # TODO: add ganesha.conf
+            'ganesha.conf' : self.get_ganesha_conf(),
         }
         return config