TT#22415 Retry connect to public GPG keyserver in case of random failures

It looks like public GPG keyservers are not really highly available,
and randomly there are some issues have happens, like:

> gpg: requesting key EF8D349F from hkp server pool.sks-keyservers.net
> ?: [fd 4]: read error: Connection reset by peer
> gpgkeys: HTTP fetch error 7: couldn't connect: eof
> gpg: no valid OpenPGP data found.

Lets add reconnect here, to retry within one minute to hide such kind of issues
which are out of our control..

Change-Id: Ia31488bf0318656fadde1ca8bd43c6c48d5cb5a6
changes/51/15651/1
Alexander Lutay 9 years ago
parent d58deefdc9
commit 4318d132a8

@ -1354,9 +1354,16 @@ else
echo "Fetching debootstrap keyring as GPG key '${GPG_KEY}'..."
logit "Fetching debootstrap keyring as GPG key '${GPG_KEY}'..."
if ! gpg --keyserver "${GPG_KEY_SERVER}" --recv-keys "${GPG_KEY}" ; then
die "Failed to fetch GPG key '${GPG_KEY}' from '${GPG_KEY_SERVER}'"
fi
TRY=60
while ! gpg --keyserver "${GPG_KEY_SERVER}" --recv-keys "${GPG_KEY}" ; do
if [ ${TRY} -gt 0 ] ; then
TRY=$((TRY-5))
echo "Waiting for gpg keyserver '${GPG_KEY_SERVER}' availability ($TRY seconds)..."
sleep 5
else
die "Failed to fetch GPG key '${GPG_KEY}' from '${GPG_KEY_SERVER}'"
fi
done
if ! gpg -a --export "${GPG_KEY}" | apt-key add - ; then
die "Failed to import GPG key '${GPG_KEY}' as apt-key"
@ -2408,9 +2415,17 @@ deb ${DEBIAN_REPO_TRANSPORT}://${DEBIAN_REPO_HOST}/puppetlabs/ ${DEBIAN_RELEASE}
EOF
PUPPET_GPG_KEY="6F6B15509CF8E59E6E469F327F438280EF8D349F"
if ! chroot ${TARGET} apt-key adv --recv-keys --keyserver "${GPG_KEY_SERVER}" "${PUPPET_GPG_KEY}" ; then
die "Failed to fetch GPG key '${PUPPET_GPG_KEY}' from '${GPG_KEY_SERVER}'"
fi
TRY=60
while ! chroot ${TARGET} apt-key adv --recv-keys --keyserver "${GPG_KEY_SERVER}" "${PUPPET_GPG_KEY}" ; do
if [ ${TRY} -gt 0 ] ; then
TRY=$((TRY-5))
echo "Waiting for gpg keyserver '${GPG_KEY_SERVER}' availability ($TRY seconds)..."
sleep 5
else
die "Failed to fetch GPG key '${PUPPET_GPG_KEY}' from '${GPG_KEY_SERVER}'"
fi
done
chroot ${TARGET} apt-get update
chroot ${TARGET} apt-get -y install puppet-agent openssh-server lsb-release ntpdate

Loading…
Cancel
Save