Retry APT commands during genesis/join
This avoids issues when, e.g. cloud-init is still installing packages when the join script executes. Change-Id: Iba637426480b140013c5ff441b978677f15b6709
This commit is contained in:
parent
2fd461d0e8
commit
8de837bfbd
|
@ -49,14 +49,37 @@ log === Installing system packages ===
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
apt-get update
|
end=$(($(date +%s) + 600))
|
||||||
apt-get install -y --no-install-recommends \
|
while true; do
|
||||||
{%- for package in config['HostSystem:packages.additional'] | default([]) %}
|
if ! apt-get update; then
|
||||||
{{ package }} \
|
now=$(date +%s)
|
||||||
{%- endfor %}
|
if [[ ${now} -gt ${end} ]]; then
|
||||||
{{ config['HostSystem:packages.required.docker'] }} \
|
log Failed to update apt-cache.
|
||||||
{{ config['HostSystem:packages.required.socat'] }}
|
exit 1
|
||||||
|
fi
|
||||||
|
sleep 10
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
end=$(($(date +%s) + 600))
|
||||||
|
while true; do
|
||||||
|
if ! apt-get install -y --no-install-recommends \
|
||||||
|
{%- for package in config['HostSystem:packages.additional'] | default([]) %}
|
||||||
|
{{ package }} \
|
||||||
|
{%- endfor %}
|
||||||
|
{{ config['HostSystem:packages.required.docker'] }} \
|
||||||
|
{{ config['HostSystem:packages.required.socat'] }}; then
|
||||||
|
now=$(date +%s)
|
||||||
|
if [[ ${now} -gt ${end} ]]; then
|
||||||
|
log Failed to install apt packages.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# Start core processes
|
# Start core processes
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue