]> git.apps.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>
Fri, 29 May 2020 09:17:32 +0000 (14:47 +0530)
Signed-off-by: Varsha Rao <varao@redhat.com>
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 fd23867b88cb76c9d4d49aeeff61c78cc7e26d9b..08f7b2613ce2b3d6d5db228411cc9ef08f78e15e 100644 (file)
@@ -226,8 +226,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",
@@ -235,8 +235,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'
         },
@@ -435,11 +435,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 2fb9a9cf1ecbacb7fa5431ce2c6b9e7094fdcf17..169b2e326a66b86066e7d963a8bcf4b290d817dc 100755 (executable)
@@ -1139,7 +1139,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