wait for networkd online before curl invocation
1) wait for network-online.target before invoking curl as there's no synchronization with network setup for this script 2) don't hide curl errors - it may be easier to debug the issues 3) add log and comments
This commit is contained in:
parent
5c36c85bd5
commit
f60525103d
@ -17,6 +17,9 @@ Deprecated
|
||||
Fixed
|
||||
-----
|
||||
|
||||
- Wait for ``network-online.target`` to become active before trying to download the script passed via the ``script=``
|
||||
boot parameter.
|
||||
|
||||
Removed
|
||||
-------
|
||||
|
||||
|
@ -16,7 +16,13 @@ automated_script ()
|
||||
script="$(script_cmdline)"
|
||||
if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then
|
||||
if [[ "${script}" =~ ^((http|https|ftp)://) ]]; then
|
||||
curl "${script}" --location --retry-connrefused --retry 10 -s -o /tmp/startup_script >/dev/null
|
||||
# there's no synchronization for network availability before executing this script
|
||||
printf '%s: waiting for network-online.target\n' "$0"
|
||||
until systemctl --quiet is-active network-online.target; do
|
||||
sleep 1
|
||||
done
|
||||
printf '%s: downloading %s\n' "$0" "${script}"
|
||||
curl "${script}" --location --retry-connrefused --retry 10 -s -o /tmp/startup_script
|
||||
rt=$?
|
||||
else
|
||||
cp "${script}" /tmp/startup_script
|
||||
@ -24,6 +30,9 @@ automated_script ()
|
||||
fi
|
||||
if [[ ${rt} -eq 0 ]]; then
|
||||
chmod +x /tmp/startup_script
|
||||
printf '%s: executing automated script\n' "$0"
|
||||
# note that script is executed when other services (like pacman-init) may be still in progress, please
|
||||
# synchronize to "systemctl is-system-running --wait" when your script depends on other services
|
||||
/tmp/startup_script
|
||||
fi
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user