commit:     db6059b94c8ee62f5b35b9d3469fc9f04c5b570b
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 10 19:15:35 2018 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sat Mar 10 19:16:06 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db6059b9

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

 .../{ceph-12.2.4.ebuild => ceph-12.2.4-r1.ebuild}  |  2 +-
 sys-cluster/ceph/files/ceph.initd-r8               | 95 ++++++++++++++++++++++
 2 files changed, 96 insertions(+), 1 deletion(-)

diff --git a/sys-cluster/ceph/ceph-12.2.4.ebuild 
b/sys-cluster/ceph/ceph-12.2.4-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-12.2.4.ebuild
rename to sys-cluster/ceph/ceph-12.2.4-r1.ebuild
index bc3dd0a718a..1fbe8083849 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 00000000000..2f6c2601f16
--- /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:

Reply via email to