Commit Graph

32 Commits

Author SHA1 Message Date
Dmitriy Rabotyagov f72de305b8 Retire openstack-ansible-repo_build role
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
2020-04-06 14:30:36 +03:00
Dmitriy Rabotjagov 155b2b08b0 debian: add support
This patch adds support for this role to be able to deploy on
Debian Stretch.

Change-Id: I8b580d5afc62e819851a17f42bb0bb01ec3c4b76
2019-04-22 20:29:42 +03:00
Markos Chandras 420b98ead4 SUSE: Add support for openSUSE Leap 15
Change-Id: I1d6782b6fcbcc788930d9a0f3e4a434cb801cf00
2018-10-23 12:44:06 +01:00
Jesse Pretorius 5177b85e45 Rename SUSE vars file to cater for any version
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
2018-09-15 23:27:23 -06:00
Jesse Pretorius 5e181ca72e Remove MariaDB library installation
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
2018-09-15 18:48:34 +00:00
Jesse Pretorius 83c689dfbc Use generic vars file for ubuntu
These vars work for both Xenial and Bionic

Change-Id: I57d1814d20a92a08d4d5bcaf673fbbee25593cf4
2018-08-01 11:40:19 +01:00
Dmitriy R 14e2b93fac Add systemd-devel/libsystemd-dev for systemd-python wheel build
systemd-python is used by masakari-monitors services

Change-Id: I19f3dca7e15d3658ad3a80253b8b7d7af8c2c1a1
Implements: blueprint masakari-ansible-plugin
2018-07-24 10:02:53 +00:00
Mohammed Naser 81dc44903a Add Ubuntu Bionic 18.04 support
Change-Id: Ifc2ff7feb4b0972695e0daf2970e929a6826e597
2018-06-19 09:38:43 -04:00
Mohammed Naser e916c744d5 redhat: Add the EPEL repository for moreutils packages
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
2018-06-19 09:38:39 -04:00
Jesse Pretorius d206e7a61b Ensure virtualenv is not broken for CentOS/SuSE too
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
2018-02-20 10:33:43 +00:00
Marc Gariepy 1948d899a5 Remove leftover UCA variables
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
2018-02-07 14:33:04 +00:00
Markos Chandras cf9db9aa41 SUSE: Fix MariaDB development package
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
2018-01-25 17:07:31 +00:00
Zuul 71ba8a35fc Merge "Add pcre-lib for uwsgi" 2018-01-17 15:03:13 +00:00
Jesse Pretorius 26bc2218c6 Add pcre-lib for uwsgi
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
2018-01-16 17:15:50 +00:00
Jimmy McCrory 7472eb01ba Add librados-dev to distro package list
librados2-dev is needed to build 'cradox' from gnocchi's ceph
requirements.

Change-Id: Iad26778c188966b942b66d593cbd2f553ae7f627
2018-01-03 16:42:00 +00:00
Major Hayden 782a4b248f
Add timestamps for pip wheel build logs
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
2017-12-15 11:29:38 -06:00
Markos Chandras 0ca53435b8 SUSE: Reduced required distro packages
The devel_basis pattern pulls in far too many packages but we only need
gcc so use that instead.

Change-Id: I3ba9193ba0cbff40b8bb508636c110a3921f0289
2017-11-09 06:24:42 +00:00
Major Hayden 8a4942c880
Reduce package list for CentOS
This patch removes the Development Tools package group and instead
installs gcc to avoid installing a long list of packages.

Change-Id: I61fd7b9c5cb46a4d2118ebef2e2c5826d9210154
2017-08-18 14:09:31 -05:00
Markos Chandras a0ca13626a Add SUSE support
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
2017-05-19 11:08:14 +01:00
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
Kevin Carter fe3ae20f74
Modified repo build for better multi-OS support
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>
2017-03-15 13:05:07 -05:00
Jean-Philippe Evrard 96d4ee3694 Remove UCA/RDO in role
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
2017-02-13 13:00:09 +00:00
Jean-Philippe Evrard d18e1d12cd Use ocata in UCA instead of newton
We should now use UCA ocata.

Change-Id: I4a70b9ec90ea22de39a7610c295694315bf0d858
2017-02-07 12:16:19 +00:00
Jenkins d80ae3069d Merge "Add libxml2-dev package required for lxml install" 2016-12-19 10:50:23 +00:00
Andy McCrae e45100791e Add libxml2-dev package required for lxml install
This is required for ceilometer's lxml packages to install:
https://review.openstack.org/#/c/409925/

Change-Id: Icdee2b325c8ea73fdf38acd2d57fe20ecda6e42b
2016-12-16 12:44:10 +00:00
Andy McCrae 74b5246637 Remove Trusty support from repo_build role
Change-Id: I06991d14ff62deee08265cfaf4caac808051ea5f
Implements: blueprint trusty-removal
2016-12-15 15:28:32 +00:00
Marc Gariepy 28bcade870 Fix centos repo-build
- 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
2016-09-07 08:35:54 -04:00
Jesse Pretorius aa2c987840 Rename package lists (and related vars) appropriately
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
2016-08-30 20:09:05 +01:00
Jimmy McCrory f4f7009925 Add and enable UCA repo by default
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
2016-07-19 00:45:26 -07:00
Jimmy McCrory 0336e82065 Add support for Centos 7
Implements: blueprint multi-platform-host
Change-Id: I884563981239d2079b146397014a46da80fdc414
2016-07-08 11:49:53 -07:00
Jimmy McCrory feef9a516f Install pkg-config package
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
2016-06-16 14:48:25 -07:00
Travis Truman 19cfa68874 Multi-distro pattern for repo_build role
This is an implementation of a pattern for multi-distro support

This allows for adding support of distros other than Ubuntu

Change-Id: Ife463766563ace3a329718a8df5ad7d2b38548c6
2016-04-27 15:18:48 -04:00