<div dir="ltr"><div>Hi,<br><br>I am trying to integrate OpenStack Juno Keystone with the Ceph Object Gateway(radosw).<br><br>I want to use keystone as the users authority. A user that keystone authorizes to access<br>the gateway will also be created on the radosgw. Tokens that keystone validates will be <br>considered as valid by the rados gateway.<br><br><br>I have deployed a 4 node ceph cluster running on Ubuntu 14.04<br><br>Host1: <a href="http://ppm-c240-admin.xyz.com">ppm-c240-admin.xyz.com</a> (10.x.x.123)<br><br>Host2: <a href="http://ppm-c240-ceph1.xyz.com">ppm-c240-ceph1.xyz.com</a> (10.x.x.124)<br><br>Host3: <a href="http://ppm-c240-ceph2.xyz.com">ppm-c240-ceph2.xyz.com</a> (10.x.x.125)<br><br>Host4: <a href="http://ppm-c240-ceph3.xyz.com">ppm-c240-ceph3.xyz.com</a> (10.x.x.126)<br><br><br>My ceph -w output is as follows,<br><br>ceph@ppm-c240-admin:~/my-cluster$ ceph -w<br><br>cluster df18a088-2a70-43f9-b07f-ce8cf7c3349c<br>health HEALTH_OK<br>monmap e1: 3 mons at {ppm-c240-admin=10.x.x.123:6789/0,ppm-c240-ceph1=10.x.x.124:6789/0,ppm-c240-ceph2=10.x.x.125:6789/0}, <br>            election epoch 20, quorum 0,1,2 ppm-c240-admin,ppm-c240-ceph1,ppm-c240-ceph2<br>osdmap e92: 12 osds: 12 up, 12 in<br>pgmap v461: 704 pgs, 4 pools, 0 bytes data, 0 objects<br>442 MB used, 44622 GB / 44623 GB avail<br>704 active+clean<br>2014-11-04 12:24:37.126783 mon.0 [INF] pgmap v461: 704 pgs: 704 active+clean; 0 bytes data, 442 MB used, 44622 GB / 44623 GB avail<br><br>The host <a href="http://ppm-c240-ceph3.xyz.com">ppm-c240-ceph3.xyz.com</a> (10.x.x.126) is running the Ceph Object Gateway(Radosgw)<br><br>I can see the radosgw up and running,<br><br>ppmuser@ppm-c240-ceph3:~$ ll /var/run/ceph<br>total 0<br>drwxr-xr-x  3 root root 140 Dec  4 11:33 ./<br>drwxr-xr-x 21 root root 800 Dec  5 06:51 ../<br>srwxr-xr-x  1 root root   0 Nov  3 11:52 ceph-osd.10.asok=<br>srwxr-xr-x  1 root root   0 Nov  3 11:54 ceph-osd.11.asok=<br>srwxr-xr-x  1 root root   0 Nov  3 11:49 ceph-osd.9.asok=<br>srwxrwxrwx  1 root root   0 Nov  7 09:50 ceph.radosgw.gateway.fastcgi.sock=<br>drwxr-xr-x  2 root root  40 Apr 28  2014 radosgw-agent/<br>ppmuser@ppm-c240-ceph3:~$<br><br><br>root@ppm-c240-ceph3:~# ceph df detail<br>GLOBAL:<br>    SIZE       AVAIL      RAW USED     %RAW USED     OBJECTS<br>    44623G     44622G         496M             0          43<br>POOLS:<br>    NAME             ID     CATEGORY     USED     %USED     MAX AVAIL     OBJECTS     DIRTY     READ     WRITE<br>    data             0      -               0         0        14873G           0         0        0         0<br>    metadata         1      -               0         0        14873G           0         0        0         0<br>    rbd              2      -               0         0        14873G           0         0        0         0<br>    pg_pool          3      -               0         0        14873G           0         0        0         0<br>    .rgw.root        4      -             840         0        14873G           3         3     2356         3<br>    .rgw.control     5      -               0         0        14873G           8         8        0         0<br>    .rgw             6      -               0         0        14873G           0         0        0         0<br>    .rgw.gc          7      -               0         0        14873G          32        32     121k     83200<br>    .users.uid       8      -               0         0        14873G           0         0      862       220<br>    .users           9      -               0         0        14873G           0         0        0        84<br>    .users.email     10     -               0         0        14873G           0         0        0        42<br>    .users.swift     11     -               0         0        14873G           0         0        0         2<br>root@ppm-c240-ceph3:~#<br><br><br>I am following the steps in the URL: <a href="http://ceph.com/docs/master/radosgw/keystone/">http://ceph.com/docs/master/radosgw/keystone/</a> for the radosgw integration with keystone.<br><br>The /etc/ceph/ceph.conf snippet on all the 4 ceph nodes are as follows,<br><br>rgw keystone url = 10.x.x.175:35357<br>rgw keystone admin token = xyz123<br>rgw keystone accepted roles = Member, admin<br>rgw keystone token cache size = 10000<br>rgw keystone revocation interval = 15 * 60<br>rgw s3 auth use keystone = true<br>nss db path = /var/lib/nssdb<br><br>Where 10.x.x.175 is the I.P. Address of the Keystone server (Single Node Juno install on Ubuntu 14.04) <br><br>Keystone itself is pointing to the Ceph Object Gateway as an object-storage endpoint:<br><br>ppmuser@ppm-dc-c3sv3-ju:~$ keystone service-create --name swift --type object-store --description "Object Storage"<br><br>ppmuser@ppm-dc-c3sv3-ju:~$ keystone endpoint-create --service-id a70fbbc539434fa5bf8c0977e36161a4  --publicurl <a href="http://ppm-c240-ceph3.xyz.com/swift/v1">http://ppm-c240-ceph3.xyz.com/swift/v1</a> --internalurl <a href="http://ppm-c240-ceph3.xyz.com/swift/v1">http://ppm-c240-ceph3.xyz.com/swift/v1</a> --adminurl <a href="http://ppm-c240-ceph3.xyz.com/swift/v1">http://ppm-c240-ceph3.xyz.com/swift/v1</a><br><div style="text-align:left"><br></div><br>I have the following queries<br><br>1) I am following the steps in <a href="http://docs.openstack.org/juno/install-guide/install/apt/content/swift">http://docs.openstack.org/juno/install-guide/install/apt/content/swift</a> install-controller-node.html. Do I need to create a swift user in keystone on my OpenStack node ?<br>   <br>2) Once the swift user is created, do I have to do a $ keystone user-role-add --user swift --tenant service --role admin ?<br><br>3) I did not find any documents on how to proceed further and test the integrated setup, so any pointers would be most welcome.<br><br>ps: I am cross posting this to the openstack and ceph lists because it involves an integration of both.<br clear="all"></div><br>Regards,<br><div>--- <br><div class="gmail_signature">Vivek Varghese Cherian <br></div>
</div></div>