ansible-role-python_venv_build/tests/host_vars
Jesse Pretorius 4417b2ceef Ensure build/install works in serial/parallel execution
When executing the role in parallel, there is a race condition
due to all targets trying to build simultaneously and then all
trying to copy their packages back to the same folder on the
deployment host.

In this patch we implement the use of a dynamic group based on
the venv_reuse_download_subfolder which, by default, combines
the architecture and distribution data. We then use this group
to ensure that only the first of each group does the build and
the others consume the first host's package.

The conditional in tasks/python_venv_install.yml checking
whether the src venv is present was unnecessary given the same
conditional is present in tasks/main.yml. It interferes with
the new parallel execution capability, so it's been removed.

To validate whether builds happen properly, whether in serial
or parallel, and to also implement a way to implement tests for
future validations, we implement a test system using multiple
containers while allowing localhost to be the deployment host
only.

Change-Id: I29d230c16bee3e2d7e434f98c05af4a6a53ff10a
2018-03-28 15:08:27 +01:00
..
container1.yml Ensure build/install works in serial/parallel execution 2018-03-28 15:08:27 +01:00
container2.yml Ensure build/install works in serial/parallel execution 2018-03-28 15:08:27 +01:00
container3.yml Ensure build/install works in serial/parallel execution 2018-03-28 15:08:27 +01:00
container4.yml Ensure build/install works in serial/parallel execution 2018-03-28 15:08:27 +01:00
localhost.yml Ensure build/install works in serial/parallel execution 2018-03-28 15:08:27 +01:00