radosgw charm + restrict-ceph-pools=True missing storage pool definitions for >= Jewel
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ceph RADOS Gateway Charm |
Fix Released
|
High
|
James Page |
Bug Description
/var/log/
2017-04-22 16:22:44.814777 7f5cc1027a00 0 ceph version 10.2.6 (656b5b63ed7c43
2017-04-22 16:22:44.816025 7f5cc1027a00 0 pidfile_write: ignore empty --pid-file
2017-04-22 16:22:44.831841 7f5cc1027a00 0 error in read_id for object name: default : (2) No such file or directory
2017-04-22 16:22:44.832557 7f5cc1027a00 0 error in read_id for object name: default : (2) No such file or directory
2017-04-22 16:22:44.890265 7f5cc1027a00 -1 Couldn't init storage provider (RADOS)
2017-04-22 16:22:45.025420 7fb73f299a00 0 ceph version 10.2.6 (656b5b63ed7c43
2017-04-22 16:22:45.026252 7fb73f299a00 0 pidfile_write: ignore empty --pid-file
2017-04-22 16:22:45.089703 7fb73f299a00 -1 Couldn't init storage provider (RADOS)
root@juju-
● radosgw.service - LSB: radosgw RESTful rados gateway
Loaded: loaded (/etc/init.
Active: active (exited) since Sat 2017-04-22 16:22:45 UTC; 1h 29min ago
Docs: man:systemd-
Tasks: 0
Memory: 0B
CPU: 0
Apr 22 16:22:44 juju-54661f-6-lxd-1 systemd[1]: Starting LSB: radosgw RESTful rados gateway...
Apr 22 16:22:45 juju-54661f-6-lxd-1 radosgw[27845]: Starting client.
Apr 22 16:22:45 juju-54661f-6-lxd-1 systemd[1]: Started LSB: radosgw RESTful rados gateway.
openstack catalog list
http://
dmitriis@
+------
| ID | Region | Service Name | Service Type |
+------
| 0685e08ef306459
| 37b170dccd70450
| 1b95358a9f184cc
| a4934d9049824cd
| 6c84c328eb6e4c2
| 9955493f58c6406
| 648b6172a0a9407
| b68cc80b5d7d4ca
| 7f636c5c7d33478
+------
juju status
http://
series: xenial
variables:
worker-
# Common
openstack-origin: &openstack-origin cloud:xenial-ocata
...
ceph-radosgw:
charm: cs:xenial/
num_units: 3
bindings:
"": *oam-space
public: *public-space
admin: *admin-space
internal: *internal-space
options:
source: *openstack-origin
vip: *rados-gateway-vip
region: *openstack-region
restrict-
to:
- 'lxd:storage/0'
- 'lxd:storage/1'
- 'lxd:storage/2'
As a result, glance-
What you get as an indicator is an empty reply from a specific node or a VIP.
dmitriis@
curl: (52) Empty reply from server
# vip
dmitriis@
curl: (52) Empty reply from server
After doing a couple of restart attempts I found out that rados gateway simply exits with 0 exit status
strace -f -o /tmp/strace.log -s 2048 -p 1 & systemctl restart radosgw.service
# found a pid by error message and then grepped for it
grep 61930 /tmp/strace.log
...
61930 <... futex resumed> ) = 0
61930 write(2, "2017-04-22 18:22:05.101659 7f334fa58a00 -1 Couldn't init storage provider (RADOS)", 81 <unfinished ...>
61930 <... write resumed> ) = -1 EBADF (Bad file descriptor)
61930 write(4, "2017-04-22 18:22:05.101659 7f334fa58a00 -1 Couldn't init storage provider (RADOS)\n", 82 <unfinished ...>
61930 <... write resumed> ) = 82
61930 futex(0x55e95cf
61930 <... futex resumed> ) = 0
61930 futex(0x55e95cf
61930 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable)
61930 futex(0x55e95cf
61930 futex(0x55e95cf
61930 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable)
61930 futex(0x55e95cf
61930 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable)
61930 futex(0x55e95cf
61930 futex(0x55e95cf
61930 <... futex resumed> ) = 0
61930 futex(0x55e95cf
61930 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable)
61930 futex(0x55e95cf
61930 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable)
61930 futex(0x55e95cf
61930 <... futex resumed> ) = 0
61930 futex(0x55e95cf
61930 <... futex resumed> ) = 0
61930 futex(0x55e95cf
61930 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable)
61930 futex(0x55e95cf
61930 futex(0x55e95cf
61930 <... futex resumed> ) = 0
61930 futex(0x55e95cf
61930 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable)
61930 futex(0x55e95cf
61929 futex(0x7f33348
61930 <... futex resumed> ) = 0
61930 madvise(
61930 exit(0) = ?
61930 +++ exited with 0 +++
---
root@juju-
● radosgw.service - LSB: radosgw RESTful rados gateway
Loaded: loaded (/etc/init.
Active: active (exited) since Sat 2017-04-22 18:22:05 UTC; 31min ago
Docs: man:systemd-
Process: 61891 ExecStop=
Process: 61904 ExecStart=
Apr 22 18:22:04 juju-54661f-6-lxd-1 systemd[1]: Starting LSB: radosgw RESTful rados gateway...
Apr 22 18:22:04 juju-54661f-6-lxd-1 radosgw[61904]: Starting client.
Apr 22 18:22:05 juju-54661f-6-lxd-1 systemd[1]: Started LSB: radosgw RESTful rados gateway.
root@juju-
PID TTY STAT TIME COMMAND
root@juju-
PID TTY STAT TIME COMMAND
So, ideally, radosgw should produce a non-zero exit code but it does not which leads to the systemd unit being active.
root@juju-
Desired=
| Status=
|/ Err?=(none)
||/ Name Version Architecture Description
+++-===
ii radosgw 10.2.6-
Could not find the root cause yet but this behavior deserves a bug (here and probably in the radosgw package as well).
Changed in charm-ceph-radosgw: | |
importance: | Medium → High |
summary: |
radosgw charm + restrict-ceph-pools=True missing storage pool - definitions. + definitions for >= Jewel |
Changed in charm-ceph-radosgw: | |
milestone: | 18.02 → 18.05 |
Changed in charm-ceph-radosgw: | |
milestone: | 18.05 → 18.08 |
Changed in charm-ceph-radosgw: | |
milestone: | 18.08 → 18.11 |
Changed in charm-ceph-radosgw: | |
milestone: | 18.11 → 19.04 |
Changed in charm-ceph-radosgw: | |
status: | Triaged → In Progress |
assignee: | nobody → James Page (james-page) |
Changed in charm-ceph-radosgw: | |
status: | Fix Committed → Fix Released |
It was pretty simple in the end: no relation with keystone.
/var/log/ ceph/ceph- client. admin.log ceph/radosgw/ -admin/ keyring: (2) No such file or directory
2017-04-22 19:49:51.217395 7fadbd998a00 -1 auth: unable to find a keyring on /var/lib/
2017-04-22 19:49:51.217419 7fadbd998a00 -1 monclient(hunting): ERROR: missing keyring, cannot use cephx for authentication
2017-04-22 19:49:51.217421 7fadbd998a00 0 librados: client.admin initialization error (2) No such file or directory
2017-04-22 19:49:51.217908 7fadbd998a00 -1 Couldn't init storage provider (RADOS)
However, the lack of an error condition is something to address.