Re: Documentation for meaning of "tag cephfs" in OSD caps

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

 



There is a tiny bit more to it. The idea is that, when adding a data pool, any cephfs client can access the new pool without changing and updating the caps. To this end, the fs-caps must include 2 pieces of information, the application name "cephfs" and the file system name (ceph can have multiple file systems). Any cephfs enabled pool with the correct file system name will be accessible to a properly authorized client of that file system without having to add that pool to the client caps explicitly, as was necessary in older versions.

The 2 pieces of information are provided like:

application name cephfs: "tag cephfs"
file system name: "data=con-fs2"

One can check what is encoded for each pool using

ceph osd pool ls detail --format=json | jq '.[] | .pool_name, .application_metadata'

For a ceph-fs pool, it will look something like

"con-fs2-data2"
{
  "cephfs": {
    "data": "con-fs2"
  }
}

As of today, it seems indeed undocumented black magic and you need to search very carefully to find ceph-user cases that discuss (issues with) these tags, thereby explaining it as a side effect.

Best regards,
=================
Frank Schilder
AIT Risø Campus
Bygning 109, rum S14

________________________________________
From: Eugen Block <eblock@xxxxxx>
Sent: Tuesday, June 11, 2024 2:14 PM
To: ceph-users@xxxxxxx
Subject:  Re: Documentation for meaning of "tag cephfs" in OSD caps

I assume it means that pools with an enabled application "cephfs" can
be targeted by specifying this tag instead of listing each pool
separately. Browsing through the code [1] seems to confirm that
(somehow, I'm not a dev):

> if (g.match.pool_tag.application == ng.match.pool_tag.application

But I agree, it's worth adding that to the docs.

[1]
https://github.com/ceph/ceph/blob/09e81319648dd504cfd94edfdd321c7163cefa98/src/osd/OSDCap.cc#L549

Zitat von Petr Bena <petr@bena.rocks>:

> Hello
>
> In https://docs.ceph.com/en/latest/cephfs/client-auth/ we can find that
>
> ceph fs authorize cephfs_a client.foo / r /bar rw Results in
>
> client.foo
>   key: *key*
>   caps:  [mds]  allow  r,  allow  rw  path=/bar
>   caps:  [mon]  allow  r
>   caps:  [osd]  allow  rw  tag  cephfs  data=cephfs_a
>
>
> What is this "tag cephfs" thing? It seems like some undocumented
> black magic to me, since I can't find anything that documents it.
> Can someone explain how it works under the hood? What does it expand
> to? What does it limit and how?
> _______________________________________________
> ceph-users mailing list -- ceph-users@xxxxxxx
> To unsubscribe send an email to ceph-users-leave@xxxxxxx


_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux