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
To make the transition between versions easier,
we rename the vars file. This also resolves
issues when meta-dependent role inclusions do
not pick up the correct file when using the
include_vars task with multiple search paths.
Change-Id: Ic2ecf3b3d344398008e64698be0f924004dfb25b
We do not need to install these packages in this role, because
the galera_client/galera_server role installs the right packages
wherever they're needed to facilitate the Ansible mysql modules.
Change-Id: I0250dc146658301521ddb696d07d356f0bb42777
systemd-python is used by masakari-monitors services
Change-Id: I19f3dca7e15d3658ad3a80253b8b7d7af8c2c1a1
Implements: blueprint masakari-ansible-plugin
The moreutils package is needed from EPEL so we install it inside
the role. Moreover, in order to minimize the potential EPEL vs RDO
package conflicts, we only allow a small subset of packages from the
EPEL repository. Finally, we include the nodepool playbook from the
tests repository in order to populate the necessary CI facts.
Also, we don't need the LXC development headers so drop them.
Change-Id: I287a7209d7840283e374a8bb14d9caa4f714baf0
In I2c50bb693dc5dc505bddce34ff45294ac44f7dc9 we applied changes
to the settings to repo_build_venv_command_options so that pip,
setuptools and wheel were not copied into the new virtualend on
creation, but rather installed into it later.
Unfortunately the patch missed that CentOS and SuSE platforms
have an override for the same variable, so the issue set out in
the patch still applies to those platforms.
This patch ensures that the overrides are removed and the
variable is only declared in one place, but the same functionality
which gave rise to the override for those platforms is still
applied when executed.
Closes-Bug: #1746935
Change-Id: Ie0c8c95a0d4315f8d1f848b1309bf88b7c2644d4
Previously the repo_build role implemented its own tasks for
setting up the UCA repository. It was later shifted to the
pip_install role and for Queens it's in the openstack_hosts
role.
In Queens these variables are no longer used. In Pike and
before these variables interfere with the values set out in
the pip_install role which are the canonical values.
As such, we remove them from the role and this patch will
need to be ported back.
Change-Id: If499287a5d346bb7c5d0775c21f55a1f73d6db89
The galera_client commit-id Ib270b0fe23de76620491247efc3352fbc6c1e9b5
switched to the upstream MariaDB packages instead of the ones from the
OBS so we need to update the development package in the SUSE variables
file.
Change-Id: I15f993a3f80283f772bbb8ad75311f5117ff7ac0
Building the wheel with PCRE support may improve
performance, but at the very least gets rid of
a nasty log message. We prefer our logs not to
have nasty messages in them, so we add the extra
package.
Change-Id: Ibab309445f9398b6f48dc9ea12d89056d14b7a71
Closes-Bug: #1742538
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
This patch removes the Development Tools package group and instead
installs gcc to avoid installing a long list of packages.
Change-Id: I61fd7b9c5cb46a4d2118ebef2e2c5826d9210154
Add support for SUSE based distributions. Since we grab some packages
from the OBS repositories, we need to use the 'force' option to allow
zypper switch vendor on these packages. We also update the bindep.txt,
run_tests.sh, tests-repo-clone.sh and Vagrantfile files from the
openstack-ansible-tests repository.
Change-Id: Icea249aae20156b253017c6028f0ba2bb74bd577
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
The repo build role will now store all wheels and venvs in directories
containg information about the OS in which the bits were build on. The
intention here is to ensure that all installation are able to support
multi-OS without running into issues caused by system packages and
different core libs. This change builds upon the multi-archetecture
support we already have.
Closes-Bug: 1641131
Change-Id: I3f36afa307e02a38d73b860fc23ed94a09882c34
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
Now that the external repository management is done in pip-install
role, we don't need this wiring anymore.
Everything will be consistent across all the roles that include
pip-install.
Change-Id: I370135ab49dd75c2c3632b9f807b609c539bd4d6
- Add mising dep for /opt/op-venv-script.sh
- Change state for RDO package to present as is doesn't work with
latest
Change-Id: Iadea8e62d86878b5062c659051fab0e8a14c9a35
In order to make it easier to differentiate between the lists of
python packages, distribution packages, downloaded packages,
package pins and other similar variables the variable names are
being changed to ensure that they have a more explicit suffix
that defines the purpose and makes the naming more consistent.
This is to facilitate a lookup plugin which will be able to look
up all the package lists and present them as a consolidated piece
of data which may be used for artifact preparation.
Change-Id: I4f8accf0fd4f7a7de53c486fe389106181945f70
When the UCA repo is enabled for nova, a newer version of libvirt will
be installed. The repo_build role will also need to have the UCA repo
enabled to install the same version of libvirt-dev so that a
corresponding libvirt-python wheel will be built.
The test preparation implements an override of the URL for OpenStack-CI
to make use of the local mirrors.
Change-Id: I6d5532e862e98929cff868f940c202875d1ee560
pkg-config is required to build a wheel for libvirt-python. In the
trusty gate tests it's a dependency of another installed package, in
xenial it's only suggested.
Add pkg-config to repo_build_apt_packages to ensure that it's installed.
Change-Id: Ib86cbd38287fdad539ef6451cd5662422b9abf7b
This is an implementation of a pattern for multi-distro support
This allows for adding support of distros other than Ubuntu
Change-Id: Ife463766563ace3a329718a8df5ad7d2b38548c6