RETIRED, Role repo_server for OpenStack-Ansible
Go to file
Jesse Pretorius 27ec4a229d Make venv build process idempotent
The venv build process currently executes on
every build, destroying all existing venvs for
the distribution/architecture of the repo server
it executes on, then rebuilds them.

It is also terribly difficult to troubleshoot
due to the fact that it is executed in parallel
through a single bash script using backgrounded
processes.

This patch breaks the build process up into two
parts - the per-venv options files, and the
script that uses the options to build the venvs.

With this breakdown we're able to do the following:
- Only execute a venv rebuild if the venv
  options (indexes, requirements) have changed.
- Use the Ansible asynchonous execution to
  execute parallel venv builds.

As a very welcome side-effect, this also means
that the venv build execution provides individual
output for success or failures, making it much
easier to see what went wrong when failing.

As part of the patch, the removal of the *.in,
*.txt and *.html files on each wheel build is
taken out. This is to protect the venv options
files. The removal of those files was unnecessary
anyway as they're templated and therefore replaced
by Ansible if they need to be changed.

Change-Id: I063c3addb6fbabb01d620be33aac2cab29a02750
2017-05-09 20:03:24 +01:00
defaults Make venv build process idempotent 2017-05-09 20:03:24 +01:00
doc Use https instead of http for git.openstack.org 2017-02-06 11:02:01 +08:00
examples [DOCS] Use new documentation tree structure 2016-08-24 09:02:09 -05:00
meta Merge "Update metadata to include CentOS" 2017-05-05 13:14:29 +00:00
releasenotes Modified repo build for better multi-OS support 2017-03-15 13:05:07 -05:00
tasks Make venv build process idempotent 2017-05-09 20:03:24 +01:00
templates Make venv build process idempotent 2017-05-09 20:03:24 +01:00
tests Standardize test vars 2017-04-25 16:15:21 -07:00
vars Make venv build process idempotent 2017-05-09 20:03:24 +01:00
.gitignore Clean up old test mechanism 2016-11-10 10:59:19 +00:00
.gitreview Implement base configuration for independent repository 2016-03-01 15:02:10 -06:00
CONTRIBUTING.rst [DOCS] Use new documentation tree structure 2016-08-24 09:02:09 -05:00
LICENSE Implement base configuration for independent repository 2016-03-01 15:02:10 -06:00
README.rst Show team and repo badges on README 2016-11-25 16:22:59 +01:00
Vagrantfile Remove Trusty support from repo_build role 2016-12-15 15:28:32 +00:00
bindep.txt Install python2-pyOpenSSL package on CentOS 2017-03-03 12:50:07 -06:00
manual-test.rc Use centralised test scripts 2016-09-28 12:00:16 +01:00
run_tests.sh Install python2 for Ubuntu 16.04 and CentOS 7 in Vagrant 2017-02-07 10:53:02 +07:00
setup.cfg [DOCS] Use new documentation tree structure 2016-08-24 09:02:09 -05:00
setup.py Updated from global requirements 2017-03-02 11:52:23 +00:00
test-requirements.txt Updated from global requirements 2017-02-11 17:49:31 +00:00
tox.ini Use https instead of http for git.openstack.org 2017-02-06 11:02:01 +08:00

README.rst

Team and repository tags

image

OpenStack-Ansible repo_build

Ansible role that builds a repository of Git repositories, Python wheels, and virtualenvs.

Documentation for the project can be found at:

http://docs.openstack.org/developer/openstack-ansible-repo_build

The project home is at:

http://launchpad.net/openstack-ansible