def __init__(self, mgr, namespace=None):
self.mgr = mgr
self.rados_pool = 'nfs-ganesha'
- self.rados_namespace = namespace #TODO check if cluster exists
+ self.rados_namespace = namespace
self.exports = {}
try:
def create_export(self, fs_name, cluster_id, pseudo_path, read_only, path):
try:
if not self.check_fs(fs_name):
- return -errno.EINVAL,"", "Invalid CephFS name"
+ return -errno.ENOENT, "", f"filesystem {fs_name} not found"
+
+ cluster_check = f"ganesha-{cluster_id}" in available_clusters(self.mgr)
+ if not cluster_check:
+ return -errno.ENOENT, "", "Cluster does not exists"
- #TODO Check if valid cluster
if cluster_id not in self.exports:
self.exports[cluster_id] = []
log.info(f"Deleted object:{common_conf}")
def _set_cluster_id(self, cluster_id):
- self.cluster_id = "ganesha-%s" % cluster_id
+ self.cluster_id = f"ganesha-{cluster_id}"
def _set_pool_namespace(self, cluster_id):
self.pool_ns = cluster_id
if self.cluster_id in available_clusters(self.mgr):
self._call_orch_apply_nfs(placement)
return 0, "NFS Cluster Updated Successfully", ""
- return -errno.EINVAL, "", "Cluster does not exist"
+ return -errno.ENOENT, "", "Cluster does not exist"
except Exception as e:
log.warning("NFS Cluster could not be updated")
return -errno.EINVAL, "", str(e)