diff options
author | Karel Kočí <cynerd@email.cz> | 2021-11-23 14:00:17 +0100 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2021-11-23 14:00:17 +0100 |
commit | 4b73048ace3f3df767ead4517cfe5a73352cb142 (patch) | |
tree | 4470ecea54d7f63edcdda2412d868d5c67267385 /app-emulation/lxd/files/lxd-4.0.0.initd | |
parent | 22d45e123d14ef32c545c008a54b29d6b6fe2440 (diff) | |
download | gentoo-personal-overlay-4b73048ace3f3df767ead4517cfe5a73352cb142.tar.gz gentoo-personal-overlay-4b73048ace3f3df767ead4517cfe5a73352cb142.tar.bz2 gentoo-personal-overlay-4b73048ace3f3df767ead4517cfe5a73352cb142.zip |
app-emulation/lxd: try to update lxd
Diffstat (limited to 'app-emulation/lxd/files/lxd-4.0.0.initd')
-rw-r--r-- | app-emulation/lxd/files/lxd-4.0.0.initd | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/app-emulation/lxd/files/lxd-4.0.0.initd b/app-emulation/lxd/files/lxd-4.0.0.initd new file mode 100644 index 0000000..e6ae971 --- /dev/null +++ b/app-emulation/lxd/files/lxd-4.0.0.initd @@ -0,0 +1,47 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +DAEMON=/usr/sbin/lxd +PIDFILE=/run/lxd.pid + +depend() { + need net + need lxcfs +} + +start() { + ebegin "Starting lxd service" + + modprobe -f loop > /dev/null 2>&1 + + # fix permissions on /var/lib/lxd and make sure it exists + install -d /var/lib/lxd --group lxd --owner root --mode 0775 + start-stop-daemon --start \ + --pidfile ${PIDFILE} \ + --exec ${DAEMON} \ + --background \ + --make-pidfile \ + -- \ + ${LXD_OPTIONS} + eend ${?} +} + +stop() { + if [ "${RC_CMD}" = restart ]; then + ebegin "Stopping lxd service (but not containers)" + # start-stop-daemon sends SIGTERM with a timeout of 5s by default. + # SIGTERM indicates to LXD that it will be stopped temporarily. + # Instances will keep running. + start-stop-daemon --stop --quiet -p "${PIDFILE}" + eend ${?} + else + ebegin "Stopping lxd service and containers, waiting 40s" + # SIGPWR indicates to LXD that the host is going down. + # LXD will do a clean shutdown of all instances. + # After 30s all remaining instances will be killed. + # We wait up to 40s for LXD. + start-stop-daemon --stop --quiet -R SIGPWR/40 -p "${PIDFILE}" + eend ${?} + fi +} |