diff options
author | Daniel Baumann <daniel.baumann@open-infrastructure.net> | 2016-12-05 08:06:42 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@open-infrastructure.net> | 2016-12-11 12:13:02 +0000 |
commit | 9207107ef3db0d52880fd6cce750f5c8182f5601 (patch) | |
tree | a377f27ba6623f793772ee4301bdf17cc6218863 | |
parent | Enabling pre and post hooks in container commands. (diff) | |
download | compute-tools-9207107ef3db0d52880fd6cce750f5c8182f5601.tar.xz compute-tools-9207107ef3db0d52880fd6cce750f5c8182f5601.zip |
Enabling pre and post hooks in container create scripts.
Signed-off-by: Daniel Baumann <daniel.baumann@open-infrastructure.net>
-rwxr-xr-x | share/scripts/curl | 19 | ||||
-rwxr-xr-x | share/scripts/debconf | 19 | ||||
-rwxr-xr-x | share/scripts/debootstrap | 19 |
3 files changed, 57 insertions, 0 deletions
diff --git a/share/scripts/curl b/share/scripts/curl index 6b7d6a0..69badd9 100755 --- a/share/scripts/curl +++ b/share/scripts/curl @@ -20,6 +20,7 @@ set -e SCRIPT="${0}" +HOOKS="/etc/container-tools/hooks" MACHINES="/var/lib/machines" CACHE="/var/cache/container-tools/images" @@ -132,6 +133,15 @@ PASSWORD="${PASSWORD:-$(dd if=/dev/urandom bs=12 count=1 2> /dev/null | base64)} VERSION="$(container version)" +# Pre hooks +for FILE in "${HOOKS}/pre-${SCRIPT}".* "${HOOKS}/${NAME}.pre-${SCRIPT}" +do + if [ -x "${FILE}" ] + then + "${FILE}" + fi +done + # Run # FIXME: Show available image directories on server @@ -227,3 +237,12 @@ case "${CLEAN}" in rm -f "${CACHE}/${IMAGE}.sha512" ;; esac + +# Post hooks +for FILE in "${HOOKS}/post-${SCRIPT}".* "${HOOKS}/${NAME}.post-${SCRIPT}" +do + if [ -x "${FILE}" ] + then + "${FILE}" + fi +done diff --git a/share/scripts/debconf b/share/scripts/debconf index cde66cb..72e9c85 100755 --- a/share/scripts/debconf +++ b/share/scripts/debconf @@ -21,6 +21,7 @@ set -e SCRIPT="${0}" CONFIG="/etc/container-tools/config" +HOOKS="/etc/container-tools/hooks" MACHINES="/var/lib/machines" Parameters () @@ -964,6 +965,15 @@ Debconf export NAME +# Pre hooks +for FILE in "${HOOKS}/pre-${SCRIPT}".* "${HOOKS}/${NAME}.pre-${SCRIPT}" +do + if [ -x "${FILE}" ] + then + "${FILE}" + fi +done + # Run debconf parts for SCRIPT in /usr/share/container-tools/scripts/debconf.d/* do @@ -1077,3 +1087,12 @@ fi # remove debconf temporary files rm --preserve-root --one-file-system -rf "${DEBCONF_TMPDIR}" rmdir --ignore-fail-on-non-empty /tmp/container-tools 2>&1 || true + +# Post hooks +for FILE in "${HOOKS}/post-${SCRIPT}".* "${HOOKS}/${NAME}.post-${SCRIPT}" +do + if [ -x "${FILE}" ] + then + "${FILE}" + fi +done diff --git a/share/scripts/debootstrap b/share/scripts/debootstrap index 9c76ba0..2da573d 100755 --- a/share/scripts/debootstrap +++ b/share/scripts/debootstrap @@ -20,6 +20,7 @@ set -e SCRIPT="${0}" +HOOKS="/etc/container-tools/hooks" MACHINES="/var/lib/machines" Parameters () @@ -137,6 +138,15 @@ case "${MIRROR}" in ;; esac +# Pre hooks +for FILE in "${HOOKS}/pre-${SCRIPT}".* "${HOOKS}/${NAME}.pre-${SCRIPT}" +do + if [ -x "${FILE}" ] + then + "${FILE}" + fi +done + mkdir -p "${MACHINES}" debootstrap --arch=${ARCHITECTURE} --include=${INCLUDE} ${DISTRIBUTION} ${MACHINES}/${NAME} ${MIRROR} @@ -148,3 +158,12 @@ echo "${NAME}" > "${MACHINES}/${NAME}/etc/hostname" # Setting root password echo root:${PASSWORD} | chroot "${MACHINES}/${NAME}" chpasswd echo "${NAME}: root password set to '${PASSWORD}'." + +# Post hooks +for FILE in "${HOOKS}/post-${SCRIPT}".* "${HOOKS}/${NAME}.post-${SCRIPT}" +do + if [ -x "${FILE}" ] + then + "${FILE}" + fi +done |