summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick McLean <chutzpah@gentoo.org>2018-03-10 11:15:35 -0800
committerPatrick McLean <chutzpah@gentoo.org>2018-03-10 11:16:06 -0800
commitdb6059b94c8ee62f5b35b9d3469fc9f04c5b570b (patch)
tree5a510c600c3f100c9909c8948d86099e833394db /sys-cluster/ceph
parentx11-drivers/xf86-video-r128: Add missing include on stdint.h (diff)
downloadgentoo-db6059b94c8ee62f5b35b9d3469fc9f04c5b570b.tar.gz
gentoo-db6059b94c8ee62f5b35b9d3469fc9f04c5b570b.tar.bz2
gentoo-db6059b94c8ee62f5b35b9d3469fc9f04c5b570b.zip
sys-cluster/ceph: Revision bump, fix init script with /dev/null #643412
Special cases /dev/null Closes: https://bugs.gentoo.org/643412 Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'sys-cluster/ceph')
-rw-r--r--sys-cluster/ceph/ceph-12.2.4-r1.ebuild (renamed from sys-cluster/ceph/ceph-12.2.4.ebuild)2
-rw-r--r--sys-cluster/ceph/files/ceph.initd-r895
2 files changed, 96 insertions, 1 deletions
diff --git a/sys-cluster/ceph/ceph-12.2.4.ebuild b/sys-cluster/ceph/ceph-12.2.4-r1.ebuild
index bc3dd0a718aa..1fbe80838494 100644
--- a/sys-cluster/ceph/ceph-12.2.4.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.4-r1.ebuild
@@ -264,7 +264,7 @@ src_install() {
fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r7" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
insinto /etc/sysctl.d
diff --git a/sys-cluster/ceph/files/ceph.initd-r8 b/sys-cluster/ceph/files/ceph.initd-r8
new file mode 100644
index 000000000000..2f6c2601f168
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r8
@@ -0,0 +1,95 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 1048576 -u 1048576}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/var/log/ceph/ceph}
+: ${stderr:=/var/log/ceph/ceph}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+ use dns logger
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd|mgr|radosgw) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ export CEPH_CONF="${ceph_conf}"
+
+ checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+
+ elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+ eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+ return 1
+ fi
+
+ local arg_name arg_val
+ for arg_name in std{out,err} respawn_{delay,max,period}; do
+ eval arg_val="\${${daemon_type}_${arg_name}}"
+
+ if [ -z "${arg_val}" ]; then
+ eval arg_val="\${${arg_name}}"
+ else
+ eval "${arg_name}=\"${arg_val}\""
+ fi
+
+ if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+ local log_file log_postfix
+ log_postfix=".${daemon_id}-${arg_name}.log"
+ log_file="${arg_val}"
+
+ if [ "${log_file}" != /dev/null ]
+ log_file="${log_file}${log_postfix}"
+ fi
+
+ supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${log_file}"
+ fi
+ done
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+ eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet: