Actions
Bug #40362
openamending caps with "ceph auth caps" vs using an existing client
Status:
New
Priority:
Normal
Assignee:
-
Category:
rbd
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Crash signature (v1):
Crash signature (v2):
Description
$ ceph osd pool create pool1 4 pool 'pool1' created $ ceph osd pool create pool2 4 pool 'pool2' created $ ceph auth add client.foo mon 'allow r' osd 'allow rwx pool=pool1' added key for client.foo $ ceph auth get-or-create client.foo >keyring $ rbd create --id foo --keyring keyring --size 1 pool1/img $ sudo rbd map --id foo --keyring keyring pool1/img /dev/rbd0 $ ceph auth caps client.foo mon 'allow r' osd 'allow rwx pool=pool1,allow rwx pool=pool2' updated caps for client.foo $ rbd create --id foo --keyring keyring --size 1 pool2/img $ sudo rbd map --id foo --keyring keyring pool2/img rbd: sysfs write failed In some cases useful info is found in syslog - try "dmesg | tail". rbd: map failed: (1) Operation not permitted
This is because the existing libceph instance (created for /dev/rbd0) has tickets that it considers valid and, more importantly, has open connections to some or all OSDs. Invalidating tickets when using an existing libceph instance won't help unless we also force reset all OSD connections, which is probably not a good idea.
Actions