Bundle tempest plugins in tempest container

* It includes barbican, blazar, cinder, congress, heat,
  ironic, keystone, mistral, magnum, murano, monasca, manila,
  neutron, patrole, telemetry, trove, vitrage, watcher,
  tripleo-common, sahara, and zaqar tempest plugins.
* By using service_available config an user enable or disable
  a tempest plugin as well as run the tempest plugin tests.

Co-Authored-By: Martin André <m.andre@redhat.com>
Change-Id: I95a4be6cf1d56bd6f6a7c3cfa057ff8db1ca03fb
This commit is contained in:
Chandan Kumar 2018-01-25 14:25:41 +05:30
parent d37036a6e2
commit ea262264c6
2 changed files with 89 additions and 5 deletions

View File

@ -7,10 +7,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if install_type == 'binary' %} {% if install_type == 'binary' %}
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
{% set tempest_packages = ['openstack-tempest'] %} {% set tempest_packages = ['openstack-tempest-all'] %}
{{ macros.install_packages(tempest_packages | customizable("packages")) }} {{ macros.install_packages(tempest_packages | customizable("packages")) }}
RUN ln -sf /usr/share/openstack-tempest-* /tempest RUN ln -sf /usr/share/openstack-tempest /tempest
{% elif base_distro in ['debian', 'ubuntu'] %} {% elif base_distro in ['debian', 'ubuntu'] %}
{% set tempest_packages = ['tempest'] %} {% set tempest_packages = ['tempest'] %}
@ -29,7 +29,7 @@ ADD plugins-archive /
'/tempest' '/tempest'
] %} ] %}
{% set tempest_base_plugins_pip_packages = [ {% set tempest_plugins_pip_packages = [
'/plugins/*' '/plugins/*'
] %} ] %}
@ -39,7 +39,7 @@ RUN ln -s tempest-source/* tempest \
&& sed -i 's/^tempest===.*$//' requirements/upper-constraints.txt \ && sed -i 's/^tempest===.*$//' requirements/upper-constraints.txt \
&& {{ macros.install_pip(tempest_pip_packages | customizable("pip_packages")) }} \ && {{ macros.install_pip(tempest_pip_packages | customizable("pip_packages")) }} \
&& if [ "$(ls /plugins)" ]; then \ && if [ "$(ls /plugins)" ]; then \
{{ macros.install_pip(tempest_base_plugins_pip_packages) }}; \ {{ macros.install_pip(tempest_plugins_pip_packages) }}; \
fi \ fi \
&& mkdir -p /etc/tempest /var/log/tempest /etc/tempest/tempest_lock && mkdir -p /etc/tempest /var/log/tempest /etc/tempest/tempest_lock

View File

@ -628,7 +628,91 @@ SOURCES = {
'tempest-plugin-tempest-conf': { 'tempest-plugin-tempest-conf': {
'type': 'url', 'type': 'url',
'location': ('$tarballs_base/python-tempestconf/' 'location': ('$tarballs_base/python-tempestconf/'
'python-tempestconf-1.1.4.tar.gz')}, 'python-tempestconf-master.tar.gz')},
'tempest-plugin-barbican': {
'type': 'url',
'location': ('$tarballs_base/barbican-tempest-plugin/'
'barbican-tempest-plugin-master.tar.gz')},
'tempest-plugin-blazar': {
'type': 'url',
'location': ('$tarballs_base/blazar-tempest-plugin/'
'blazar-tempest-plugin-master.tar.gz')},
'tempest-plugin-cinder': {
'type': 'url',
'location': ('$tarballs_base/cinder-tempest-plugin/'
'cinder-tempest-plugin-master.tar.gz')},
'tempest-plugin-congress': {
'type': 'url',
'location': ('$tarballs_base/congress-tempest-plugin/'
'congress-tempest-plugin-master.tar.gz')},
'tempest-plugin-ec2api': {
'type': 'url',
'location': ('$tarballs_base/ec2api-tempest-plugin/'
'ec2api-tempest-plugin-master.tar.gz')},
'tempest-plugin-heat': {
'type': 'url',
'location': ('$tarballs_base/heat-tempest-plugin/'
'heat-tempest-plugin-master.tar.gz')},
'tempest-plugin-ironic': {
'type': 'url',
'location': ('$tarballs_base/ironic-tempest-plugin/'
'ironic-tempest-plugin-master.tar.gz')},
'tempest-plugin-keystone': {
'type': 'url',
'location': ('$tarballs_base/keystone-tempest-plugin/'
'keystone-tempest-plugin-master.tar.gz')},
'tempest-plugin-magnum': {
'type': 'url',
'location': ('$tarballs_base/magnum-tempest-plugin/'
'magnum-tempest-plugin-master.tar.gz')},
'tempest-plugin-manila': {
'type': 'url',
'location': ('$tarballs_base/manila-tempest-plugin/'
'manila-tempest-plugin-master.tar.gz')},
'tempest-plugin-mistral': {
'type': 'url',
'location': ('$tarballs_base/mistral-tempest-plugin/'
'mistral-tempest-plugin-master.tar.gz')},
'tempest-plugin-monasca': {
'type': 'url',
'location': ('$tarballs_base/monasca-tempest-plugin/'
'monasca-tempest-plugin-master.tar.gz')},
'tempest-plugin-murano': {
'type': 'url',
'location': ('$tarballs_base/murano-tempest-plugin/'
'murano-tempest-plugin-master.tar.gz')},
'tempest-plugin-neutron': {
'type': 'url',
'location': ('$tarballs_base/neutron-tempest-plugin/'
'neutron-tempest-plugin-master.tar.gz')},
'tempest-plugin-patrole': {
'type': 'url',
'location': ('$tarballs_base/patrole/'
'patrole-master.tar.gz')},
'tempest-plugin-telemetry': {
'type': 'url',
'location': ('$tarballs_base/telemetry-tempest-plugin/'
'telemetry-tempest-plugin-master.tar.gz')},
'tempest-plugin-tripleo-common': {
'type': 'url',
'location': ('$tarballs_base/tripleo-common-tempest-plugin/'
'tripleo-common-tempest-plugin-master.tar.gz')},
'tempest-plugin-trove': {
'type': 'url',
'location': ('$tarballs_base/trove-tempest-plugin/'
'trove-tempest-plugin-master.tar.gz')},
'tempest-plugin-vitrage': {
'type': 'url',
'location': ('$tarballs_base/vitrage-tempest-plugin/'
'vitrage-tempest-plugin-master.tar.gz')},
'tempest-plugin-watcher': {
'type': 'url',
'location': ('$tarballs_base/watcher-tempest-plugin/'
'watcher-tempest-plugin-master.tar.gz')},
'tempest-plugin-zaqar': {
'type': 'url',
'location': ('$tarballs_base/zaqar-tempest-plugin/'
'zaqar-tempest-plugin-master.tar.gz')},
'rally': { 'rally': {
'type': 'url', 'type': 'url',
'location': ('$tarballs_base/rally/' 'location': ('$tarballs_base/rally/'