]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/volumes: Rearrange nfs export interface
authorVarsha Rao <varao@redhat.com>
Thu, 14 May 2020 16:00:46 +0000 (21:30 +0530)
committerVarsha Rao <varao@redhat.com>
Wed, 8 Jul 2020 05:36:35 +0000 (07:36 +0200)
Signed-off-by: Varsha Rao <varao@redhat.com>
(cherry picked from commit 8a84744a5a7b8e7fb158cfe33887e8f0a2b2fb91)

doc/cephfs/fs-nfs-exports.rst
src/pybind/mgr/volumes/fs/nfs.py
src/pybind/mgr/volumes/module.py
src/vstart.sh

index 067d21b14797660057e0319f0a4d29c939687308..2c8f5e203f08f31eabd542a277b1a6251ce72766 100644 (file)
@@ -50,7 +50,7 @@ Create CephFS Export
 
 .. code:: bash
 
-    $ ceph nfs export create <type=cephfs> <fsname> <binding> <clusterid> [--readonly] [--path=/path/in/cephfs]
+    $ ceph nfs export create <type=cephfs> <fsname> <clusterid> <binding> [--readonly] [--path=/path/in/cephfs]
 
 It creates export rados objects containing the export block. Here binding is
 the pseudo root name and type is export type. Currently only CephFS is
@@ -61,7 +61,7 @@ Delete CephFS Export
 
 .. code:: bash
 
-    $ ceph nfs export delete <binding> <clusterid>
+    $ ceph nfs export delete <clusterid> <binding>
 
 It deletes an export in cluster based on pseudo root name (binding).
 
index 37ab1b8d004d881d5502c76cda7f19e42d7250e9..b3f68ed60ca1d24cff724c250dd84bcf92f4a337 100644 (file)
@@ -294,7 +294,7 @@ class FSExport(object):
         self._write_raw_config(conf_block, "export-{}".format(export.export_id))
         self._update_common_conf(export.cluster_id, export.export_id)
 
-    def create_export(self, export_type, fs_name, pseudo_path, read_only, path, cluster_id):
+    def create_export(self, export_type, fs_name, cluster_id, pseudo_path, read_only, path):
         if export_type != 'cephfs':
             return -errno.EINVAL,"", f"Invalid export type: {export_type}"
 
@@ -344,7 +344,7 @@ class FSExport(object):
 
         return (0, json.dumps(result, indent=4), '')
 
-    def delete_export(self, pseudo_path, cluster_id, export_obj=None):
+    def delete_export(self, cluster_id, pseudo_path, export_obj=None):
         try:
             self.rados_namespace = cluster_id
             if export_obj:
@@ -368,7 +368,7 @@ class FSExport(object):
         try:
             export_list = list(self.exports[cluster_id])
             for export in export_list:
-                self.delete_export(None, cluster_id, export)
+                self.delete_export(cluster_id, None, export)
             log.info(f"All exports successfully deleted for cluster id: {cluster_id}")
         except KeyError:
             log.info("No exports to delete")
index e67c2edd48b8d19e7f0983d1f7ca41242077b109..08918755e97edca6a5076a114632709aada93b88 100644 (file)
@@ -257,8 +257,8 @@ class Module(orchestrator.OrchestratorClientMixin, MgrModule):
             'cmd': 'nfs export create '
             'name=type,type=CephString '
             'name=fsname,type=CephString '
-            'name=binding,type=CephString '
             'name=attach,type=CephString '
+            'name=binding,type=CephString '
             'name=readonly,type=CephBool,req=false '
             'name=path,type=CephString,req=false ',
             'desc': "Create a cephfs export",
@@ -266,8 +266,8 @@ class Module(orchestrator.OrchestratorClientMixin, MgrModule):
         },
         {
             'cmd': 'nfs export delete '
-                   'name=binding,type=CephString '
-                   'name=attach,type=CephString ',
+                   'name=attach,type=CephString '
+                   'name=binding,type=CephString ',
             'desc': "Delete a cephfs export",
             'perm': 'rw'
         },
@@ -484,11 +484,11 @@ class Module(orchestrator.OrchestratorClientMixin, MgrModule):
     def _cmd_nfs_export_create(self, inbuf, cmd):
         #TODO Extend export creation for rgw.
         return self.fs_export.create_export(export_type=cmd['type'], fs_name=cmd['fsname'],
-                pseudo_path=cmd['binding'], read_only=cmd.get('readonly', False),
-                path=cmd.get('path', '/'), cluster_id=cmd.get('attach'))
+                cluster_id=cmd.get('attach'), pseudo_path=cmd.get('binding'),
+                read_only=cmd.get('readonly', False), path=cmd.get('path', '/'))
 
     def _cmd_nfs_export_delete(self, inbuf, cmd):
-        return self.fs_export.delete_export(pseudo_path=cmd['binding'], cluster_id=cmd.get('attach'))
+        return self.fs_export.delete_export(cluster_id=cmd.get('attach'), pseudo_path=cmd.get('binding'))
 
     def _cmd_nfs_cluster_create(self, inbuf, cmd):
         return self.nfs.create_nfs_cluster(cluster_id=cmd['clusterid'], export_type=cmd['type'],
index a140f33c12b0cc27381ad550c94820312addc668..7fd8788b38b624fe953461e5bd70e4328373d3d4 100755 (executable)
@@ -1133,7 +1133,7 @@ start_ganesha() {
         pid file = $ganesha_dir/ganesha.pid
 EOF
 
-        prun ceph_adm nfs export create cephfs "a" "/cephfs" $name
+        prun ceph_adm nfs export create cephfs "a" $name "/cephfs"
         prun ganesha-rados-grace -p $pool_name -n $namespace add $name
         prun ganesha-rados-grace -p $pool_name -n $namespace