As repo_build role has been succesfully replaced with
python_venv_build role, we have no need in it's futher maintaining and
releasing.
Depends-On: https://review.opendev.org/717715
Change-Id: Iaf1d6da8192afbbd18c64e2b58d54fa5804fe43c
Remove the references to netorigin and netloc_no_port as they will
be taken out from openstack-ansible-plugins
Now using ansible 2.4's urlsplit filter as a replacement.
Change-Id: I94302ced3e5d6faa4d8748590f323e89d9b7280c
Related-Bug: #1820830
===
[DEPRECATION WARNING]: Using tests as filters is deprecated.
Instead of using `result|search` use `result is search`. This
feature will be removed in version 2.9.
===
Change-Id: If7ca8c8e749209ca3e021fd4604ff809d9e3a5db
To ensure consistency, we make sure that the venv used for the wheel
build has an up to date and the right versions of pip/setuptools/wheel.
Change-Id: Iac3e5054b5ef482bba2954e40c2c4d32a7f863df
To limit the python packages installed on the host,
all packages installed by pip are implemented into
a venv.
While many of the repo_pip_packages may be available
via distribution packages, the versions vary wildly.
We therefore opt to use a venv instead to keep things
simple.
This reduces the requirement on the host to *only*
require the virtualenv package which is installed in
the openstack_hosts role.
The 'virtualenv' package is removed from the list as
it is not used.
Change-Id: I0619f51960e23756df7010d476d70f55ceda8441
With the more recent versions of ansible, we should now use
"is" instead of the "|" sign for the tests.
This should fix it.
Change-Id: Idea3c1336b5dd10bd9dfc075587cc130a0a34449
To cater for a situation where the repo build packages are changing,
but the repo does not yet have the package built, we need to ensure
that the install task for it can fetch from pypi (or the designated
pypi mirror). To do this we try the local repo first, then fall back
to using the designated default index which defaults to pypi.
Change-Id: Iba7e9939250b24dc64fdd1883f963d0253ddad7e
The repo_build_venv_rebuild toggle is supposed to trigger
a rebuild of the venvs, but currently it does nothing.
This patch fixes that, making it possible to rebuild the
venvs without having to rebuild the wheels too.
Change-Id: I61db1f5555cba2c659ff09d8369ce3c31b011b5d
This patch adds timestamps to pip wheel builds logs. This should
allow us to profile the wheel build runs and discover why CentOS
and OpenSUSE are so much slower than Ubuntu when building wheels.
The path also moves the wheel build process into a templated script
in /opt, which makes it easier to redirect output and prepend
timestamps to the log.
Partial-Bug: 1738424
Change-Id: I298dd45ada552b78ef7d6fcb79481035581bd77a
If there are no local facts, the initialisation of
facts fails due to ansible_local being undefined.
This patch adds a conditional for that situation and
als makes the task set slightly more code-efficient.
Change-Id: I605280fb3ccd0f12b32bb572b064b9b04109934b
Some tasks are no longer necessary in Pike
and the variable removed was deprecated in
Mitaka, so it's time to go.
Change-Id: Ibabe46967582929a441e66848c5267f0460a358b
This patch implements the following:
1. The ability to use a boolean variable to always force
a git clone or the wheel build to happen.
2. The use of local facts to mark whether a wheel build
or venv build is required. This ensures that if there
is a failure, the tasks will still be done when the
repo build is executed again.
3. The git clone or wheel build tasks are only actioned
if there is a change to the requirements or constraints.
This ensures that when the repo build is executed
without any changes, those processes will be skipped.
4. Re-arranges the tasks to ensure idempotency and to
make the process easier to follow. A smaller set of
tags are implemented which are intended to provide
a clear code path for each of them.
5. Log output is added to the venv build process to make
troubleshooting easier.
6. The stdout output for the wheel and venv build
processes is made minimal to reduce confusion and
make it easier to spot which item failed to build.
The log output in /var/log/repo contains the verbose
output from pip.
Change-Id: I2008926b43653edf50c284f5068160e27915c90a