diff options
Diffstat (limited to 'modules.d/conf-tgz/hooks/s3-fetch-config-tgz.sh')
-rwxr-xr-x | modules.d/conf-tgz/hooks/s3-fetch-config-tgz.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/modules.d/conf-tgz/hooks/s3-fetch-config-tgz.sh b/modules.d/conf-tgz/hooks/s3-fetch-config-tgz.sh new file mode 100755 index 00000000..2ed5f579 --- /dev/null +++ b/modules.d/conf-tgz/hooks/s3-fetch-config-tgz.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# -*- coding: utf-8 -*- + +type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh + +. /etc/openslx + +if [ -z "$SLX_NO_CONFIG_TGZ" ]; then + # build config.tgz url from SLX_KCL_SERVERS and SLX_BASE_PATH + # both are written to /etc/openslx by dnbd3-rootfs's s3-fetch-config.sh script + conftgz_url="http://${SLX_KCL_SERVERS}/${SLX_BASE_PATH}/config.tgz" + + # check if system's uuid was set + if [ -s "/run/system-uuid" ]; then + uuid="$(cat /run/system-uuid)" + if [ -n "$uuid" ]; then + conftgz_url="${conftgz_url}?uuid=${uuid}" + fi + fi + info "Download config.tgz from '$conftgz_url'..." + slx-tools download_retry --slx-time 20 -sS "${conftgz_url}" > "/etc/config.tgz" + + if [[ ! -s "/etc/config.tgz" ]]; then + warn "Failed to download '${conftgz_url}'!" + fi +fi +: |