Set the Ubuntu mirror used based on the environment
Apt updates/installs are the most common cause of build timeouts within HP Cloud gate checks. This patch changes both the AIO and the gate check from using the Rackspace Ubuntu mirror for everything to: 1) The AIO bootstrap will use whichever mirror is already defined on the host operating system. 2) The gate check will use a known mirror which is defined per cloud provider. If the cloud provider is not known, or the script is being used outside of OpenStack-CI, then the gate checkwill fall back to using the AIO's mechanism. The idea is to make use of an apt mirror that is as close to the instance as possible in order to speed up apt updates and installs. Closes-Bug: #1491749 Change-Id: Ia37100bc198b64b74f27ea98ec5956e7cf084883
This commit is contained in:
parent
b2f8a07e72
commit
b940e7b7de
@ -44,10 +44,10 @@ export NEUTRON_FATAL_DEPRECATIONS=${NEUTRON_FATAL_DEPRECATIONS:-"no"}
|
||||
export NOVA_FATAL_DEPRECATIONS=${NOVA_FATAL_DEPRECATIONS:-"no"}
|
||||
export TEMPEST_FATAL_DEPRECATIONS=${TEMPEST_FATAL_DEPRECATIONS:-"no"}
|
||||
|
||||
# Ubuntu repos
|
||||
# Ubuntu Repository Determination (based on existing host OS configuration)
|
||||
UBUNTU_RELEASE=$(lsb_release -sc)
|
||||
UBUNTU_REPO=${UBUNTU_REPO:-"https://mirror.rackspace.com/ubuntu"}
|
||||
UBUNTU_SEC_REPO=${UBUNTU_SEC_REPO:-"https://mirror.rackspace.com/ubuntu"}
|
||||
UBUNTU_REPO=${UBUNTU_REPO:-$(awk "/^deb .*ubuntu\/? ${UBUNTU_RELEASE} main/ {print \$2; exit}" /etc/apt/sources.list)}
|
||||
UBUNTU_SEC_REPO=${UBUNTU_SEC_REPO:-$(awk "/^deb .*ubuntu\/? ${UBUNTU_RELEASE}-security main/ {print \$2; exit}" /etc/apt/sources.list)}
|
||||
|
||||
|
||||
## Library Check -------------------------------------------------------------
|
||||
@ -78,19 +78,14 @@ apt-get update && apt-get install -y apt-transport-https
|
||||
|
||||
# Set the host repositories to only use the same ones, always, for the sake of consistency.
|
||||
cat > /etc/apt/sources.list <<EOF
|
||||
# Normal repositories
|
||||
deb ${UBUNTU_REPO} ${UBUNTU_RELEASE} main restricted
|
||||
deb ${UBUNTU_REPO} ${UBUNTU_RELEASE}-updates main restricted
|
||||
deb ${UBUNTU_REPO} ${UBUNTU_RELEASE} universe
|
||||
deb ${UBUNTU_REPO} ${UBUNTU_RELEASE}-updates universe
|
||||
deb ${UBUNTU_REPO} ${UBUNTU_RELEASE} multiverse
|
||||
deb ${UBUNTU_REPO} ${UBUNTU_RELEASE}-updates multiverse
|
||||
# Base repositories
|
||||
deb ${UBUNTU_REPO} ${UBUNTU_RELEASE} main restricted universe multiverse
|
||||
# Updates repositories
|
||||
deb ${UBUNTU_REPO} ${UBUNTU_RELEASE}-updates main restricted universe multiverse
|
||||
# Backports repositories
|
||||
deb ${UBUNTU_REPO} ${UBUNTU_RELEASE}-backports main restricted universe multiverse
|
||||
# Security repositories
|
||||
deb ${UBUNTU_SEC_REPO} ${UBUNTU_RELEASE}-security main restricted
|
||||
deb ${UBUNTU_SEC_REPO} ${UBUNTU_RELEASE}-security universe
|
||||
deb ${UBUNTU_SEC_REPO} ${UBUNTU_RELEASE}-security multiverse
|
||||
deb ${UBUNTU_SEC_REPO} ${UBUNTU_RELEASE}-security main restricted universe multiverse
|
||||
EOF
|
||||
|
||||
# Update the package cache
|
||||
@ -356,7 +351,7 @@ echo "required_kernel: $(uname --kernel-release)" | tee -a /etc/openstack_deploy
|
||||
|
||||
# Set the Ubuntu apt repository used for containers to the same as the host
|
||||
echo "lxc_container_template_main_apt_repo: ${UBUNTU_REPO}" | tee -a /etc/openstack_deploy/user_variables.yml
|
||||
echo "lxc_container_template_security_apt_repo: ${UBUNTU_REPO}" | tee -a /etc/openstack_deploy/user_variables.yml
|
||||
echo "lxc_container_template_security_apt_repo: ${UBUNTU_SEC_REPO}" | tee -a /etc/openstack_deploy/user_variables.yml
|
||||
|
||||
# Set the running neutron workers to 0/1
|
||||
echo "neutron_api_workers: 0" | tee -a /etc/openstack_deploy/user_variables.yml
|
||||
|
@ -55,6 +55,18 @@ ln -sf /openstack/log $(dirname ${0})/../logs
|
||||
mkdir -p /openstack/log/ansible-logging
|
||||
sed -i '/\[defaults\]/a log_path = /openstack/log/ansible-logging/ansible.log' $(dirname ${0})/../playbooks/ansible.cfg
|
||||
|
||||
# Ubuntu Repository Determination (based on provider information in OpenStack-CI)
|
||||
if [ -fs /etc/nodepool/provider ]; then
|
||||
source /etc/nodepool/provider
|
||||
if [[ ${NODEPOOL_PROVIDER} == "rax"* ]]; then
|
||||
export UBUNTU_REPO="http://mirror.rackspace.com/ubuntu"
|
||||
export UBUNTU_SEC_REPO="${UBUNTU_REPO}"
|
||||
elif [[ ${NODEPOOL_PROVIDER} == "hpcloud"* ]]; then
|
||||
export UBUNTU_REPO="http://${NODEPOOL_AZ}.clouds.archive.ubuntu.com/ubuntu"
|
||||
export UBUNTU_SEC_REPO="${UBUNTU_REPO}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Bootstrap an AIO setup if required
|
||||
if [ "${BOOTSTRAP_AIO}" == "yes" ]; then
|
||||
source $(dirname ${0})/bootstrap-aio.sh
|
||||
|
Loading…
Reference in New Issue
Block a user