- Add a new element 'guest-agent' for image building. This element is
used when dev_mode=false, so that the trove code is downloaded into
the image during the building phase rather than during the guest
agent initialization.
- Improve trovestack sub-command 'build-image'.
./trovestack build-image ${datastore_type} \
${guest_os} \
${guest_release} \
${dev_mode}
- Improve documentation.
Story: #2005387
Task: #30375
Change-Id: I9d7acbd6a97f8c01b48b0f2cf94398d549d89124
35 lines
1.0 KiB
Bash
35 lines
1.0 KiB
Bash
# sometimes the primary key server is unavailable and we should try an
|
|
# alternate. see
|
|
# https://bugs.launchpad.net/percona-server/+bug/907789. Disable
|
|
# shell errexit so we can interrogate the exit code and take action
|
|
# based on the exit code. We will reenable it later.
|
|
#
|
|
# NOTE(zhaochao): we still have this problem from time to time, so it's
|
|
# better use more reliable keyservers and just retry on that(for now, 3
|
|
# tries should be fine).
|
|
# According to:
|
|
# [1] https://www.gnupg.org/faq/gnupg-faq.html#new_user_default_keyserver
|
|
# [2] https://sks-keyservers.net/overview-of-pools.php
|
|
# we'll just the primary suggested pool: pool.sks-keyservers.net.
|
|
function get_key_robust() {
|
|
KEY=$1
|
|
set +e
|
|
|
|
tries=1
|
|
while [ $tries -le 3 ]; do
|
|
if [ $tries -eq 3 ]; then
|
|
set -e
|
|
fi
|
|
|
|
echo "Importing the key, try: $tries"
|
|
apt-key adv --keyserver hkp://pool.sks-keyservers.net \
|
|
--recv-keys ${KEY} && break
|
|
|
|
tries=$((tries+1))
|
|
done
|
|
|
|
set -e
|
|
}
|
|
|
|
export -f get_key_robust
|