From 0ca9567c4a6ab793dc50e5d45514fe12d2282419 Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Tue, 28 Nov 2017 11:10:20 -0500 Subject: [PATCH] Provide bindep_profile in openstack-tox job setup Oslo.messaging uses a single bindep.txt to define common and driver dependencies. The bindep_profile is used by the bindep role to select the driver specific packages. This patch: * Add bindep_profile var to jobs * Add kafka dependencies * update test-setup for use by amqp1 Depends-On: I6beb7b07a7dbc345e63e758ebbc86400e0ee16d3 Change-Id: Ib552152e841a9fc0bffdcb7c3f7bc75613d0ed62 --- .zuul.yaml | 8 ++++++++ bindep.txt | 6 ++++++ tools/test-setup.sh | 16 +++++++--------- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/.zuul.yaml b/.zuul.yaml index daa2d5440..3ead3b4d8 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -9,36 +9,42 @@ parent: openstack-tox-py27 vars: tox_envlist: py27-func-kafka + bindep_profile: kafka - job: name: oslo.messaging-tox-py27-func-pika parent: openstack-tox-py27 vars: tox_envlist: py27-func-pika + bindep_profile: pika - job: name: oslo.messaging-tox-py27-func-rabbit parent: openstack-tox-py27 vars: tox_envlist: py27-func-rabbit + bindep_profile: rabbit - job: name: oslo.messaging-tox-py27-func-zmq parent: openstack-tox-py27 vars: tox_envlist: py27-func-zmq + bindep_profile: zmq - job: name: oslo.messaging-tox-py27-func-zmq-proxy parent: openstack-tox-py27 vars: tox_envlist: py27-func-zmq-proxy + bindep_profile: zmq - job: name: oslo.messaging-tox-py27-func-zmq-pubsub parent: openstack-tox-py27 vars: tox_envlist: py27-func-zmq-pubsub + bindep_profile: zmq - job: name: oslo.messaging-tox-py35-func-amqp1 @@ -51,12 +57,14 @@ parent: openstack-tox-py35 vars: tox_envlist: py35-func-rabbit + bindep_profile: rabbit - job: name: oslo.messaging-tox-py35-func-zmq parent: openstack-tox-py35 vars: tox_envlist: py35-func-zmq + bindep_profile: zmq - job: name: oslo.messaging-src-dsvm-full-rabbit-default diff --git a/bindep.txt b/bindep.txt index e3e52b4c3..57f151cd7 100644 --- a/bindep.txt +++ b/bindep.txt @@ -34,3 +34,9 @@ cyrus-sasl-lib [platform:rpm amqp1] cyrus-sasl-plain [platform:rpm amqp1] libuuid-devel [platform:rpm amqp1] swig [platform:rpm amqp1] + +# kafka dpkg +openjdk-8-jdk [platform:dpkg kafka] + +# kafka rpm +java-1.8.0-openjdk [platform:rpm kafka] diff --git a/tools/test-setup.sh b/tools/test-setup.sh index b2fffb55f..0d49f7f2b 100755 --- a/tools/test-setup.sh +++ b/tools/test-setup.sh @@ -4,7 +4,7 @@ # it sets up the test system as needed. # Developer should setup their test systems in a similar way. -# This setup needs to be run by a user that can run sudo. +# This setup for amqp1 needs to be run by a user that can run sudo. function is_fedora { [ -f /usr/bin/yum ] && cat /etc/*release | grep -q -e "Fedora" @@ -14,14 +14,12 @@ function is_fedora { # because tox doesn't have a quiet option... tox -ebindep --notest -# TODO(kgiusti) for now install all profile deps, need to fix this to -# install only the deps needed by the particular test's profile -PROFILES="rabbit zmq amqp1" -PACKAGES= -for PROFILE in $PROFILES; do - # NOTE(sileht): bindep return 1 if some packages have to be installed - PACKAGES="$PACKAGES $(.tox/bindep/bin/bindep -b -f bindep.txt $PROFILE || true)" -done +# TODO(ansmith) for now setup amqp1 dependencies for any profile. +# Fix this when test-setup is passed environment profile setting. + +# NOTE(sileht): bindep return 1 if some packages have to be installed +PACKAGES="$(.tox/bindep/bin/bindep -b -f bindep.txt amqp1 || true)" + [ -n "$PACKAGES" ] || exit 0 # inspired from project-config install-distro-packages.sh