#!/usr/bin/env bash # -*- coding: utf-8 -*- source '/usr/lib/rebash/core.sh' core.import exceptions core.import logging type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh exceptions.try { logging.set_commands_level debug logging.set_level debug # NOTE: "getarg" raises an exception so deactivate exceptions for now. exceptions.deactivate slx_server="$(getarg slxsrv=)" slx_server_base="$(getarg slxbase=)" exceptions.activate logging.info "Download config.tgz from '${slx_server}'..." IFS_backup="$IFS" IFS=',' for host in ${slx_server}; do logging.info "Trying host \"$host\"." if wget --timeout 5 \ "http://${host}/${slx_server_base}/config.tgz" \ --output-document "/etc/config.tgz" then break fi done IFS="$IFS_backup" if [[ ! -e "/etc/config.tgz" ]]; then logging.warn "Downloading 'config.tgz' from '${slx_server}' failed. Return code: $return_code" exit 1 fi } exceptions.catch { logging.error "$exceptions_last_traceback" emergency_shell "error in ${BASH_SOURCE[0]}" }