aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ansible/site.yml3
-rw-r--r--docker/healthcheck/Dockerfile12
-rw-r--r--docker/healthcheck/testcases.yaml15
-rw-r--r--docker/smoke/Dockerfile17
-rw-r--r--docker/smoke/testcases.yaml31
-rw-r--r--docs/release/release-notes/functest-release.rst3
-rw-r--r--functest/ci/testcases.yaml46
-rw-r--r--functest/opnfv_tests/openstack/tempest/tempest.py15
-rw-r--r--functest/utils/env.py3
-rw-r--r--setup.cfg1
10 files changed, 141 insertions, 5 deletions
diff --git a/ansible/site.yml b/ansible/site.yml
index 227d6b2b9..294b2bc15 100644
--- a/ansible/site.yml
+++ b/ansible/site.yml
@@ -51,9 +51,12 @@
- cinder_test
- odl
- tempest_smoke
+ - tempest_horizon
- container: functest-smoke
tests:
- neutron-tempest-plugin-api
+ - tempest_cinder
+ - tempest_keystone
- rally_sanity
- refstack_compute
- refstack_object
diff --git a/docker/healthcheck/Dockerfile b/docker/healthcheck/Dockerfile
index 451115cad..1876b5e43 100644
--- a/docker/healthcheck/Dockerfile
+++ b/docker/healthcheck/Dockerfile
@@ -3,6 +3,7 @@ FROM opnfv/functest-core
ARG BRANCH=master
ARG OPENSTACK_TAG=master
ARG ODL_TAG=85448c9d97b89989488e675b29b38ac42d8674e4
+ARG TEMPEST_HORIZON_TAG=master
COPY thirdparty-requirements.txt thirdparty-requirements.txt
RUN apk --no-cache add --virtual .build-deps --update \
@@ -12,14 +13,19 @@ RUN apk --no-cache add --virtual .build-deps --update \
case $(uname -m) in aarch*|arm*) sed -i -E /^PyNaCl=/d upper-constraints.txt ;; esac && \
wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH > upper-constraints.opnfv.txt && \
sed -i -E /#egg=functest/d upper-constraints.opnfv.txt && \
+ git init /src/tempest-horizon && \
+ (cd /src/tempest-horizon && \
+ git fetch --tags https://opendev.org/openstack/tempest-horizon.git $TEMPEST_HORIZON_TAG && \
+ git checkout FETCH_HEAD) && \
+ update-requirements -s --source /src/openstack-requirements /src/tempest-horizon/ && \
pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \
- -rthirdparty-requirements.txt && \
+ /src/tempest-horizon -rthirdparty-requirements.txt && \
git init /src/odl_test && \
(cd /src/odl_test && \
git fetch --tags https://git.opendaylight.org/gerrit/integration/test $ODL_TAG && \
git checkout FETCH_HEAD) && \
- rm -r /src/odl_test/.git thirdparty-requirements.txt upper-constraints.txt \
- upper-constraints.opnfv.txt && \
+ rm -r /src/odl_test/.git /src/tempest-horizon/ thirdparty-requirements.txt \
+ upper-constraints.txt upper-constraints.opnfv.txt && \
apk del .build-deps
COPY testcases.yaml /usr/lib/python3.7/site-packages/xtesting/ci/testcases.yaml
CMD ["run_tests", "-t", "all"]
diff --git a/docker/healthcheck/testcases.yaml b/docker/healthcheck/testcases.yaml
index 5aac7010e..c2a66494d 100644
--- a/docker/healthcheck/testcases.yaml
+++ b/docker/healthcheck/testcases.yaml
@@ -162,3 +162,18 @@ tiers:
mode: '(?=.*\[.*\bsmoke\b.*\])(^tempest\.api)'
option:
- '--concurrency=4'
+
+ -
+ case_name: tempest_horizon
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Tempest suite proposed by the
+ Horizon project.
+ dependencies:
+ - DASHBOARD_URL: '^(?!\s*$).+'
+ run:
+ name: tempest_horizon
+ args:
+ mode: '^tempest_horizon.'
diff --git a/docker/smoke/Dockerfile b/docker/smoke/Dockerfile
index 1de3ff696..39e7be464 100644
--- a/docker/smoke/Dockerfile
+++ b/docker/smoke/Dockerfile
@@ -5,10 +5,13 @@ ARG OPENSTACK_TAG=master
ARG REFSTACK_TARGET=2018.11
ARG PATROLE_TAG=master
ARG NEUTRON_TEMPEST_TAG=master
+ARG CINDER_TEMPEST_TAG=master
+ARG KEYSTONE_TEMPEST_TAG=master
ARG BARBICAN_TAG=master
ARG OCTAVIA_TAG=master
-RUN apk --no-cache add --virtual .build-deps --update \
+RUN apk --no-cache add --update libxml2 libxslt && \
+ apk --no-cache add --virtual .build-deps --update \
python3-dev build-base linux-headers libffi-dev \
openssl-dev libjpeg-turbo-dev libxml2-dev libxslt-dev && \
wget -q -O- https://opendev.org/openstack/requirements/raw/branch/$OPENSTACK_TAG/upper-constraints.txt > upper-constraints.txt && \
@@ -26,6 +29,16 @@ RUN apk --no-cache add --virtual .build-deps --update \
git fetch --tags https://git.openstack.org/openstack/neutron-tempest-plugin.git $NEUTRON_TEMPEST_TAG && \
git checkout FETCH_HEAD) && \
update-requirements -s --source /src/openstack-requirements /src/neutron-tempest-plugin && \
+ git init /src/cinder-tempest-plugin && \
+ (cd /src/cinder-tempest-plugin && \
+ git fetch --tags https://git.openstack.org/openstack/cinder-tempest-plugin.git $CINDER_TEMPEST_TAG && \
+ git checkout FETCH_HEAD) && \
+ update-requirements -s --source /src/openstack-requirements /src/cinder-tempest-plugin && \
+ git init /src/keystone-tempest-plugin && \
+ (cd /src/keystone-tempest-plugin && \
+ git fetch --tags https://git.openstack.org/openstack/keystone-tempest-plugin.git $KEYSTONE_TEMPEST_TAG && \
+ git checkout FETCH_HEAD) && \
+ update-requirements -s --source /src/openstack-requirements /src/keystone-tempest-plugin && \
git init /src/barbican-tempest-plugin && \
(cd /src/barbican-tempest-plugin && \
git fetch --tags https://opendev.org/openstack/barbican-tempest-plugin.git $BARBICAN_TAG && \
@@ -38,6 +51,7 @@ RUN apk --no-cache add --virtual .build-deps --update \
update-requirements -s --source /src/openstack-requirements /src/octavia-tempest-plugin && \
pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \
/src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \
+ /src/cinder-tempest-plugin /src/keystone-tempest-plugin \
/src/octavia-tempest-plugin && \
mkdir -p /home/opnfv/functest/data/refstack && \
mkdir -p /etc/neutron /etc/cinder /etc/glance /etc/keystone /etc/nova && \
@@ -49,6 +63,7 @@ RUN apk --no-cache add --virtual .build-deps --update \
deactivate && \
rm -r oslo upper-constraints.txt upper-constraints.opnfv.txt \
/src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \
+ /src/cinder-tempest-plugin /src/keystone-tempest-plugin \
/src/octavia-tempest-plugin /src/neutron && \
apk del .build-deps
COPY compute.txt /home/opnfv/functest/data/refstack/compute.txt
diff --git a/docker/smoke/testcases.yaml b/docker/smoke/testcases.yaml
index cb5e6ea9c..85dc9969f 100644
--- a/docker/smoke/testcases.yaml
+++ b/docker/smoke/testcases.yaml
@@ -24,6 +24,37 @@ tiers:
- '--concurrency=4'
-
+ case_name: tempest_cinder
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Tempest suite proposed by the
+ Cinder project.
+ run:
+ name: tempest_common
+ args:
+ mode:
+ '(?!.*test_incremental_backup)(^cinder_tempest_plugin.)'
+ option:
+ - '--concurrency=4'
+
+ -
+ case_name: tempest_keystone
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Tempest suite proposed by the
+ Keystone project.
+ run:
+ name: tempest_common
+ args:
+ mode: 'keystone_tempest_plugin.'
+ option:
+ - '--concurrency=4'
+
+ -
case_name: rally_sanity
project_name: functest
criteria: 100
diff --git a/docs/release/release-notes/functest-release.rst b/docs/release/release-notes/functest-release.rst
index 1f5d80d81..f547ef99b 100644
--- a/docs/release/release-notes/functest-release.rst
+++ b/docs/release/release-notes/functest-release.rst
@@ -33,8 +33,11 @@ The internal test cases are:
* vping_userdata
* cinder_test
* tempest_smoke
+ * tempest_horizon
* odl
* neutron-tempest-plugin-api
+ * tempest_cinder
+ * tempest_keystone
* rally_sanity
* refstack_compute
* refstack_object
diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml
index 53d9124eb..a49a79b16 100644
--- a/functest/ci/testcases.yaml
+++ b/functest/ci/testcases.yaml
@@ -163,6 +163,21 @@ tiers:
option:
- '--concurrency=4'
+ -
+ case_name: tempest_horizon
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Tempest suite proposed by the
+ Horizon project.
+ dependencies:
+ - DASHBOARD_URL: '^(?!\s*$).+'
+ run:
+ name: tempest_horizon
+ args:
+ mode: '^tempest_horizon.'
+
-
name: smoke
order: 1
@@ -187,6 +202,37 @@ tiers:
- '--concurrency=4'
-
+ case_name: tempest_cinder
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Tempest suite proposed by the
+ Cinder project.
+ run:
+ name: tempest_common
+ args:
+ mode:
+ '(?!.*test_incremental_backup)(^cinder_tempest_plugin.)'
+ option:
+ - '--concurrency=4'
+
+ -
+ case_name: tempest_keystone
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Tempest suite proposed by the
+ Keystone project.
+ run:
+ name: tempest_common
+ args:
+ mode: 'keystone_tempest_plugin.'
+ option:
+ - '--concurrency=4'
+
+ -
case_name: rally_sanity
project_name: functest
criteria: 100
diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py
index d30d59468..c2bb76876 100644
--- a/functest/opnfv_tests/openstack/tempest/tempest.py
+++ b/functest/opnfv_tests/openstack/tempest/tempest.py
@@ -661,3 +661,18 @@ class TempestScenario(TempestCommon):
instances=self.quota_instances,
cores=self.quota_cores)
return super(TempestScenario, self).run(**kwargs)
+
+
+class TempestHorizon(TempestCommon):
+ """Tempest Horizon testcase implementation class."""
+
+ def configure(self, **kwargs):
+ super(TempestHorizon, self).configure(**kwargs)
+ rconfig = configparser.RawConfigParser()
+ rconfig.read(self.conf_file)
+ if not rconfig.has_section('dashboard'):
+ rconfig.add_section('dashboard')
+ rconfig.set('dashboard', 'dashboard_url', env.get('DASHBOARD_URL'))
+ with open(self.conf_file, 'w') as config_file:
+ rconfig.write(config_file)
+ self.backup_tempest_config(self.conf_file, self.res_dir)
diff --git a/functest/utils/env.py b/functest/utils/env.py
index 85676ed57..5aebbbe0c 100644
--- a/functest/utils/env.py
+++ b/functest/utils/env.py
@@ -38,7 +38,8 @@ INPUTS = {
'BLOCK_MIGRATION': 'True',
'CLEAN_ORPHAN_SECURITY_GROUPS': 'True',
'SKIP_DOWN_HYPERVISORS': 'False',
- 'PUBLIC_ENDPOINT_ONLY': 'False'
+ 'PUBLIC_ENDPOINT_ONLY': 'False',
+ 'DASHBOARD_URL': ''
}
diff --git a/setup.cfg b/setup.cfg
index 3e35cfc37..fb2596510 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -27,6 +27,7 @@ xtesting.testcase =
odl = functest.opnfv_tests.sdn.odl.odl:ODLTests
tempest_common = functest.opnfv_tests.openstack.tempest.tempest:TempestCommon
tempest_scenario = functest.opnfv_tests.openstack.tempest.tempest:TempestScenario
+ tempest_horizon = functest.opnfv_tests.openstack.tempest.tempest:TempestHorizon
rally_sanity = functest.opnfv_tests.openstack.rally.rally:RallySanity
refstack = functest.opnfv_tests.openstack.refstack.refstack:Refstack
patrole = functest.opnfv_tests.openstack.patrole.patrole:Patrole