summaryrefslogtreecommitdiffstats
path: root/lib/container/start
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@open-infrastructure.net>2016-12-05 07:48:22 +0000
committerDaniel Baumann <daniel.baumann@open-infrastructure.net>2016-12-11 12:13:01 +0000
commit2800164883ad19e22a8e8fe35d5f3c46eff9d1d7 (patch)
tree81b14da5cb64cc5893e05b5b5d9d9fd07db9b5a0 /lib/container/start
parentEnabling pre and post hooks in container program. (diff)
downloadcompute-tools-2800164883ad19e22a8e8fe35d5f3c46eff9d1d7.tar.xz
compute-tools-2800164883ad19e22a8e8fe35d5f3c46eff9d1d7.zip
Enabling pre and post hooks in container commands.
Signed-off-by: Daniel Baumann <daniel.baumann@open-infrastructure.net>
Diffstat (limited to 'lib/container/start')
-rwxr-xr-xlib/container/start26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/container/start b/lib/container/start
index 20d738e..40ee195 100755
--- a/lib/container/start
+++ b/lib/container/start
@@ -21,6 +21,7 @@ set -e
COMMAND="$(basename ${0})"
CONFIG="/etc/container-tools/config"
+HOOKS="/etc/container-tools/hooks"
MACHINES="/var/lib/machines"
START="false"
@@ -155,6 +156,22 @@ case "${HOST_ARCHITECTURE}" in
;;
esac
+case "${START}" in
+ start)
+ ;;
+
+ *)
+ # Pre hooks
+ for FILE in "${HOOKS}/pre-${COMMAND}".* "${HOOKS}/${NAME}.pre-${COMMAND}"
+ do
+ if [ -x "${FILE}" ]
+ then
+ "${FILE}"
+ fi
+ done
+ ;;
+esac
+
# config
if [ -e "${CONFIG}/${NAME}.conf" ]
then
@@ -421,5 +438,14 @@ case "${START}" in
*)
# Run
${SETARCH} systemd-nspawn --keep-unit ${BIND} ${BOOT} ${CAPABILITY} ${DIRECTORY} ${DROP_CAPABILITY} ${MACHINE} ${NETWORK_VETH_EXTRA} ${LINK_JOURNAL} ${REGISTER}
+
+ # Post hooks
+ for FILE in "${HOOKS}/post-${COMMAND}".* "${HOOKS}/${NAME}.post-${COMMAND}"
+ do
+ if [ -x "${FILE}" ]
+ then
+ "${FILE}"
+ fi
+ done
;;
esac