openstack-ansible-tests/common-tasks/test-set-nodepool-vars.yml
Mohammed Naser 401fc3d5cd Add LXC COPR cache
Change-Id: I8ea9703179978a9ba7d692422c10b50b20798214
2018-09-12 16:40:51 -06:00

81 lines
3.5 KiB
YAML

---
# Copyright 2016, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Ensure ci data exists before setting variables.
stat:
path: /etc/ci/mirror_info.sh
register: ci_mirror_info
delegate_to: localhost
- name: Set nodepool vars
block:
- name: Discover variables from OpenStack's CI environment when in nodepool
shell: |
source /etc/ci/mirror_info.sh
echo "lxc_reverse_proxy=${NODEPOOL_MIRROR_HOST}"
echo "uca_apt_repo_url=${NODEPOOL_UCA_MIRROR}"
echo "openstack_hosts_centos_mirror_url=${NODEPOOL_CENTOS_MIRROR}"
echo "opensuse_mirror=${NODEPOOL_OPENSUSE_MIRROR}"
echo "pip_default_index=${NODEPOOL_PYPI_MIRROR}"
echo "pip_wheel_mirror=${NODEPOOL_WHEEL_MIRROR}"
echo "centos_epel_mirror=${NODEPOOL_EPEL_MIRROR}"
echo "galera_percona_xtrabackup_repo_host=${NODEPOOL_PERCONA_PROXY}"
echo "galera_repo_host=${NODEPOOL_MIRROR_HOST}:8080"
if [[ ${NODEPOOL_PYPI_MIRROR} == *.ovh.* ]]; then
echo "nova_virt_type=qemu"
fi
echo "repo_build_pip_default_index=${NODEPOOL_PYPI_MIRROR}"
echo "nspawn_hosts_container_image_repo=${NODEPOOL_LXC_IMAGE_PROXY}"
echo "lxc_centos_package_baseurl=http://${NODEPOOL_MIRROR_HOST}:8080/copr-lxc2/epel-7-x86_64/"
echo "lxc_centos_package_key=http://${NODEPOOL_MIRROR_HOST}:8080/copr-lxc2/pubkey.gpg"
# NOTE(mnaser): We need to make sure we pull the latest RDO mirror
# which is hashed to avoid cache going stale during CI.
# TODO(mnaser): Share this with Puppet
# https://github.com/openstack/puppet-openstack-integration/blob/master/configure_facts.sh#L66-L71
export DLRN_BASE=${DLRN_BASE:-centos7-master/puppet-passed-ci}
rdo_dlrn=`curl --silent ${NODEPOOL_RDO_PROXY}/${DLRN_BASE}/delorean.repo | grep baseurl | cut -d= -f2`
if [[ -z "$rdo_dlrn" ]]; then
echo "Failed to parse dlrn hash"
exit 1
fi
RDO_MIRROR_HOST=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY}
echo "openstack_hosts_rdo_repo_url=${RDO_MIRROR_HOST}"
args:
executable: /bin/bash
register: nodepool_variables
delegate_to: localhost
changed_when: false
tags:
- skip_ansible_lint
- name: Set facts automatically from OpenStack's CI environment variables
set_fact:
"{{ item.split('=', 1)[0] }}": "{{ item.split('=', 1)[1] }}"
with_items:
- "{{ nodepool_variables.stdout_lines }}"
- name: Set facts manually when in nodepool
set_fact:
lxc_image_cache_server_mirrors:
- "http://{{ lxc_reverse_proxy }}:8080/images.linuxcontainers/"
# CentOS mirrors are set to OpenStack's CI mirrors, so fastestmirror is
# disabled to speed up package downloads.
openstack_hosts_enable_yum_fastestmirror: no
pip_links:
- name: "infra_wheel_mirror"
link: "{{ pip_wheel_mirror }}"
when: ci_mirror_info.stat.exists