diff options
author | Patrick McLean <chutzpah@gentoo.org> | 2023-05-09 10:48:16 -0700 |
---|---|---|
committer | Patrick McLean <chutzpah@gentoo.org> | 2023-05-09 10:49:04 -0700 |
commit | 81a5985a7fdb2fcb371406bc0269de2685a119cf (patch) | |
tree | 6b6b5b771c85d5c2e3ac57ff63a7e1f0c2737881 | |
parent | sys-kernel/gentoo-sources: drop 5.15.107 (diff) | |
download | gentoo-81a5985a7fdb2fcb371406bc0269de2685a119cf.tar.gz gentoo-81a5985a7fdb2fcb371406bc0269de2685a119cf.tar.bz2 gentoo-81a5985a7fdb2fcb371406bc0269de2685a119cf.zip |
sys-cluster/ceph: Revbump, fix radosgw in init script (bug #905870)
Closes: https://bugs.gentoo.org/905870
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
-rw-r--r-- | sys-cluster/ceph/ceph-17.2.5-r6.ebuild (renamed from sys-cluster/ceph/ceph-17.2.5-r4.ebuild) | 2 | ||||
-rw-r--r-- | sys-cluster/ceph/ceph-17.2.6-r2.ebuild (renamed from sys-cluster/ceph/ceph-17.2.6-r1.ebuild) | 2 | ||||
-rw-r--r-- | 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 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 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: |