Hi,
I'm trying to write a simple test application using the Python 3 RADOS API. I've made a separate keyring for my application with the same permissions as the admin keyring, but I can't seem to use it to connect to my cluster. The only keyring that seems to work is the client.admin keyring. Does anyone have any experience with this issue?
Cluster info:
OS: Ubuntu 18.04.1
Ceph: Mimic 13.2.1 (from Ceph repository)
Attempting to connect to the cluster using python3-rados or python-rados results in the following error:
>>> import rados
>>> cluster = rados.Rados(conffile="python_ceph.conf")
>>> cluster.connect()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "rados.pyx", line 895, in rados.Rados.connect
File "rados.pyx", line 474, in rados.make_ex
TypeError: InvalidArgumentError does not take keyword arguments
Contents of python_ceph.conf:
[global]
cluster network = 0.0.0.0/0
fsid = 518403a0-6b6f-42b8-be99-e58788bee5c2
mon host = <redacted>
mon initial members = <hostname of monitor>
mon_allow_pool_delete = True
osd crush chooseleaf type = 0
public network = 0.0.0.0/0
keyring = /etc/ceph/ceph.client.dms.keyring # Everything works ok if i use client.adming.keyring
Output of ceph auth ls
...
client.admin
key: <Redacted>
caps: [mds] allow *
caps: [mgr] allow *
caps: [mon] allow *
caps: [osd] allow *
...
client.dms
key: <redacted, but matches contents of keyring file>
caps: [mgr] allow *
caps: [mon] allow *
caps: [osd] allow *
...
What's even more odd is that I can use client.dms keyring with the ceph command line program without issues...
e.g., "ceph --user dms status" does not result in any errors has the same output as "ceph --user admin status"
Does anyone have any thoughts on what could be causing this issue?
Thanks,
Ben
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com