summaryrefslogtreecommitdiffstats
path: root/modules.d/conf-tgz/hooks/s3-fetch-config-tgz.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules.d/conf-tgz/hooks/s3-fetch-config-tgz.sh')
-rwxr-xr-xmodules.d/conf-tgz/hooks/s3-fetch-config-tgz.sh27
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
+: