set -e
-readonly defaults_file="${GANETI_ROOTDIR}@SYSCONFDIR@/default/ganeti"
-readonly localstatedir="${GANETI_ROOTDIR}@LOCALSTATEDIR@"
+@SHELL_ENV_INIT@
+
+readonly defaults_file="$SYSCONFDIR/default/ganeti"
# This is a list of all daemons and the order in which they're started. The
# order is important as there are dependencies between them. On shutdown,
ganeti-rapi
)
-if [[ "@CUSTOM_ENABLE_CONFD@" == True ]]; then
+_confd_enabled() {
+ [[ "@CUSTOM_ENABLE_CONFD@" == True ]]
+}
+
+if _confd_enabled; then
DAEMONS+=( ganeti-confd )
+ DAEMONS+=( ganeti-luxid )
+fi
+
+_mond_enabled() {
+ [[ "@CUSTOM_ENABLE_MOND@" == True ]]
+}
+
+if _mond_enabled; then
+ DAEMONS+=( ganeti-mond )
fi
NODED_ARGS=
MASTERD_ARGS=
CONFD_ARGS=
+LUXID_ARGS=
RAPI_ARGS=
+MOND_ARGS=
# Read defaults file if it exists
if [[ -s $defaults_file ]]; then
}
_daemon_pidfile() {
- echo "$localstatedir/run/ganeti/$1.pid"
+ echo "$RUN_DIR/$1.pid"
}
_daemon_executable() {
confd)
echo "@GNTCONFDUSER@:@GNTCONFDGROUP@"
;;
+ luxid)
+ echo "@GNTLUXIDUSER@:@GNTLUXIDGROUP@"
+ ;;
rapi)
echo "@GNTRAPIUSER@:@GNTRAPIGROUP@"
;;
noded)
echo "@GNTNODEDUSER@:@GNTDAEMONSGROUP@"
;;
+ mond)
+ echo "@GNTMONDUSER@:@GNTMONDGROUP@"
+ ;;
*)
echo "root:@GNTDAEMONSGROUP@"
;;
# Checks whether the local machine is part of a cluster
check_config() {
- local server_pem=$localstatedir/lib/ganeti/server.pem
+ local server_pem=$DATA_DIR/server.pem
local fname
for fname in $server_pem; do
local usergroup=$(_daemon_usergroup $plain_name)
local daemonexec=$(_daemon_executable $name)
- if [[ "$name" == ganeti-confd &&
- "@CUSTOM_ENABLE_CONFD@" == False ]]; then
+ if ( [[ "$name" == ganeti-confd ]] || [[ "$name" == ganeti-luxid ]] ) \
+ && ! _confd_enabled; then
echo 'ganeti-confd disabled at build time' >&2
return 1
fi
--user ${usergroup%:*} \
$daemonexec $args "$@"
fi
+
}
# Stops a daemon
done
}
+# SIGHUP a process to force re-opening its logfiles
+rotate_logs() {
+ if [[ "$#" -lt 1 ]]; then
+ echo 'Missing daemon name.' >&2
+ return 1
+ fi
+
+ local name="$1"; shift
+ local pidfile=$(_daemon_pidfile $name)
+ local daemonexec=$(_daemon_executable $name)
+
+ if type -p start-stop-daemon >/dev/null; then
+ start-stop-daemon --stop --signal HUP --quiet \
+ --oknodo --pidfile $pidfile
+ else
+ _ignore_error killproc \
+ -p $pidfile \
+ $daemonexec -HUP
+ fi
+}
+
+# SIGHUP all processes
+rotate_all_logs() {
+ for i in $(list_stop_daemons); do
+ rotate_logs $i
+ done
+}
+
# Reloads the SSH keys
reload_ssh_keys() {
@RPL_SSH_INITD_SCRIPT@ restart