openstack-ansible/playbooks/repo-use.yml
Jesse Pretorius c310c21e24 Ensure that the repo servers also use the pypi cache
When re-running openstack-hosts after a greenfield deployment
the repo servers will be reconfigured to make use of the pypi
cache implemented on the repo host. There is therefore no
real reason why it should not be done sooner during the
greenfield deploy - otherwise the deployment is inconsistent.

Also, in a situation where the deployment has no containers,
not implementing the configuration to use the repo pypi cache
results in the rest of the deployment not being able to find
the packages which were built from source. It instead makes
all pip installs go to pypi and never even attempt the cache.

Finally, once the repo build is complete the repo-use playbook
is run to ensure that pip is reconfigured to use it - but the
facts to set the default pip index were set prior to the repo
being built, so the reconfiguration leaves the default pip
index to that of pypi. as such, in this patch, we re-verify
and re-set the applicable vars to ensure that the repo is used.

Depends-On: https://review.openstack.org/563106
Depends-On: https://review.openstack.org/563111
Change-Id: I2e7f9bc6cbf15b3309f843ffc24b4643563906a0
(cherry picked from commit 6677e1ef8f)
2018-07-23 23:45:11 +00:00

33 lines
1.2 KiB
YAML

---
# Copyright 2017, 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.
# TODO(evrardjp): Remove this playbook when the repo_build process
# is done upfront. This would mean that the openstack_hosts role
# can run once and for all directly after the
# lxc-container-create playbook.
- name: Configure all nodes to use the repo container for python/apt packages
hosts: "{{ openstack_host_group | default('hosts') }}:all_containers"
vars_files:
- defaults/repo_packages/openstack_services.yml
pre_tasks:
- include: common-tasks/package-cache-proxy.yml
- include: common-tasks/set-pip-vars.yml
roles:
- pip_install
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- always
- repo-config