Description of problem: With RHEL and CentOS, the RGW is running as apache making it impossible to create a socket in /var/run/ceph. Version-Release number of selected component (if applicable): All How reproducible: All the time Steps to Reproduce: 1. Follow http://ceph.com/docs/master/radosgw/config/#add-a-gateway-configuration-to-ceph on any RPM supported distro Suggestion: Update doc so that "rgw socket path" and "FastCgiExternalServer" use a new directory for the socket (e.g. /var/run/radosgw/). Link to doc pages referencing /var/run/ceph: - http://ceph.com/docs/master/radosgw/config/#create-a-gateway-configuration - http://ceph.com/docs/master/radosgw/config/#add-a-gateway-configuration-to-ceph - http://ceph.com/docs/master/radosgw/federated-config/
Also need a bug filed upstream
Assigned to Nilam.
https://gitlab.cee.redhat.com/jowilkin/red-hat-ceph-storage-object-gateway
Alexandre, you're correct that the best solution is to have RGW use an entirely separate directory that's chown'd to Apache. I've proposed that upstream in a wip- branch in Git, at http://tracker.ceph.com/issues/9001 In the mean time, for RHCeph 1.2.x, we should just document the workaround of running chown by hand. It's a pain, and it may break "rpm -V ceph", but I don't think we have time to test moving the entire FCGI socket location at this point. There are probably other things that rely on the FCGI socket being in /var/run/ceph, and I'd really rather get this settled in upstream instead of deviating downstream at the last minute. Proposed doc change @ https://gitlab.cee.redhat.com/jowilkin/red-hat-ceph-storage-object-gateway/merge_requests/3
Merged the change. See; https://gitlab.cee.redhat.com/jowilkin/red-hat-ceph-storage-object-gateway/blob/master/ceph-object-gateway-installation-guide.adoc
Yep - it's there.
After discussing a related issue (https://github.com/ceph/ceph/pull/3916) with dalgaaf upstream... On RHEL 6, /var/run is on "/" (ext4) by default, so the "chown apache" operation will persist across reboots. On RHEL 7, /var/run is a symlink to /run, which is tmpfs. This means that "chown /var/run/ceph" will not persist across reboots. I think the correct solution for RHEL 7 is to create a tmpfiles.d entry so that systemd knows to make /var/run/ceph (ie /run/ceph) owned by apache.