From 7a7a0b1eccdd6c9927451834248c0dc0266f8e26 Mon Sep 17 00:00:00 2001 From: Goutham Pacha Ravi Date: Mon, 24 Jun 2019 14:39:22 -0700 Subject: [PATCH] [CI] Add bindep.txt Bindep is a tool for checking the presence of binary packages needed to use an application / library. It started life as a way to make it easier to set up a development environment for OpenStack projects. Infra has been looking to drop the global bindep_fallback.txt [1][2] file for all OpenStack projects, they recommend that projects maintain their own with packages as necessary. This commit is not a clean cherry-pick. DevStack for CentOS is currently broken. See bug 1833696 [3]. The LVM job will be fixed by a subsequent commit to this branch. [1] http://lists.openstack.org/pipermail/openstack-infra/2018-April/005926.html [2] http://lists.openstack.org/pipermail/openstack-discuss/2019-June/006888.html [3] https://launchpad.net/bugs/1833696 Change-Id: I1824f132b0ffadc6c9179582d37295f3abed355f (cherry picked from commit 1709fd7fc222f81bcbedc05e683d2eec5337edcc) (cherry picked from commit 6ac1730127ddf2f8113e791c3740909bbe05837d) (cherry picked from commit 4fbe70fbb6c12eb06bc026e043ed2a27572b5da1) (cherry picked from commit 148e4730063a5807e215d497a531b2da65225e68) --- .zuul.yaml | 11 +++++++++-- bindep.txt | 35 +++++++++++++++++++++++++++++++++++ tox.ini | 12 ++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 bindep.txt diff --git a/.zuul.yaml b/.zuul.yaml index 88574c3a03..afaec74fac 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -26,7 +26,11 @@ - manila-tempest-minimal-dsvm-cephfs-nfs-centos-7: voting: false - manila-tempest-minimal-dsvm-dummy - - manila-tempest-minimal-dsvm-lvm-centos-7 +# TODO(gouthamr): make lvm job voting again +# after https://bugs.launchpad.net/devstack/+bug/1833696 +# is fixed. + - manila-tempest-minimal-dsvm-lvm-centos-7: + voting: false - grenade-dsvm-manila: voting: false - rally-dsvm-manila-multibackend: @@ -42,7 +46,10 @@ jobs: - manila-tox-genconfig - manila-tempest-minimal-dsvm-dummy - - manila-tempest-minimal-dsvm-lvm-centos-7 +# TODO(gouthamr): make lvm job voting again +# after https://bugs.launchpad.net/devstack/+bug/1833696 +# is fixed. +# - manila-tempest-minimal-dsvm-lvm-centos-7 experimental: jobs: - manila-tempest-dsvm-glusterfs-nfs diff --git a/bindep.txt b/bindep.txt new file mode 100644 index 0000000000..e4bc4c912e --- /dev/null +++ b/bindep.txt @@ -0,0 +1,35 @@ +# This is a cross-platform list tracking distribution packages needed for +# install and tests; +# see https://docs.openstack.org/infra/bindep/ for additional information. + +build-essential [platform:dpkg test] +gcc [platform:rpm test] +# gettext and graphviz are needed by doc builds only. For transition, +# have them in both doc and test. +# TODO(jaegerandi): Remove test once infra scripts are updated. +gettext [!platform:suse doc test] +gettext-runtime [platform:suse doc test] +graphviz [doc test] +libffi-dev [platform:dpkg] +libffi-devel [platform:redhat] +libffi48-devel [platform:suse] +virtual/libffi [platform:gentoo] +libssl-dev [platform:dpkg] +openssl-devel [platform:rpm !platform:suse] +libopenssl-devel [platform:suse !platform:rpm] +locales [platform:debian] +mariadb [platform:rpm] +mariadb-server [platform:redhat] +mariadb-devel [platform:redhat] +libmysqlclient-dev [platform:dpkg] +libmysqlclient-devel [platform:suse] +libpq-dev [platform:dpkg] +mysql-client [platform:dpkg] +mysql-server [platform:dpkg] +postgresql +postgresql-client [platform:dpkg] +postgresql-devel [platform:rpm] +postgresql-server [platform:rpm] +libxml2-dev [platform:dpkg test] +libxslt-devel [platform:rpm test] +libxslt1-dev [platform:dpkg test] diff --git a/tox.ini b/tox.ini index 80215847f9..ae901e3375 100644 --- a/tox.ini +++ b/tox.ini @@ -76,6 +76,18 @@ commands = # Ignore D001 since we allow lines in excess of 79 characters. doc8 --ignore D001 --ignore-path .tox --ignore-path doc/build --ignore-path manila.egg-info -e txt -e rst +[testenv:bindep] +# Do not install any requirements. We want this to be fast and work even if +# system dependencies are missing, since it's used to tell you what system +# dependencies are missing! This also means that bindep must be installed +# separately, outside of the requirements files, and develop mode disabled +# explicitly to avoid unnecessarily installing the checked-out repo too (this +# further relies on "tox.skipsdist = True" above). +basepython = python3 +deps = bindep +commands = bindep test +usedevelop = False + [testenv:cover] commands = {toxinidir}/tools/cover.sh {posargs}