.. 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
.. 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).
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}"
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:
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")
'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",
},
{
'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'
},
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'],