commit:     81a5985a7fdb2fcb371406bc0269de2685a119cf
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue May  9 17:48:16 2023 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue May  9 17:49:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81a5985a

sys-cluster/ceph: Revbump, fix radosgw in init script (bug #905870)

Closes: https://bugs.gentoo.org/905870
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 ...ceph-17.2.5-r4.ebuild => ceph-17.2.5-r6.ebuild} |   2 +-
 ...ceph-17.2.6-r1.ebuild => ceph-17.2.6-r2.ebuild} |   2 +-
 sys-cluster/ceph/files/ceph.initd-r14              | 119 +++++++++++++++++++++
 3 files changed, 121 insertions(+), 2 deletions(-)

diff --git a/sys-cluster/ceph/ceph-17.2.5-r4.ebuild 
b/sys-cluster/ceph/ceph-17.2.5-r6.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-17.2.5-r4.ebuild
rename to sys-cluster/ceph/ceph-17.2.5-r6.ebuild
index e4046b3b5701..95be155b4526 100644
--- a/sys-cluster/ceph/ceph-17.2.5-r4.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.5-r6.ebuild
@@ -424,7 +424,7 @@ src_install() {
        fowners -R ceph:ceph /var/log/ceph
 
        newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
-       newinitd "${FILESDIR}/${PN}.initd-r13" ${PN}
+       newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
        newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
 
        insinto /etc/sudoers.d

diff --git a/sys-cluster/ceph/ceph-17.2.6-r1.ebuild 
b/sys-cluster/ceph/ceph-17.2.6-r2.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-17.2.6-r1.ebuild
rename to sys-cluster/ceph/ceph-17.2.6-r2.ebuild
index 90bd3470f2ff..a28df53b6173 100644
--- a/sys-cluster/ceph/ceph-17.2.6-r1.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.6-r2.ebuild
@@ -424,7 +424,7 @@ src_install() {
        fowners -R ceph:ceph /var/log/ceph
 
        newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
-       newinitd "${FILESDIR}/${PN}.initd-r13" ${PN}
+       newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
        newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
 
        insinto /etc/sudoers.d

diff --git a/sys-cluster/ceph/files/ceph.initd-r14 
b/sys-cluster/ceph/files/ceph.initd-r14
new file mode 100644
index 000000000000..04002703d9e7
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r14
@@ -0,0 +1,119 @@
+#!/sbin/openrc-run
+
+# make sure /etc/conf.d/ceph gets loaded for ceph-mon etc
+_CONFD_FILE="${RC_SERVICE%/*}/../conf.d/${RC_SVCNAME%-*}"
+if [ -r "${_CONFD_FILE}" ]; then
+       . "${_CONFD_FILE}" || exit 1
+fi
+
+: "${ceph_conf:=/etc/ceph/ceph.conf}"
+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}"
+extra_commands="${extra_commands} reload"
+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/console/ceph}"
+: "${stderr:=/var/log/ceph/console/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() {
+       local log_dir
+       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
+
+       if [ -n "${bluestore_osd_fsid}" ]; then
+               einfo "Mounting Bluestore"
+               ceph-volume lvm activate "${daemon_id}" "${bluestore_osd_fsid}" 
--no-systemd
+       fi
+
+       if [ "${daemon_type}" = radosgw ]; then
+               command="/usr/bin/radosgw"
+
+               if [ "${RADOSGW_WANT_NAME_PARAM}" = y ]; then
+                       command_args="${command_args} --name 
client.${daemon_id}"
+               fi
+       fi
+
+       local arg_name arg_val repl_arg_name
+       for arg_name in stdout stderr respawn_delay respawn_max respawn_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 ]; then
+                               log_file="${log_file}${log_postfix}"
+
+                               log_dir="$(dirname "${log_file}")"
+                               checkpath -m 0755 -o "${user}:${group}" -d 
"${log_dir}"
+                       fi
+
+                       repl_arg_name="$(printf -- "%s\n" "${arg_name}" | tr _ 
-)"
+                       supervise_daemon_args="${supervise_daemon_args} 
--${repl_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