<div dir="ltr"><div>Hi,<br><br>I am trying to integrate OpenStack Juno Keystone with the Ceph Object <br>Gateway(radosw).<br><br>I want to use keystone as the users authority. A user that keystone <br>authorizes to access the gateway will also be created on the radosgw. <br>Tokens that keystone validates will be considered as valid by the rados gateway.<br><br></div><div>I am using the URL <a href="http://ceph.com/docs/master/radosgw/keystone/">http://ceph.com/docs/master/radosgw/keystone/</a> as my reference.<br></div><div><br></div><div><pre>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>Host2: <a href="http://ppm-c240-ceph1.xyz.com">ppm-c240-ceph1.xyz.com</a> (10.x.x.124)<br>Host3: <a href="http://ppm-c240-ceph2.xyz.com">ppm-c240-ceph2.xyz.com</a> (10.x.x.125)<br>Host4: <a href="http://ppm-c240-ceph3.xyz.com">ppm-c240-ceph3.xyz.com</a> (10.x.x.126)<br><br><br><a href="http://ppm-c240-ceph3.xyz.com">ppm-c240-ceph3.xyz.com</a> is the radosgw host, the radosgw service has <br>stopped working and I am able to start it using /etc/init.d/radosgw start<br><br></pre><pre>My /etc/ceph/ceph.conf on all the 4 nodes is as follows,<br><br><br>root@ppm-c240-ceph3:~# cat /etc/ceph/ceph.conf<br><br>[global]<br>fsid = df18a088-2a70-43f9-b07f-ce8cf7c3349c<br>mon_initial_members = ppm-c240-admin, ppm-c240-ceph1, ppm-c240-ceph2<br>mon_host = 10.x.x.123,10.x.x.124,10.x.x.125<br>auth_cluster_required = cephx<br>auth_service_required = cephx<br>auth_client_required = cephx<br>filestore_xattr_use_omap = true<br>public_network = 10.x.x.0/24<br>cluster_network = <a href="http://192.168.0.0/24">192.168.0.0/24</a><br>osd_pool_default_pg_num = 512<br>osd_pool_default_pgp_num = 512<br>debug rgw = 20<br><br>[osd]<br>osd_journal_size = 10000<br><br>[osd.0]<br>osd_host = ppm-c240-admin<br>public_addr = 10.x.x.123<br>cluster_addr = 192.168.0.10<br><br>[osd.1]<br>osd_host = ppm-c240-admin<br>public_addr = 10.x.x.123<br>cluster_addr = 192.168.0.10<br><br>[osd.2]<br>osd_host = ppm-c240-admin<br>public_addr = 10.x.x.123<br>cluster_addr = 192.168.0.10<br><br>[osd.3]<br>osd_host = ppm-c240-ceph1<br>public_addr = 10.x.x.124<br>cluster_addr = 192.168.0.11<br><br>[osd.4]<br>osd_host = ppm-c240-ceph1<br>public_addr = 10.x.x.124<br>cluster_addr = 192.168.0.11<br><br>[osd.5]<br>osd_host = ppm-c240-ceph1<br>public_addr = 10.x.x.124<br>cluster_addr = 192.168.0.11<br><br>[osd.6]<br>osd_host = ppm-c240-ceph2<br>public_addr = 10.x.x.125<br>cluster_addr = 192.168.0.12<br><br>[osd.7]<br>osd_host = ppm-c240-ceph2<br>public_addr = 10.x.x.125<br>cluster_addr = 192.168.0.12<br><br>[osd.8]<br>osd_host = ppm-c240-ceph2<br>public_addr = 10.x.x.125<br>cluster_addr = 192.168.0.12<br><br>[osd.9]<br>osd_host = ppm-c240-ceph3<br>public_addr = 10.x.x.126<br>cluster_addr = 192.168.0.13<br><br>[osd.10]<br>osd_host = ppm-c240-ceph3<br>public_addr = 10.x.x.126<br>cluster_addr = 192.168.0.13<br><br>[osd.11]<br>osd_host = ppm-c240-ceph3<br>public_addr = 10.x.x.126<br>cluster_addr = 192.168.0.13<br><br>[client.radosgw.gateway]<br>host = ppm-c240-ceph3<br>keyring = /etc/ceph/ceph.client.radosgw.keyring<br>rgw socket path = /var/run/ceph/ceph.radosgw.gateway.fastcgi.sock<br>log file = /var/log/radosgw/client.radosgw.gateway.log<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>root@ppm-c240-ceph3:~#<br><br></pre></div><div>I am including the coredump for reference: <br></div><div><br>root@ppm-c240-ceph3:~# /usr/bin/radosgw -n client.radosgw.gateway -d  log-to-stderr<br>2014-12-09 12:51:31.410944 7f073f6457c0  0 ceph version 0.80.7 (6c0127fcb58008793d3c8b62d925bc91963672a3), process radosgw, pid 5958<br>common/ceph_crypto.cc: In function 'void ceph::crypto::init(CephContext*)' thread 7f073f6457c0 time 2014-12-09 12:51:31.412682<br>common/ceph_crypto.cc: 54: FAILED assert(s == SECSuccess)<br> ceph version 0.80.7 (6c0127fcb58008793d3c8b62d925bc91963672a3)<br> 1: (()+0x293ce8) [0x7f073e797ce8]<br> 2: (common_init_finish(CephContext*, int)+0x10) [0x7f073e76afa0]<br> 3: (main()+0x340) [0x4665a0]<br> 4: (__libc_start_main()+0xf5) [0x7f073c932ec5]<br> 5: /usr/bin/radosgw() [0x4695c7]<br> NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.<br>2014-12-09 12:51:31.413544 7f073f6457c0 -1 common/ceph_crypto.cc: In function 'void ceph::crypto::init(CephContext*)' thread 7f073f6457c0 time 2014-12-09 12:51:31.412682<br>common/ceph_crypto.cc: 54: FAILED assert(s == SECSuccess)<br><br> ceph version 0.80.7 (6c0127fcb58008793d3c8b62d925bc91963672a3)<br> 1: (()+0x293ce8) [0x7f073e797ce8]<br> 2: (common_init_finish(CephContext*, int)+0x10) [0x7f073e76afa0]<br> 3: (main()+0x340) [0x4665a0]<br> 4: (__libc_start_main()+0xf5) [0x7f073c932ec5]<br> 5: /usr/bin/radosgw() [0x4695c7]<br> NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.<br><br>--- begin dump of recent events ---<br>   -13> 2014-12-09 12:51:31.407900 7f073f6457c0  5 asok(0xaf1180) register_command perfcounters_dump hook 0xaf2c10<br>   -12> 2014-12-09 12:51:31.407944 7f073f6457c0  5 asok(0xaf1180) register_command 1 hook 0xaf2c10<br>   -11> 2014-12-09 12:51:31.407953 7f073f6457c0  5 asok(0xaf1180) register_command perf dump hook 0xaf2c10<br>   -10> 2014-12-09 12:51:31.407961 7f073f6457c0  5 asok(0xaf1180) register_command perfcounters_schema hook 0xaf2c10<br>    -9> 2014-12-09 12:51:31.407992 7f073f6457c0  5 asok(0xaf1180) register_command 2 hook 0xaf2c10<br>    -8> 2014-12-09 12:51:31.407995 7f073f6457c0  5 asok(0xaf1180) register_command perf schema hook 0xaf2c10<br>    -7> 2014-12-09 12:51:31.407997 7f073f6457c0  5 asok(0xaf1180) register_command config show hook 0xaf2c10<br>    -6> 2014-12-09 12:51:31.408000 7f073f6457c0  5 asok(0xaf1180) register_command config set hook 0xaf2c10<br>    -5> 2014-12-09 12:51:31.408006 7f073f6457c0  5 asok(0xaf1180) register_command config get hook 0xaf2c10<br>    -4> 2014-12-09 12:51:31.408008 7f073f6457c0  5 asok(0xaf1180) register_command log flush hook 0xaf2c10<br>    -3> 2014-12-09 12:51:31.408011 7f073f6457c0  5 asok(0xaf1180) register_command log dump hook 0xaf2c10<br>    -2> 2014-12-09 12:51:31.408014 7f073f6457c0  5 asok(0xaf1180) register_command log reopen hook 0xaf2c10<br>    -1> 2014-12-09 12:51:31.410944 7f073f6457c0  0 ceph version 0.80.7 (6c0127fcb58008793d3c8b62d925bc91963672a3), process radosgw, pid 5958<br>     0> 2014-12-09 12:51:31.413544 7f073f6457c0 -1 common/ceph_crypto.cc: In function 'void ceph::crypto::init(CephContext*)' thread 7f073f6457c0 time 2014-12-09 12:51:31.412682<br>common/ceph_crypto.cc: 54: FAILED assert(s == SECSuccess)<br><br> ceph version 0.80.7 (6c0127fcb58008793d3c8b62d925bc91963672a3)<br> 1: (()+0x293ce8) [0x7f073e797ce8]<br> 2: (common_init_finish(CephContext*, int)+0x10) [0x7f073e76afa0]<br> 3: (main()+0x340) [0x4665a0]<br> 4: (__libc_start_main()+0xf5) [0x7f073c932ec5]<br> 5: /usr/bin/radosgw() [0x4695c7]<br> NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.<br><br>--- logging levels ---<br>   0/ 5 none<br>   0/ 1 lockdep<br>   0/ 1 context<br>   1/ 1 crush<br>   1/ 5 mds<br>   1/ 5 mds_balancer<br>   1/ 5 mds_locker<br>   1/ 5 mds_log<br>   1/ 5 mds_log_expire<br>   1/ 5 mds_migrator<br>   0/ 1 buffer<br>   0/ 1 timer<br>   0/ 1 filer<br>   0/ 1 striper<br>   0/ 1 objecter<br>   0/ 5 rados<br>   0/ 5 rbd<br>   0/ 5 journaler<br>   0/ 5 objectcacher<br>   0/ 5 client<br>   0/ 5 osd<br>   0/ 5 optracker<br>   0/ 5 objclass<br>   1/ 3 filestore<br>   1/ 3 keyvaluestore<br>   1/ 3 journal<br>   0/ 5 ms<br>   1/ 5 mon<br>   0/10 monc<br>   1/ 5 paxos<br>   0/ 5 tp<br>   1/ 5 auth<br>   1/ 5 crypto<br>   1/ 1 finisher<br>   1/ 5 heartbeatmap<br>   1/ 5 perfcounter<br>  20/20 rgw<br>   1/ 5 javaclient<br>   1/ 5 asok<br>   1/ 1 throttle<br>  -2/-2 (syslog threshold)<br>  99/99 (stderr threshold)<br>  max_recent     10000<br>  max_new         1000<br>  log_file<br>--- end dump of recent events ---<br>terminate called after throwing an instance of 'ceph::FailedAssertion'<br>*** Caught signal (Aborted) **<br> in thread 7f073f6457c0<br> ceph version 0.80.7 (6c0127fcb58008793d3c8b62d925bc91963672a3)<br> 1: /usr/bin/radosgw() [0x5cb5cf]<br> 2: (()+0x10340) [0x7f073d841340]<br> 3: (gsignal()+0x39) [0x7f073c947f79]<br> 4: (abort()+0x148) [0x7f073c94b388]<br> 5: (__gnu_cxx::__verbose_terminate_handler()+0x155) [0x7f073d2536b5]<br> 6: (()+0x5e836) [0x7f073d251836]<br> 7: (()+0x5e863) [0x7f073d251863]<br> 8: (()+0x5eaa2) [0x7f073d251aa2]<br> 9: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1f2) [0x7f073e7575b2]<br> 10: (()+0x293ce8) [0x7f073e797ce8]<br> 11: (common_init_finish(CephContext*, int)+0x10) [0x7f073e76afa0]<br> 12: (main()+0x340) [0x4665a0]<br> 13: (__libc_start_main()+0xf5) [0x7f073c932ec5]<br> 14: /usr/bin/radosgw() [0x4695c7]<br>2014-12-09 12:51:31.415630 7f073f6457c0 -1 *** Caught signal (Aborted) **<br> in thread 7f073f6457c0<br><br> ceph version 0.80.7 (6c0127fcb58008793d3c8b62d925bc91963672a3)<br> 1: /usr/bin/radosgw() [0x5cb5cf]<br> 2: (()+0x10340) [0x7f073d841340]<br> 3: (gsignal()+0x39) [0x7f073c947f79]<br> 4: (abort()+0x148) [0x7f073c94b388]<br> 5: (__gnu_cxx::__verbose_terminate_handler()+0x155) [0x7f073d2536b5]<br> 6: (()+0x5e836) [0x7f073d251836]<br> 7: (()+0x5e863) [0x7f073d251863]<br> 8: (()+0x5eaa2) [0x7f073d251aa2]<br> 9: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1f2) [0x7f073e7575b2]<br> 10: (()+0x293ce8) [0x7f073e797ce8]<br> 11: (common_init_finish(CephContext*, int)+0x10) [0x7f073e76afa0]<br> 12: (main()+0x340) [0x4665a0]<br> 13: (__libc_start_main()+0xf5) [0x7f073c932ec5]<br> 14: /usr/bin/radosgw() [0x4695c7]<br> NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.<br><br>--- begin dump of recent events ---<br>     0> 2014-12-09 12:51:31.415630 7f073f6457c0 -1 *** Caught signal (Aborted) **<br> in thread 7f073f6457c0<br><br> ceph version 0.80.7 (6c0127fcb58008793d3c8b62d925bc91963672a3)<br> 1: /usr/bin/radosgw() [0x5cb5cf]<br> 2: (()+0x10340) [0x7f073d841340]<br> 3: (gsignal()+0x39) [0x7f073c947f79]<br> 4: (abort()+0x148) [0x7f073c94b388]<br> 5: (__gnu_cxx::__verbose_terminate_handler()+0x155) [0x7f073d2536b5]<br> 6: (()+0x5e836) [0x7f073d251836]<br> 7: (()+0x5e863) [0x7f073d251863]<br> 8: (()+0x5eaa2) [0x7f073d251aa2]<br> 9: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1f2) [0x7f073e7575b2]<br> 10: (()+0x293ce8) [0x7f073e797ce8]<br> 11: (common_init_finish(CephContext*, int)+0x10) [0x7f073e76afa0]<br> 12: (main()+0x340) [0x4665a0]<br> 13: (__libc_start_main()+0xf5) [0x7f073c932ec5]<br> 14: /usr/bin/radosgw() [0x4695c7]<br> NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.<br><br>--- logging levels ---<br>   0/ 5 none<br>   0/ 1 lockdep<br>   0/ 1 context<br>   1/ 1 crush<br>   1/ 5 mds<br>   1/ 5 mds_balancer<br>   1/ 5 mds_locker<br>   1/ 5 mds_log<br>   1/ 5 mds_log_expire<br>   1/ 5 mds_migrator<br>   0/ 1 buffer<br>   0/ 1 timer<br>   0/ 1 filer<br>   0/ 1 striper<br>   0/ 1 objecter<br>   0/ 5 rados<br>   0/ 5 rbd<br>   0/ 5 journaler<br>   0/ 5 objectcacher<br>   0/ 5 client<br>   0/ 5 osd<br>   0/ 5 optracker<br>   0/ 5 objclass<br>   1/ 3 filestore<br>   1/ 3 keyvaluestore<br>   1/ 3 journal<br>   0/ 5 ms<br>   1/ 5 mon<br>   0/10 monc<br>   1/ 5 paxos<br>   0/ 5 tp<br>   1/ 5 auth<br>   1/ 5 crypto<br>   1/ 1 finisher<br>   1/ 5 heartbeatmap<br>   1/ 5 perfcounter<br>  20/20 rgw<br>   1/ 5 javaclient<br>   1/ 5 asok<br>   1/ 1 throttle<br>  -2/-2 (syslog threshold)<br>  99/99 (stderr threshold)<br>  max_recent     10000<br>  max_new         1000<br>  log_file<br>--- end dump of recent events ---<br>Aborted (core dumped)<br>root@ppm-c240-ceph3:~#<br><br></div><div><br></div><div>Any pointers as to why this is happening is highly appreciated.<br></div><div><br clear="all"><br></div>Regards,<br><div>-- <br><div class="gmail_signature">Vivek Varghese Cherian <br><br></div>
</div></div>