Merge "Replace deprecated bindep-fallback testing"

This commit is contained in:
Zuul 2019-02-27 20:04:53 +00:00 committed by Gerrit Code Review
commit e498e1261a
4 changed files with 151 additions and 36 deletions

View File

@ -1,52 +1,52 @@
- job:
name: bindep-fallback
name: bindep-base
description: |
Check that bindep can install packages from
openstack-infra/project-config/nodepool/elements/bindep-fallback.txt.
Check that bindep itself can install packages on various platforms.
abstract: true
roles:
- zuul: openstack-infra/zuul-jobs
run: playbooks/bindep-fallback/run.yaml
run: playbooks/bindep/run.yaml
vars:
zuul_work_dir: '{{ zuul.project.src_dir }}'
zuul_work_virtualenv: '{{ ansible_user_dir }}/.venv'
- job:
name: bindep-fallback-centos-7
parent: bindep-fallback
name: bindep-centos-7
parent: bindep-base
nodeset: centos-7
- job:
name: bindep-fallback-opensuse-423
parent: bindep-fallback
nodeset: opensuse-423
- job:
name: bindep-fallback-opensuse-150
parent: bindep-fallback
name: bindep-opensuse-150
parent: bindep-base
nodeset: opensuse-150
- job:
name: bindep-fallback-ubuntu-trusty
parent: bindep-fallback
name: bindep-opensuse-423
parent: bindep-base
nodeset: opensuse-423
- job:
name: bindep-ubuntu-trusty
parent: bindep-base
nodeset: ubuntu-trusty
- job:
name: bindep-fallback-ubuntu-xenial
parent: bindep-fallback
name: bindep-ubuntu-xenial
parent: bindep-base
nodeset: ubuntu-xenial
- project:
check:
jobs:
- bindep-fallback-centos-7
- bindep-fallback-opensuse-423
- bindep-fallback-opensuse-150
- bindep-fallback-ubuntu-trusty
- bindep-fallback-ubuntu-xenial
- bindep-centos-7
- bindep-opensuse-150
- bindep-opensuse-423
- bindep-ubuntu-trusty
- bindep-ubuntu-xenial
gate:
jobs:
- bindep-fallback-centos-7
- bindep-fallback-opensuse-423
- bindep-fallback-opensuse-150
- bindep-fallback-ubuntu-trusty
- bindep-fallback-ubuntu-xenial
- bindep-centos-7
- bindep-opensuse-150
- bindep-opensuse-423
- bindep-ubuntu-trusty
- bindep-ubuntu-xenial

View File

@ -119,12 +119,6 @@ bindep would select the ``libffi6`` package in all cases and if the
``test`` profile gets choosen with ``bindep test``, then both packages
would be selected.
The following content gives some examples as used in the `default bindep file
<http://git.openstack.org/cgit/openstack-infra/project-config/tree/nodepool/elements/bindep-fallback.txt>`_
that OpenStack CI takes if no ``bindep.txt`` file exists for setup of
some jobs. The examples only use the automatically defined profiles
like ``platform:dpkg`` which is defined on Debian based systems.
If a repository needs for deployment the libxml2 development
libraries for support of Debian, Gentoo, and RPM based distros, the
``bindep.txt`` file can contain::
@ -175,3 +169,8 @@ To select a package based on a group of profiles::
This selects the ``ceph-common`` package when the profile ``ceph`` is
specified. However, it will only select the ``python-rbd`` package when both
``ceph`` and ``glance`` profiles are active.
For a more comprehensive example check bindep.txt_ file that is used to
test bindep itself on multiple platforms.
.. _bindep.txt: http://git.openstack.org/cgit/openstack-infra/bindep/tree/bindep/tests/bindep.txt

115
bindep/tests/bindep.txt Normal file
View File

