summaryrefslogtreecommitdiff
path: root/sys-cluster/glusterfs/files
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster/glusterfs/files')
-rw-r--r--sys-cluster/glusterfs/files/glusterd-10.2.initd32
-rw-r--r--sys-cluster/glusterfs/files/glusterfsd-10.2.initd121
2 files changed, 153 insertions, 0 deletions
diff --git a/sys-cluster/glusterfs/files/glusterd-10.2.initd b/sys-cluster/glusterfs/files/glusterd-10.2.initd
new file mode 100644
index 000000000000..af8f941d87d7
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterd-10.2.initd
@@ -0,0 +1,32 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="Gluster elastic volume management daemon"
+command="/usr/sbin/glusterd"
+pidfile="/run/${SVCNAME}.pid"
+command_args="-N"
+
+command_background="yes"
+
+depend() {
+ need net
+ before netmount
+}
+
+start_pre() {
+ # Ensure that the GlusterFS auxiliary mount parent directory exists
+ checkpath --directory --owner gluster:gluster --mode 0775 /run/gluster
+}
+
+start_post() {
+ local c=0
+ ebegin "Waiting for glusterd to start up"
+ while ! /usr/sbin/gluster volume list >/dev/null 2>&1 && [ "${c}" -lt "${glusterd_max_wait_start-60}" ]; do
+ $(( c=c+1 ))
+ done
+ [ "${c}" -lt "${glusterd_max_wait_start-60}" ]
+ eend $?
+
+ return 0
+}
diff --git a/sys-cluster/glusterfs/files/glusterfsd-10.2.initd b/sys-cluster/glusterfs/files/glusterfsd-10.2.initd
new file mode 100644
index 000000000000..c8b6562e02a2
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfsd-10.2.initd
@@ -0,0 +1,121 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+if [ "${SVCNAME}" != "glusterfs" ]
+then
+ GLUSTERFS_NAME="${SVCNAME#glusterfs.}"
+else
+ GLUSTERFS_NAME="glusterfs"
+fi
+
+GLUSTERFS_PIDFILE="/var/run/${SVCNAME}.pid"
+
+eval 'GLUSTERFS_LOGFILE="${'${GLUSTERFS_NAME}'_log:-/var/log/glusterfs/'${GLUSTERFS_NAME}'.log}"'
+eval 'GLUSTERFS_VOLFILE="${'${GLUSTERFS_NAME}'_vol:-/etc/glusterfs/'${GLUSTERFS_NAME}'.vol}"'
+eval 'GLUSTERFS_SERVER="${'${GLUSTERFS_NAME}'_server}"'
+eval 'GLUSTERFS_PORT="${'${GLUSTERFS_NAME}'_port:-6996}"'
+eval 'GLUSTERFS_TRANSPORT="${'${GLUSTERFS_NAME}'_transport:-socket}"'
+eval 'GLUSTERFS_OPTS="${'${GLUSTERFS_NAME}'_opts}"'
+eval 'GLUSTERFS_MOUNTPOINT="${'${GLUSTERFS_NAME}'_mountpoint}"'
+
+depend() {
+ need net
+ [ -n "${GLUSTERFS_MOUNTPOINT}" ] && need fuse
+ use dns
+ before netmount
+ after firewall ntp-client ntpd
+}
+
+checkconfig() {
+ if [ -z "${GLUSTERFS_NAME}" ]
+ then
+ eerror "The service name is not properly formatted."
+ return 1
+ fi
+
+ if [ -z "${GLUSTERFS_SERVER}" ]
+ then
+ if [ -z "${GLUSTERFS_VOLFILE}" ]
+ then
+ eerror "No GlusterFS volume file source has been defined. Edit /etc/conf.d/glusterfs"
+ eerror "and configure a volume file source for ${SVCNAME}."
+ return 1
+ else
+ if [ ! -f "${GLUSTERFS_VOLFILE}" ]
+ then
+ eerror "Cannot find volume file: ${GLUSTERFS_VOLFILE}"
+ return 1
+ fi
+ fi
+ fi
+
+ if [ -n "${GLUSTERFS_MOUNTPOINT}" -a ! -d "${GLUSTERFS_MOUNTPOINT}" ]
+ then
+ eerror "The mountpoint ${GLUSTERFS_MOUNTPOINT} does not exist."
+ return 1
+ fi
+}
+
+start() {
+ local status daemon
+
+ checkconfig || return 1
+
+ ebegin "Starting GlusterFS (${SVCNAME})"
+ eindent
+
+ if [ -z "${GLUSTERFS_MOUNTPOINT}" ]
+ then
+ einfo "Starting in server mode ..."
+ daemon="glusterfsd"
+ else
+ einfo "Starting in client mode. Mounting filesystem ..."
+ daemon="glusterfs"
+ fi
+
+ if [ -n "${GLUSTERFS_SERVER}" ]
+ then
+ einfo "Using server supplied volume file"
+ start-stop-daemon --start --pidfile ${GLUSTERFS_PIDFILE} \
+ --exec /usr/sbin/${daemon} -- \
+ --pid-file=${GLUSTERFS_PIDFILE} \
+ --log-file=${GLUSTERFS_LOGFILE} \
+ --volfile-server=${GLUSTERFS_SERVER} \
+ --volfile-server-port=${GLUSTERFS_PORT} \
+ --volfile-server-transport=${GLUSTERFS_TRANSPORT} \
+ ${GLUSTERFS_OPTS} ${GLUSTERFS_MOUNTPOINT}
+ status="$?"
+ else
+ einfo "Using local volume file"
+ start-stop-daemon --start --pidfile ${GLUSTERFS_PIDFILE} \
+ --exec /usr/sbin/${daemon} -- \
+ --pid-file=${GLUSTERFS_PIDFILE} \
+ --log-file=${GLUSTERFS_LOGFILE} \
+ --volfile=${GLUSTERFS_VOLFILE} \
+ ${GLUSTERFS_OPTS} ${GLUSTERFS_MOUNTPOINT}
+ status="$?"
+ fi
+
+ eoutdent
+ eend ${status}
+}
+
+stop() {
+ local status
+
+ ebegin "Stopping GlusterFS (${SVCNAME})"
+ eindent
+ if [ -z "${GLUSTERFS_MOUNTPOINT}" ]
+ then
+ einfo "Stopping server process ..."
+ start-stop-daemon --stop --pidfile ${GLUSTERFS_PIDFILE}
+ status="$?"
+ else
+ einfo "Unmounting ${GLUSTERFS_MOUNTPOINT} ..."
+ umount "${GLUSTERFS_MOUNTPOINT}"
+ status="$?"
+ fi
+ eoutdent
+ eend ${status}
+}