Bug #44415
closed
cephfs.pyx: passing empty string is fine but passing None is not to arg conffile in LibCephFS.__cinit__
Added by Rishabh Dave about 4 years ago.
Updated over 3 years ago.
Backport:
octopus, nautilus
Description
diff --git a/src/tools/cephfs/cephfs-shell b/src/tools/cephfs/cephfs-shell
index 932b57f725..180fe577dd 100755
--- a/src/tools/cephfs/cephfs-shell
+++ b/src/tools/cephfs/cephfs-shell
@@ -1477,13 +1477,13 @@ class CephFSShell(Cmd):
#
#####################################################
-def setup_cephfs(config_file):
+def setup_cephfs():
"""
Mounting a cephfs
"""
global cephfs
try:
- cephfs = libcephfs.LibCephFS(conffile=config_file)
+ cephfs = libcephfs.LibCephFS()
cephfs.mount()
except libcephfs.ObjectNotFound as e:
print('couldn\'t find ceph configuration not found')
@@ -1556,7 +1556,7 @@ if __name__ == '__main__':
sys.argv.append(exe)
sys.argv.extend([i.strip() for i in ' '.join(args.commands).split(',')])
- setup_cephfs(config_file)
+ setup_cephfs()
shell = CephFSShell()
shell.exit_code = 0
read_ceph_conf(shell, config_file)
$ ../src/tools/cephfs/cephfs-shell
unable to get monitor info from DNS SRV with service name: ceph-mon
couldn't find ceph configuration not found
According Kefu, this was probably done purposefully by original API author so that client has 3 options: first, get config from given conf file when path is passed, second, read conf files from default locations when None is passed and, third, don't read conf at all when empty string is passed.
He suggested creating new class or tag/flag to make that more clear that there are 3 options altogether.
- Assignee set to Rishabh Dave
- Target version set to v16.0.0
- Source set to Development
- Backport set to octopus,nautilus
- Pull request ID set to 33818
- Status changed from New to Fix Under Review
- Assignee changed from Rishabh Dave to Kefu Chai
- Pull request ID changed from 33818 to 33912
- Status changed from Fix Under Review to Pending Backport
- Backport changed from octopus,nautilus to octopus
Patrick, can you confirm that this cleanup really needs to be backported to nautilus? This change does not apply cleanly to nautilus.
In the PR, Kefu wrote: "i reset the backport field of the tracker ticket you created. there is no need to backport a cleanup."
I guess he forgot to actually change the tracker, but the sentiment seems correct?
- Backport deleted (
octopus)
It doesn't apply cleanly to octopus, either.
- Status changed from Pending Backport to Resolved
- Status changed from Resolved to Pending Backport
- Backport set to octopus, nautilus
- Copied to Backport #46610: octopus: cephfs.pyx: passing empty string is fine but passing None is not to arg conffile in LibCephFS.__cinit__ added
- Copied to Backport #46611: nautilus: cephfs.pyx: passing empty string is fine but passing None is not to arg conffile in LibCephFS.__cinit__ added
- Status changed from Pending Backport to Resolved
While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".
Also available in: Atom
PDF