@ -0,0 +1,115 @@
# This is the fallback list for packages to install. Do not add
# additional packages here. Repositories should use bindep and create
# their own bindep.txt files if the list below is not
# working for them.
build-essential [platform:dpkg]
curl [!platform:gentoo]
net-misc/curl [platform:gentoo]
dev-libs/cyrus-sasl [platform:gentoo]
cyrus-sasl-devel [platform:rpm]
media-fonts/nanumfont [platform:gentoo]
fonts-nanum [platform:dpkg]
media-fonts/takao-fonts [platform:gentoo]
fonts-takao [platform:dpkg]
gawk
gettext [!platform:suse]
gettext-runtime [platform:suse]
graphviz [!platform:gentoo]
media-gfx/graphviz [platform:gentoo]
language-pack-en [platform:ubuntu]
libcurl-devel [platform:rpm]
libcurl4-gnutls-dev [platform:dpkg]
libevent-dev [platform:dpkg]
libevent-devel [platform:rpm]
dev-libs/libevent [platform:gentoo]
libffi-dev [platform:dpkg]
libffi-devel [platform:redhat platform:suse !platform:opensuse423]
libffi48-devel [platform:opensuse423]
virtual/libffi [platform:gentoo]
libjerasure-dev [platform:ubuntu]
dev-libs/jerasure [platform:gentoo]
libjpeg-dev [platform:dpkg]
libjpeg8-devel [platform:suse]
libjpeg-turbo-devel [platform:redhat]
media-libs/libjpeg-turbo [platform:gentoo]
libldap2-dev [platform:dpkg]
net-nds/openldap [platform:gentoo]
libmysqlclient-dev [platform:dpkg]
libpcap-dev [platform:dpkg]
libpcap-devel [platform:rpm]
net-libs/libpcap [platform:gentoo]
libpq-dev [platform:dpkg]
librrd-dev [platform:dpkg]
net-analyzer/rrdtool [platform:gentoo]
libsasl2-dev [platform:dpkg]
libselinux-python [platform:redhat]
python-selinux [platform:suse]
sys-libs/libselinux [platform:gentoo]
libsqlite3-dev [platform:dpkg]
libuuid-devel [platform:rpm]
libvirt-dev [platform:dpkg]
libvirt-devel [platform:rpm]
app-emulation/libvirt [platform:gentoo]
libvirt-python [platform:rpm]
dev-python/libvirt-python [platform:gentoo]
libxml2-dev [platform:dpkg]
libxml2-devel [platform:rpm]
libxml2-utils [platform:dpkg]
dev-libs/libxml2 [platform:gentoo]
libxslt-devel [platform:rpm]
libxslt1-dev [platform:dpkg]
dev-libs/libxslt [platform:gentoo]
locales [platform:debian]
mariadb [platform:rpm]
mariadb-server [platform:redhat]
mariadb-devel [platform:redhat]
libmysqlclient-devel [platform:suse]
dev-db/mariadb [platform:gentoo]
memcached
mysql-client [platform:dpkg]
mysql-server [platform:dpkg]
openldap-devel [platform:redhat]
openldap2-devel [platform:suse]
pkg-config [platform:dpkg platform:suse]
pkgconfig [platform:redhat]
virtual/pkgconfig [platform:gentoo]
postgresql
postgresql-client [platform:dpkg]
postgresql-devel [platform:rpm]
postgresql-server [platform:rpm]
pypy [platform:ubuntu]
pypy-dev [platform:ubuntu]
python-dev [platform:dpkg]
python-devel [platform:rpm]
dev-lang/python [platform:gentoo]
python-libvirt [platform:dpkg]
python-lxml [!platform:gentoo !platform:fedora]
python2-lxml [platform:fedora]
dev-python/lxml [platform:gentoo]
# Note that python3-all-dev includes python3-all, added
# both here for documentary purpose.
python3-all [platform:dpkg]
python3-all-dev [platform:dpkg]
python3-devel [platform:fedora platform:suse]
# python3-devel does not pull in the python3 package on openSUSE so
# we need to be explicit. The python3 package contains the XML module
# which is required by a python3 virtualenv. Similarly, in python2,
# the XML module is located in python-xml which is not pulled in
# by python-devel as well. See https://bugzilla.suse.com/show_bug.cgi?id=1046990
python3 [platform:suse]
python-xml [platform:suse]
rrdtool-devel [platform:rpm]
sqlite [platform:redhat]
sqlite-devel [platform:redhat]
sqlite3-devel [platform:suse]
sqlite3 [platform:dpkg]
dev-db/sqlite [platform:gentoo]
swig
unzip
uuid-dev [platform:dpkg]
xsltproc [platform:dpkg]
zip
zlib-devel [platform:rpm]
zlib1g-dev [platform:dpkg]
sys-libs/zlib [platform:gentoo]

View File

@ -1,8 +1,6 @@
- hosts: all
vars:
bindep_profile: test
# Define the global file so that no local file gets used.
bindep_file: /usr/local/bindep-fallback/bindep-fallback.txt
tasks:
- name: Install requirements
pip:
@ -17,7 +15,10 @@
name: .
- name: Run bindep with the file
command: "{{ zuul_work_virtualenv }}/bin/bindep -b -f {{ bindep_file }} {{ bindep_profile }}"
command: >
{{ zuul_work_virtualenv }}/bin/bindep -b -f
"{{ ansible_user_dir }}/{{ zuul.projects['git.openstack.org/openstack-infra/bindep'].src_dir }}/bindep/tests/bindep.txt"
{{ bindep_profile }}
register: _bindep_output
changed_when: false
failed_when: false