summaryrefslogtreecommitdiffstats
path: root/modules.d/conf-tgz/hooks/fetch-config-tgz.sh
blob: 5fa96de7d33209ae57c23ef8fb48c9b45a412060 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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 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
: