Re: RBD rights acting up.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Op 3-7-2017 om 20:00 schreef Gregory Farnum:
On Mon, Jul 3, 2017 at 10:51 AM, Willem Jan Withagen <wjw@xxxxxxxxxxx> wrote:
Hi,

I do not seem to have luck with working with the rights structure in
Ceph. But please help me out with my ignorance....

I have setup the FreeBSD cluster running in 5 ceph jails/vms. That works
as a charm, and I can use ceph-fuse to mount a FS and write/read/... on
it when I'm outside the ceph jails. For that I copies ceph.conf and
ceph.client.admin.keyring to the current system I would like to connect
with.

Also things like ceph -s and rados commands just work as a charm.

So the next check is to test rbd-ggate, the freebsd variant to map
rbd-images to a device.... But then I start to get things like:
----
# rbd info rbd/testrbdggate45846
2017-07-03 19:41:00.562567 80ee53b00 -1 librbd::image::OpenRequest:
failed to retrieve create_timestamp: (1) Operation not permitted
2017-07-03 19:41:00.562685 80f8b2000 -1 librbd::ImageState: 0x80ef23640
failed to open image: (1) Operation not permitted
rbd: error opening image testrbdggate45846: (1) Operation not permitted
----

Which is definitly a rights issue, because I can do that without much
trouble on one of the Ceph servers:
----
# jexec ceph_0 rbd info rbd/testrbdggate45846
rbd image 'testrbdggate45846':
         size 65536 kB in 16 objects
         order 22 (4096 kB objects)
         block_name_prefix: rbd_data.10e3c0b1daf
         format: 2
         features: layering, exclusive-lock, object-map, fast-diff,
deep-flatten
         flags:
----

So why does this work from a server that is actually running
mon/osd/mgr, but not from a server that has the same
ceph.client.admin.keyring:
[client.admin]
         key = AQBUXllZMNZSARAAsSexLBkWJQS6vHi9u3rrSA==
         auid = 0
         caps mds = "allow *"
         caps mgr = "allow *"
         caps mon = "allow *"
         caps osd = "allow *"

and ceph auth list:
installed auth entries:
client.admin
         key: AQBUXllZMNZSARAAsSexLBkWJQS6vHi9u3rrSA==
         auid: 0
         caps: [mds] allow *
         caps: [mgr] allow *
         caps: [mon] allow *
         caps: [osd] allow *

client.ggate
         key: AQANP1pZGNDmNRAAVb8NRXUMmWYh9i1nju6rYA==
         caps: [mon] allow r
         caps: [osd] allow class-read object_prefix rbd_children, allow
rwx pool=rbd
Presumably ggate is using this client. I'm not sure off-hand what
permissions RBD needs, but I presume it needs class-write in order to
create new images (and they probably won't be prefixed with
rbd_children?).

Well, client.ggate was an attempt to mirror what we have in our working OpenStack ceph.

But my major concern is that it all works on a host that is actually part of the cluster (as admin), but it does not work for all rbd commands once I start working on a separate host.
Ceph and rados are oke, but certain rbs commands fail.

So why doesn't it work as admin on an 'external'  host.

--WjW

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux