aboutsummaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
Diffstat (limited to 'docker')
-rw-r--r--docker/benchmarking-cntt/Dockerfile4
-rw-r--r--docker/benchmarking-cntt/testcases.yaml5
-rw-r--r--docker/benchmarking/Dockerfile28
-rw-r--r--docker/benchmarking/hooks/post_checkout2
-rw-r--r--docker/benchmarking/testcases.yaml7
-rw-r--r--docker/core/Dockerfile56
-rw-r--r--docker/core/Switch-to-threading.Thread-for-Rally-tasks.patch49
-rw-r--r--docker/core/Try-to-detect-the-race-conditions.patch285
-rw-r--r--docker/healthcheck/Dockerfile21
-rw-r--r--docker/healthcheck/testcases.yaml11
-rw-r--r--docker/smoke-cntt/Dockerfile4
-rw-r--r--docker/smoke-cntt/tempest_conf.yaml21
-rw-r--r--docker/smoke-cntt/testcases.yaml69
-rw-r--r--docker/smoke/Dockerfile78
-rw-r--r--docker/smoke/compute.txt62
-rw-r--r--docker/smoke/hooks/post_checkout2
-rw-r--r--docker/smoke/object.txt5
-rw-r--r--docker/smoke/platform.txt67
-rw-r--r--docker/smoke/testcases.yaml201
-rw-r--r--docker/vnf/Dockerfile48
-rw-r--r--docker/vnf/hooks/post_checkout2
-rw-r--r--docker/vnf/testcases.yaml9
22 files changed, 534 insertions, 502 deletions
diff --git a/docker/benchmarking-cntt/Dockerfile b/docker/benchmarking-cntt/Dockerfile
index 2f4e0dbee..46acaa036 100644
--- a/docker/benchmarking-cntt/Dockerfile
+++ b/docker/benchmarking-cntt/Dockerfile
@@ -1,5 +1,5 @@
FROM opnfv/functest-benchmarking
-COPY testcases.yaml /usr/lib/python3.8/site-packages/xtesting/ci/testcases.yaml
-COPY blacklist.yaml /usr/lib/python3.8/site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml
+COPY testcases.yaml /etc/xtesting/testcases.yaml
+COPY blacklist.yaml /src/functest/functest/opnfv_tests/openstack/rally/blacklist.yaml
CMD ["run_tests", "-t", "all"]
diff --git a/docker/benchmarking-cntt/testcases.yaml b/docker/benchmarking-cntt/testcases.yaml
index c416e83b1..30eb3e631 100644
--- a/docker/benchmarking-cntt/testcases.yaml
+++ b/docker/benchmarking-cntt/testcases.yaml
@@ -1,8 +1,7 @@
---
tiers:
-
- name: benchmarking
- order: 2
+ name: benchmarking_cntt
description: >-
Run several OpenStack performance tools
https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
@@ -51,8 +50,6 @@ tiers:
VMTP is a small python application that will automatically
perform ping connectivity, round trip time measurement
(latency) and TCP/UDP throughput
- dependencies:
- - POD_ARCH: '^(?!aarch64$)'
run:
name: vmtp
diff --git a/docker/benchmarking/Dockerfile b/docker/benchmarking/Dockerfile
index c85ddf643..d0957f6b8 100644
--- a/docker/benchmarking/Dockerfile
+++ b/docker/benchmarking/Dockerfile
@@ -1,36 +1,30 @@
FROM opnfv/functest-core
-ARG BRANCH=master
-ARG OPENSTACK_TAG=master
-ARG VMTP_TAG=master
+ARG VMTP_TAG=34a82c9f3598ec7f5d8de0a6d5139b92931db4cc
ARG NEUTRON_TAG=master
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 && \
- sed -i -E /^tempest==+.*$/d upper-constraints.txt && \
- 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 && \
- sed -i -E /#egg=rally/d upper-constraints.opnfv.txt && \
- case $(uname -m) in aarch*|arm*) CFLAGS="-O0" pip3 install --no-cache-dir -cupper-constraints.txt -cupper-constraints.opnfv.txt lxml ;; esac && \
+ case $(uname -m) in aarch*|arm*) CFLAGS="-O0" \
+ pip3 install --use-deprecated=legacy-resolver --no-cache-dir -c/src/requirements/upper-constraints.txt \
+ -c/src/functest/upper-constraints.txt lxml ;; esac && \
git init /src/vmtp && \
(cd /src/vmtp && \
git fetch --tags https://review.opendev.org/x/vmtp.git $VMTP_TAG && \
git checkout FETCH_HEAD) && \
- update-requirements -s --source /src/openstack-requirements /src/vmtp/ && \
- sed -i -E s/^tempest==+.*$/-e\ git+https:\\/\\/opendev.org\\/openstack\\/tempest#egg=tempest/ upper-constraints.txt && \
- pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \
+ update-requirements -s --source /src/requirements /src/vmtp/ && \
+ pip3 install --use-deprecated=legacy-resolver --no-cache-dir --src /src -c/src/requirements/upper-constraints.txt \
+ -c/src/functest/upper-constraints.txt \
/src/vmtp && \
- mkdir -p /home/opnfv/functest/data/rally/neutron && \
+ mkdir -p /home/opnfv/functest/data/rally/neutron/rally-jobs && \
git init /src/neutron && \
(cd /src/neutron && \
git fetch --tags https://opendev.org/openstack/neutron.git $NEUTRON_TAG && \
git checkout FETCH_HEAD) && \
- cp -r /src/neutron/rally-jobs /home/opnfv/functest/data/rally/neutron/rally-jobs && \
- rm -r upper-constraints.txt upper-constraints.opnfv.txt /src/vmtp /src/neutron && \
+ cp /src/neutron/rally-jobs/task-neutron.yaml /home/opnfv/functest/data/rally/neutron/rally-jobs/ && \
+ rm -r /src/vmtp /src/neutron && \
apk del .build-deps
-COPY testcases.yaml /usr/lib/python3.8/site-packages/xtesting/ci/testcases.yaml
+COPY testcases.yaml /etc/xtesting/testcases.yaml
CMD ["run_tests", "-t", "all"]
diff --git a/docker/benchmarking/hooks/post_checkout b/docker/benchmarking/hooks/post_checkout
index 8d0e98124..c347524ea 100644
--- a/docker/benchmarking/hooks/post_checkout
+++ b/docker/benchmarking/hooks/post_checkout
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}"
sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
diff --git a/docker/benchmarking/testcases.yaml b/docker/benchmarking/testcases.yaml
index 45a4a3576..c84d3a00f 100644
--- a/docker/benchmarking/testcases.yaml
+++ b/docker/benchmarking/testcases.yaml
@@ -2,7 +2,6 @@
tiers:
-
name: benchmarking
- order: 2
description: >-
Run several OpenStack performance tools
https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
@@ -30,6 +29,8 @@ tiers:
description: >-
This test case runs a group of Rally jobs used in
OpenStack gating
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: rally_jobs
args:
@@ -46,7 +47,7 @@ tiers:
perform ping connectivity, round trip time measurement
(latency) and TCP/UDP throughput
dependencies:
- - POD_ARCH: '^(?!aarch64$)'
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: vmtp
@@ -60,5 +61,7 @@ tiers:
like iperf, iperf3 and netperf (with help of flent). Shaker
is able to deploy OpenStack instances and networks in
different topologies.
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: shaker
diff --git a/docker/core/Dockerfile b/docker/core/Dockerfile
index e5481d0ac..2715cce39 100644
--- a/docker/core/Dockerfile
+++ b/docker/core/Dockerfile
@@ -1,37 +1,47 @@
-FROM alpine:3.11
+FROM alpine:3.16
ARG BRANCH=master
ARG OPENSTACK_TAG=master
-COPY Try-to-detect-the-race-conditions.patch /tmp/Try-to-detect-the-race-conditions.patch
-RUN apk --no-cache add --update \
- python3 libffi openssl libjpeg-turbo py3-pip bash \
- grep sed wget ca-certificates git openssh-client qemu-img iputils coreutils mailcap libstdc++ && \
+COPY Switch-to-threading.Thread-for-Rally-tasks.patch /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch
+RUN apk -U upgrade && \
+ apk --no-cache add --update \
+ python3 py3-wheel libffi openssl libjpeg-turbo py3-pip bash \
+ grep sed wget ca-certificates git openssh-client qemu-img iputils coreutils mailcap libstdc++ \
+ libxml2 libxslt && \
apk --no-cache add --virtual .build-deps --update \
python3-dev build-base linux-headers libffi-dev \
- openssl-dev libjpeg-turbo-dev && \
- wget -q -O- https://opendev.org/openstack/requirements/raw/branch/$OPENSTACK_TAG/upper-constraints.txt > upper-constraints.txt && \
- case $(uname -m) in aarch*|arm*) sed -i -E /^PyNaCl=/d upper-constraints.txt && apk add --no-cache py3-pynacl ;; 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 && \
- sed -i -E /^tempest==+.*$/d upper-constraints.txt && \
- pip3 install --no-cache-dir --src /src -cupper-constraints.opnfv.txt -cupper-constraints.txt \
- -e git+https://opendev.org/openstack/requirements@$OPENSTACK_TAG#egg=openstack_requirements && \
+ openssl-dev libjpeg-turbo-dev rust cargo \
+ libxml2-dev libxslt-dev && \
+ git init /src/requirements && \
+ (cd /src/requirements && \
+ git fetch --tags https://review.opendev.org/openstack/requirements $OPENSTACK_TAG && \
+ git checkout FETCH_HEAD) && \
git init /src/functest && \
(cd /src/functest && \
git fetch --tags https://gerrit.opnfv.org/gerrit/functest $BRANCH && \
git checkout FETCH_HEAD) && \
- update-requirements -s --source /src/openstack-requirements /src/functest && \
- pip3 install --no-cache-dir --src /src -cupper-constraints.opnfv.txt -cupper-constraints.txt \
- /src/functest && \
- (cd /src/rally && patch -p1 < /tmp/Try-to-detect-the-race-conditions.patch) && \
- rm -r upper-constraints.txt upper-constraints.opnfv.txt /src/functest \
- /tmp/Try-to-detect-the-race-conditions.patch && \
- cp /usr/lib/python3.8/site-packages/functest/ci/logging.ini /usr/lib/python3.8/site-packages/xtesting/ci/ && \
- cp /usr/lib/python3.8/site-packages/functest/ci/logging.debug.ini /usr/lib/python3.8/site-packages/xtesting/ci/ && \
- bash -c "mkdir -p /var/lib/xtesting /home/opnfv" && \
+ sed -i -E /^tempest==+.*$/d /src/requirements/upper-constraints.txt && \
+ sed -i -E /^packaging==+.*$/d /src/requirements/upper-constraints.txt && \
+ case $(uname -m) in aarch*|arm*) sed -i -E /^PyNaCl=/d /src/requirements/upper-constraints.txt && apk add --no-cache py3-pynacl ;; esac && \
+ sed -i -E /#egg=functest/d /src/functest/upper-constraints.txt && \
+ pip3 install --use-deprecated=legacy-resolver --no-cache-dir --src /src -c/src/functest/upper-constraints.txt -c/src/requirements/upper-constraints.txt \
+ -e /src/requirements && \
+ update-requirements -s --source /src/requirements /src/functest && \
+ pip3 install --use-deprecated=legacy-resolver --no-cache-dir --src /src -c/src/functest/upper-constraints.txt -c/src/requirements/upper-constraints.txt \
+ -e /src/functest && \
+ (cd /src/rally && patch -p1 < /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch) && \
+ sed -i -E /#egg=rally/d /src/functest/upper-constraints.txt && \
+ sed -i -E /#egg=tempest/d /src/functest/upper-constraints.txt && \
+ rm -r /src/requirements/.git /src/functest/.git \
+ /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch && \
+ mkdir -p /etc/xtesting && \
+ cp /src/functest/functest/ci/logging.ini /etc/xtesting/ && \
+ cp /src/functest/functest/ci/logging.debug.ini /etc/xtesting/ && \
+ sh -c "mkdir -p /var/lib/xtesting /home/opnfv" && \
ln -s /var/lib/xtesting /home/opnfv/functest && \
- bash -c "mkdir -p /home/opnfv/functest{/conf,/data,/images,/results} /home/opnfv/repos/vnfs" && \
+ sh -c "mkdir -p /home/opnfv/functest/conf /home/opnfv/functest/conf/data /home/opnfv/functest/conf/images /home/opnfv/functest/conf/results && \
+ mkdir -p /home/opnfv/repos/vnfs" && \
mkdir -p /etc/rally && \
printf "[database]\nconnection = 'sqlite:////var/lib/rally/database/rally.sqlite'\n" > /etc/rally/rally.conf && \
printf "\n[openstack]\nneutron_bind_l2_agent_types = Open vSwitch agent,Linux bridge agent,OVN Controller Gateway agent\n" >> /etc/rally/rally.conf && \
diff --git a/docker/core/Switch-to-threading.Thread-for-Rally-tasks.patch b/docker/core/Switch-to-threading.Thread-for-Rally-tasks.patch
new file mode 100644
index 000000000..a6d012730
--- /dev/null
+++ b/docker/core/Switch-to-threading.Thread-for-Rally-tasks.patch
@@ -0,0 +1,49 @@
+From 0d0ca00e56024a9919c150dbed62050d4c70b0c8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?C=C3=A9dric=20Ollivier?= <cedric.ollivier@orange.com>
+Date: Wed, 3 Jun 2020 15:23:59 +0200
+Subject: [PATCH] Switch to threading.Thread() for Rally tasks
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+multiprocessing.Process() often fails due to thread crashes [1].
+It looks similar to gsutil release notes [2].
+
+[1] https://build.opnfv.org/ci/job/functest-opnfv-functest-benchmarking-cntt-latest-rally_full_cntt-run/35/console
+[2] https://github.com/GoogleCloudPlatform/gsutil/issues/548
+[3] https://github.com/GoogleCloudPlatform/gsutil/blob/master/CHANGES.md
+
+Change-Id: I582933832e23d188c7fa5999e713dd5d7e82d2da
+Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
+---
+ rally/task/runner.py | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/rally/task/runner.py b/rally/task/runner.py
+index 3397e1193..5edebb406 100644
+--- a/rally/task/runner.py
++++ b/rally/task/runner.py
+@@ -17,6 +17,7 @@ import abc
+ import collections
+ import copy
+ import multiprocessing
++import threading
+ import time
+
+ from rally.common import logging
+@@ -186,9 +187,9 @@ class ScenarioRunner(plugin.Plugin, validation.ValidatablePluginMixin,
+ for i in range(processes_to_start):
+ kwrgs = {"processes_to_start": processes_to_start,
+ "processes_counter": i}
+- process = multiprocessing.Process(target=worker_process,
+- args=next(worker_args_gen),
+- kwargs={"info": kwrgs})
++ process = threading.Thread(target=worker_process,
++ args=next(worker_args_gen),
++ kwargs={"info": kwrgs})
+ process.start()
+ process_pool.append(process)
+
+--
+2.26.2
+
diff --git a/docker/core/Try-to-detect-the-race-conditions.patch b/docker/core/Try-to-detect-the-race-conditions.patch
deleted file mode 100644
index 8d0ad882d..000000000
--- a/docker/core/Try-to-detect-the-race-conditions.patch
+++ /dev/null
@@ -1,285 +0,0 @@
-From 29ed118b9dc63721e78c3040912c76f54054a1be Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?C=C3=A9dric=20Ollivier?= <cedric.ollivier@orange.com>
-Date: Thu, 30 Apr 2020 13:59:24 +0200
-Subject: [PATCH] Try to detect the race conditions
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Change-Id: I9b468ec1cf79e0a66abeb1fb48f5f0f067c2c198
-Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
----
- rally/plugins/task/runners/constant.py | 30 ++++++++++++++++++-
- .../task/scenarios/requests/http_requests.py | 9 ++++++
- .../plugins/task/scenarios/requests/utils.py | 9 ++++++
- rally/task/runner.py | 27 +++++++++++++++--
- rally/task/utils.py | 15 ++++++++++
- 5 files changed, 87 insertions(+), 3 deletions(-)
-
-diff --git a/rally/plugins/task/runners/constant.py b/rally/plugins/task/runners/constant.py
-index 5feb1fee1..38a01e28e 100644
---- a/rally/plugins/task/runners/constant.py
-+++ b/rally/plugins/task/runners/constant.py
-@@ -24,6 +24,10 @@ from rally.common import validation
- from rally import consts
- from rally.task import runner
-
-+from rally.common import cfg
-+from rally.common import logging
-+CONF = cfg.CONF
-+LOG = logging.getLogger(__file__)
-
- def _worker_process(queue, iteration_gen, timeout, concurrency, times,
- duration, context, cls, method_name, args, event_queue,
-@@ -55,6 +59,9 @@ def _worker_process(queue, iteration_gen, timeout, concurrency, times,
- """
- def _to_be_continued(iteration, current_duration, aborted, times=None,
- duration=None):
-+ LOG.warning(
-+ "!! _to_be_continued %(iteration)s %(current_duration)s %(aborted)s %(times)s %(duration)s !! " %
-+ {"iteration": iteration, "current_duration": current_duration, "aborted": aborted, "times": times, "duration": duration})
- if times is not None:
- return iteration < times and not aborted.is_set()
- elif duration is not None:
-@@ -82,6 +89,7 @@ def _worker_process(queue, iteration_gen, timeout, concurrency, times,
- collector_thr_by_timeout.start()
-
- iteration = next(iteration_gen)
-+ LOG.warning("!! iteration %(iteration)s !! " % {"iteration": iteration})
- start_time = time.time()
- # NOTE(msimonin): keep the previous behaviour
- # > when duration is 0, scenario executes exactly 1 time
-@@ -93,13 +101,25 @@ def _worker_process(queue, iteration_gen, timeout, concurrency, times,
- worker_args = (
- queue, cls, method_name, scenario_context, args, event_queue)
-
-+ LOG.warn(
-+ "Cedric _to_be_continued threading.Thread {} {}".format(
-+ runner._worker_thread, worker_args))
- thread = threading.Thread(target=runner._worker_thread,
- args=worker_args)
-
-+ LOG.warn(
-+ "Cedric _to_be_continued thread.start() {} {}".format(
-+ runner._worker_thread, worker_args))
- thread.start()
-+ LOG.warn(
-+ "Cedric _to_be_continued thread.start() {} {}".format(
-+ runner._worker_thread, worker_args))
- if timeout:
- timeout_queue.put((thread, time.time() + timeout))
- pool.append(thread)
-+ LOG.warn(
-+ "Cedric _to_be_continued pool.append {} {}".format(
-+ pool, thread))
- alive_threads_in_pool += 1
-
- while alive_threads_in_pool == concurrency:
-@@ -128,7 +148,14 @@ def _worker_process(queue, iteration_gen, timeout, concurrency, times,
-
- # Wait until all threads are done
- while pool:
-- pool.popleft().join()
-+ thr = pool.popleft()
-+ LOG.warn(
-+ "Cedric _worker_process wait_all_threads {} {} BEFORE JOIN".format(
-+ pool, thr))
-+ thr.join()
-+ LOG.warn(
-+ "Cedric _worker_process wait_all_threads {} {} AFTER JOIN".format(
-+ pool, thr))
-
- if timeout:
- timeout_queue.put((None, None,))
-@@ -340,3 +367,4 @@ class ConstantForDurationScenarioRunner(runner.ScenarioRunner):
- processes_to_start, _worker_process,
- worker_args_gen(concurrency_overhead))
- self._join_processes(process_pool, result_queue, event_queue)
-+
-diff --git a/rally/plugins/task/scenarios/requests/http_requests.py b/rally/plugins/task/scenarios/requests/http_requests.py
-index e85ee5af2..4afdf29f1 100644
---- a/rally/plugins/task/scenarios/requests/http_requests.py
-+++ b/rally/plugins/task/scenarios/requests/http_requests.py
-@@ -15,6 +15,11 @@ import random
- from rally.plugins.task.scenarios.requests import utils
- from rally.task import scenario
-
-+from rally.common import cfg
-+from rally.common import logging
-+CONF = cfg.CONF
-+LOG = logging.getLogger(__file__)
-+
-
- """Scenarios for HTTP requests."""
-
-@@ -34,6 +39,10 @@ class HttpRequestsCheckRequest(utils.RequestScenario):
- :param kwargs: optional additional request parameters
- """
-
-+ LOG.warn("Cedric run url {}".format(url))
-+ LOG.warn("Cedric run method {}".format(method))
-+ LOG.warn("Cedric run status_code {}".format(status_code))
-+ LOG.warn("Cedric run kwargs {}".format(kwargs))
- self._check_request(url, method, status_code, **kwargs)
-
-
-diff --git a/rally/plugins/task/scenarios/requests/utils.py b/rally/plugins/task/scenarios/requests/utils.py
-index 8fd35347a..cd69900a5 100644
---- a/rally/plugins/task/scenarios/requests/utils.py
-+++ b/rally/plugins/task/scenarios/requests/utils.py
-@@ -15,6 +15,11 @@ import requests
- from rally.task import atomic
- from rally.task import scenario
-
-+from rally.common import cfg
-+from rally.common import logging
-+CONF = cfg.CONF
-+LOG = logging.getLogger(__file__)
-+
-
- class RequestScenario(scenario.Scenario):
- """Base class for Request scenarios with basic atomic actions."""
-@@ -31,6 +36,10 @@ class RequestScenario(scenario.Scenario):
- not equal to expected status code
- """
-
-+ LOG.warn("Cedric _check_request url {}".format(url))
-+ LOG.warn("Cedric _check_request method {}".format(method))
-+ LOG.warn("Cedric _check_request status_code {}".format(status_code))
-+ LOG.warn("Cedric _check_request kwargs {}".format(kwargs))
- resp = requests.request(method, url, **kwargs)
- if status_code != resp.status_code:
- error_msg = "Expected HTTP request code is `%s` actual `%s`"
-diff --git a/rally/task/runner.py b/rally/task/runner.py
-index 3397e1193..57f9428f4 100644
---- a/rally/task/runner.py
-+++ b/rally/task/runner.py
-@@ -87,6 +87,11 @@ def _run_scenario_once(cls, method_name, context_obj, scenario_kwargs,
-
- def _worker_thread(queue, cls, method_name, context_obj, scenario_kwargs,
- event_queue):
-+ LOG.debug(
-+ "queue.put _run_scenario_once:\n\t%(cls)s\n\t%(method_name)s\n\t"
-+ "%(context_obj)s\n\t%(scenario_kwargs)s\n\t%(event_queue)s" %
-+ {"cls": cls, "method_name": method_name, "context_obj": context_obj,
-+ "scenario_kwargs": scenario_kwargs, "event_queue": event_queue})
- queue.put(_run_scenario_once(cls, method_name, context_obj,
- scenario_kwargs, event_queue))
-
-@@ -186,6 +191,8 @@ class ScenarioRunner(plugin.Plugin, validation.ValidatablePluginMixin,
- for i in range(processes_to_start):
- kwrgs = {"processes_to_start": processes_to_start,
- "processes_counter": i}
-+ LOG.warning(
-+ "!! _create_process_pool %(kwrgs)s !! " % {"kwrgs": kwrgs})
- process = multiprocessing.Process(target=worker_process,
- args=next(worker_args_gen),
- kwargs={"info": kwrgs})
-@@ -202,18 +209,26 @@ class ScenarioRunner(plugin.Plugin, validation.ValidatablePluginMixin,
- :param event_queue: multiprocessing.Queue that receives the events
- """
- while process_pool:
-+ LOG.warn("Cedric _join_processes process_pool {}".format(process_pool))
- while process_pool and not process_pool[0].is_alive():
-+ LOG.warn("Cedric _join_processes process_pool {}".format(process_pool))
- process_pool.popleft().join()
-
- if result_queue.empty() and event_queue.empty():
- # sleep a bit to avoid 100% usage of CPU by this method
-+ LOG.warn("Cedric _join_processes result_queue is empty {}".format(result_queue))
-+ LOG.warn("Cedric _join_processes event_queue is empty {}".format(event_queue))
- time.sleep(0.01)
-
- while not event_queue.empty():
-- self.send_event(**event_queue.get())
-+ col_event_queue = event_queue.get()
-+ LOG.warn("Cedric _join_processes event_queue is not empty {}".format(col_event_queue))
-+ self.send_event(**col_event_queue)
-
- while not result_queue.empty():
-- self._send_result(result_queue.get())
-+ col_result_queue = result_queue.get()
-+ LOG.warn("Cedric _join_processes result_queue is not empty {}".format(col_result_queue))
-+ self._send_result(col_result_queue)
-
- self._flush_results()
- result_queue.close()
-@@ -245,8 +260,13 @@ class ScenarioRunner(plugin.Plugin, validation.ValidatablePluginMixin,
- if len(self.result_batch) >= self.batch_size:
- sorted_batch = sorted(self.result_batch,
- key=lambda r: result["timestamp"])
-+ LOG.debug("result_queue.append:\n\t%(sorted_batch)s" % {
-+ "sorted_batch": sorted_batch
-+ })
- self.result_queue.append(sorted_batch)
- del self.result_batch[:]
-+ else:
-+ LOG.debug("WAHT DOEST IT MEAN? ")
-
- def send_event(self, type, value=None):
- """Store event to send it to consumer later.
-@@ -254,6 +274,9 @@ class ScenarioRunner(plugin.Plugin, validation.ValidatablePluginMixin,
- :param type: Event type
- :param value: Optional event data
- """
-+ LOG.debug("send_event:\n\t%(type)s\n\t%(value)s" % {
-+ "type": type, "value": value
-+ })
- self.event_queue.append({"type": type,
- "value": value})
-
-diff --git a/rally/task/utils.py b/rally/task/utils.py
-index 1252a1fc7..783adf3c6 100644
---- a/rally/task/utils.py
-+++ b/rally/task/utils.py
-@@ -176,6 +176,9 @@ def wait_for_status(resource, ready_statuses, failure_statuses=["error"],
- timeout=60, check_interval=1, check_deletion=False,
- id_attr="id"):
-
-+ LOG.debug(
-+ "Waiting for status %(resource)s" % {"resource": resource})
-+
- resource_repr = getattr(resource, "name", repr(resource))
- if not isinstance(ready_statuses, (set, list, tuple)):
- raise ValueError("Ready statuses should be supplied as set, list or "
-@@ -187,7 +190,11 @@ def wait_for_status(resource, ready_statuses, failure_statuses=["error"],
-
- # make all statuses upper case
- ready_statuses = set(s.upper() for s in ready_statuses or [])
-+ LOG.debug("%(resource)s: ready_statuses %(ready_statuses)s" % {
-+ "resource": resource_repr, "ready_statuses": ready_statuses})
- failure_statuses = set(s.upper() for s in failure_statuses or [])
-+ LOG.debug("%(resource)s: failure_statuses %(failure_statuses)s" % {
-+ "resource": resource_repr, "failure_statuses": failure_statuses})
-
- if (ready_statuses & failure_statuses):
- raise ValueError(
-@@ -205,9 +212,13 @@ def wait_for_status(resource, ready_statuses, failure_statuses=["error"],
- start = time.time()
-
- latest_status = get_status(resource, status_attr)
-+ LOG.debug("%(resource)s: latest_status %(latest_status)s" % {
-+ "resource": resource_repr, "latest_status": latest_status})
- latest_status_update = start
-
- while True:
-+ LOG.debug("%(resource)s: timeout %(timeout)s" % {
-+ "resource": resource_repr, "timeout": timeout})
- try:
- if id_attr == "id":
- resource = update_resource(resource)
-@@ -240,7 +251,11 @@ def wait_for_status(resource, ready_statuses, failure_statuses=["error"],
- status=status,
- fault="Status in failure list %s" % str(failure_statuses))
-
-+ LOG.debug("%(resource)s: check_interval %(check_interval)s" % {
-+ "resource": resource_repr, "check_interval": check_interval})
- time.sleep(check_interval)
-+ LOG.debug("%(resource)s: elapsed_time %(elapsed_time)s" % {
-+ "resource": resource_repr, "elapsed_time": time.time() - start})
- if time.time() - start > timeout:
- raise exceptions.TimeoutException(
- desired_status="('%s')" % "', '".join(ready_statuses),
---
-2.26.2
-
diff --git a/docker/healthcheck/Dockerfile b/docker/healthcheck/Dockerfile
index 62c8e6138..404ff2d58 100644
--- a/docker/healthcheck/Dockerfile
+++ b/docker/healthcheck/Dockerfile
@@ -1,32 +1,15 @@
FROM opnfv/functest-core
-ARG BRANCH=master
-ARG OPENSTACK_TAG=master
ARG ODL_TAG=89b88a0a23561f0bda62338b394ec41655679b2d
-ARG TEMPEST_HORIZON_TAG=master
COPY thirdparty-requirements.txt thirdparty-requirements.txt
RUN apk --no-cache add --virtual .build-deps --update \
python3-dev build-base linux-headers libffi-dev openssl-dev && \
- wget -q -O- https://opendev.org/openstack/requirements/raw/branch/$OPENSTACK_TAG/upper-constraints.txt > upper-constraints.txt && \
- sed -i -E /^tempest==+.*$/d upper-constraints.txt && \
- 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 && \
- sed -i -E /#egg=rally/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 \
- /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 /src/tempest-horizon/ thirdparty-requirements.txt \
- upper-constraints.txt upper-constraints.opnfv.txt && \
+ rm -r /src/odl_test/.git thirdparty-requirements.txt && \
apk del .build-deps
-COPY testcases.yaml /usr/lib/python3.8/site-packages/xtesting/ci/testcases.yaml
+COPY testcases.yaml /etc/xtesting/testcases.yaml
CMD ["run_tests", "-t", "all"]
diff --git a/docker/healthcheck/testcases.yaml b/docker/healthcheck/testcases.yaml
index d1129da04..7b6b2a108 100644
--- a/docker/healthcheck/testcases.yaml
+++ b/docker/healthcheck/testcases.yaml
@@ -2,7 +2,6 @@
tiers:
-
name: healthcheck
- order: 0
description: >-
First tier to be executed to verify the basic
operations in the VIM.
@@ -28,6 +27,8 @@ tiers:
It creates and configures all tenant network ressources
required by advanced testcases (subnet, network and
router).
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: tenantnetwork1
@@ -40,6 +41,8 @@ tiers:
It creates new user/project before creating and configuring
all tenant network ressources required by a testcase
(subnet, network and router).
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: tenantnetwork2
@@ -161,7 +164,7 @@ tiers:
args:
mode: '(?=.*\[.*\bsmoke\b.*\])(^tempest\.api)'
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: tempest_horizon
@@ -174,6 +177,6 @@ tiers:
dependencies:
- DASHBOARD_URL: '^(?!\s*$).+'
run:
- name: tempest_horizon
+ name: tempest_common
args:
- mode: '^tempest_horizon.'
+ mode: '^tempest.scenario.test_dashboard_basic_ops.'
diff --git a/docker/smoke-cntt/Dockerfile b/docker/smoke-cntt/Dockerfile
index c6b097093..a8e8a6f75 100644
--- a/docker/smoke-cntt/Dockerfile
+++ b/docker/smoke-cntt/Dockerfile
@@ -1,5 +1,5 @@
FROM opnfv/functest-smoke
-COPY testcases.yaml /usr/lib/python3.8/site-packages/xtesting/ci/testcases.yaml
-COPY tempest_conf.yaml /usr/lib/python3.8/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml
+COPY testcases.yaml /etc/xtesting/testcases.yaml
+COPY tempest_conf.yaml /src/functest/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml
CMD ["run_tests", "-t", "all"]
diff --git a/docker/smoke-cntt/tempest_conf.yaml b/docker/smoke-cntt/tempest_conf.yaml
index 4ce4cf42c..d9f878992 100644
--- a/docker/smoke-cntt/tempest_conf.yaml
+++ b/docker/smoke-cntt/tempest_conf.yaml
@@ -1,6 +1,7 @@
---
compute:
- max_microversion: 2.53
+ min_microversion: 2.44
+ max_microversion: 2.88
compute-feature-enabled:
attach_encrypted_volume: false
block_migration_for_live_migration: false
@@ -11,6 +12,7 @@ compute-feature-enabled:
console_output: true
disk_config: true
enable_instance_password: true
+ hostname_fqdn_sanitization: false
interface_attach: true
live_migration: true
live_migrate_back_and_forth: false
@@ -46,23 +48,23 @@ identity-feature-enabled:
external_idp: false
project_tags: true
application_credentials: true
+ access_rules: true
image-feature-enabled:
api_v2: true
api_v1: false
+ import_image: false
network-feature-enabled:
port_admin_state_change: true
port_security: true
- floating_ips: true
placement:
- max_microversion: "1.10"
+ max_microversion: 1.36
validation:
image_ssh_user: cirros
ssh_timeout: 196
ip_version_for_ssh: 4
run_validation: true
- connect_method: floating
volume:
- max_microversion: 3.43
+ max_microversion: 3.64
storage_protocol: ceph
manage_volume_ref: source-name,volume-%s
manage_snapshot_ref: source-name,snapshot-%s
@@ -73,7 +75,8 @@ volume-feature-enabled:
clone: true
manage_snapshot: true
manage_volume: true
- extend_attached_volume: false
+ extend_attached_volume: true
+ extend_attached_encrypted_volume: false
consistency_group: false
volume_revert: true
load_balancer:
@@ -81,17 +84,21 @@ load_balancer:
neutron_plugin_options:
agent_availability_zone: nova
available_type_drivers: flat,geneve,vlan,gre,local,vxlan
- provider_vlans: foo,
+ provider_vlans: public,
create_shared_resources: true
object-storage-feature-enabled:
discoverable_apis: "account_quotas,formpost,bulk_upload,bulk_delete,\
tempurl,crossdomain,container_quotas,staticweb,account_quotas,slo"
object_versioning: true
discoverability: true
+ tempurl_digest_hashlib: sha1
heat_plugin:
+ skip_functional_test_list: EncryptionVolTypeTest
skip_scenario_test_list: "AodhAlarmTest,SoftwareConfigIntegrationTest,\
VolumeBackupRestoreIntegrationTest,CfnInitIntegrationTest,\
LoadBalancerTest"
auth_version: 3
heat_features_enabled:
multi_cloud: false
+rbac:
+ enable_rbac: true
diff --git a/docker/smoke-cntt/testcases.yaml b/docker/smoke-cntt/testcases.yaml
index 01c38feaa..1d2aec38b 100644
--- a/docker/smoke-cntt/testcases.yaml
+++ b/docker/smoke-cntt/testcases.yaml
@@ -1,8 +1,7 @@
---
tiers:
-
- name: smoke
- order: 1
+ name: smoke_cntt
description: >-
Set of basic Functional tests to validate the OPNFV scenarios.
testcases:
@@ -12,7 +11,7 @@ tiers:
criteria: 100
blocking: false
deny_skipping: true
- tests_count: 512
+ tests_count: 564
description: >-
This test case runs the Tempest suite proposed by the
Neutron project. The list of test cases is generated by
@@ -35,11 +34,13 @@ tiers:
(?!.*test_conntrack_helper)\
(?!.*test_floating_ips.FloatingIPPoolTestJSON)\
(?!.*test_floating_ips.FloatingIPTestJSON.test_create_update_floatingip_port_details)\
+ (?!.*test_local_ip)\
(?!.*test_metering_extensions)\
(?!.*test_metering_negative)\
(?!.*test_networks.NetworksSearchCriteriaTest.test_list_validation_filters)\
(?!.*test_networks.NetworksTestAdmin.test_create_tenant_network_vxlan)\
(?!.*test_networks.NetworksTestJSON.test_create_update_network_dns_domain)\
+ (?!.*test_port_forwarding_negative)\
(?!.*test_port_forwardings)\
(?!.*test_ports.PortsTaggingOnCreation)\
(?!.*test_ports.PortsTestJSON.test_create_port_with_propagate_uplink_status)\
@@ -71,7 +72,7 @@ tiers:
(?!.*test_trunk_negative.TrunkTestMtusJSON)\
(^neutron_tempest_plugin.api)"
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: tempest_cinder_cntt
@@ -79,7 +80,7 @@ tiers:
criteria: 100
blocking: false
deny_skipping: true
- tests_count: 8
+ tests_count: 10
description: >-
This test case runs the Tempest suite proposed by the
Cinder project.
@@ -88,9 +89,13 @@ tiers:
args:
mode: "(?!.*test_incremental_backup)\
(?!.*test_consistencygroups)\
+ (?!.*test_backup_crossproject_admin_negative)\
+ (?!.*test_backup_crossproject_user_negative)\
+ (?!.*test_volume_encrypted.TestEncryptedCinderVolumes)\
+ (?!.*rbac)\
(^cinder_tempest_plugin.)"
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: tempest_keystone_cntt
@@ -106,10 +111,11 @@ tiers:
name: tempest_common
args:
mode: "(?!.*api.identity.v3.test_oauth1_tokens)\
+ (?!.*rbac)\
(?!.*scenario.test_federated_authentication)\
keystone_tempest_plugin."
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: tempest_heat_cntt
@@ -117,7 +123,7 @@ tiers:
criteria: 100
blocking: false
deny_skipping: true
- tests_count: 120
+ tests_count: 124
description: >-
This test case runs the Tempest suite proposed by the
Heat project.
@@ -125,6 +131,11 @@ tiers:
name: tempest_heat
args:
mode: "(?!.*functional.test_lbaasv2)\
+ (?!.*functional.test_encryption_vol_type)\
+ (?!.*functional.test_event_sinks)\
+ (?!.*functional.test_software_config.ZaqarSignalTransportTest)\
+ (?!.*functional.test_stack_events)\
+ (?!.*functional.test_waitcondition)\
(?!.*RemoteStackTest.test_stack_create_with_cloud_credential)\
(?!.*scenario.test_aodh_alarm)\
(?!.*tests.scenario.test_autoscaling_lb)\
@@ -165,7 +176,7 @@ tiers:
criteria: 100
blocking: false
deny_skipping: true
- tests_count: 1278
+ tests_count: 1271
description: >-
The list of test cases is generated by
Tempest automatically and depends on the parameters of
@@ -174,17 +185,22 @@ tiers:
run:
name: tempest_common
args:
- mode: "(?!.*test_fixed_ips)\
+ mode: "(?!.*admin.test_agents)(?!.*test_fixed_ips)\
(?!.*test_fixed_ips_negative)\
(?!.*test_auto_allocate_network)(?!.*test_floating_ips_bulk)\
(?!.*test_flavors_microversions.FlavorsV255TestJSON)\
(?!.*test_flavors_microversions.FlavorsV261TestJSON)\
(?!.*test_live_migration.LiveAutoBlockMigrationV225Test.test_iscsi_volume)\
+ (?!.*test_live_migration.LiveAutoBlockMigrationV225Test.test_live_block_migration)\
+ (?!.*test_live_migration.LiveAutoBlockMigrationV225Test.test_live_block_migration_paused)\
(?!.*test_live_migration.LiveAutoBlockMigrationV225Test.test_volume_backed_live_migration)\
(?!.*test_live_migration.LiveMigrationTest.test_iscsi_volume)\
+ (?!.*test_live_migration.LiveMigrationTest.test_live_block_migration)\
+ (?!.*test_live_migration.LiveMigrationTest.test_live_block_migration_paused)\
(?!.*test_live_migration.LiveMigrationTest.test_volume_backed_live_migration)\
(?!.*test_live_migration.LiveMigrationRemoteConsolesV26Test)\
(?!.*test_quotas.QuotasAdminTestV257)\
+ (?!.*test_servers.ServersAdminTestJSON.test_reset_network_inject_network_info)\
(?!.*certificates.test_certificates)\
(?!.*test_quotas_negative.QuotasSecurityGroupAdminNegativeTest)\
(?!.*test_novnc)(?!.*test_server_personality)\
@@ -205,18 +221,38 @@ tiers:
(?!.*test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_update_security_group_with_invalid_sg_des)\
(?!.*test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_update_security_group_with_invalid_sg_id)\
(?!.*test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_update_security_group_with_invalid_sg_name)\
+ (?!.*test_create_server.ServersTestFqdnHostnames.test_create_server_with_fqdn_name)\
+ (?!.*test_server_metadata.ServerMetadataTestJSON)\
+ (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_delete_metadata_non_existent_server)\
+ (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_metadata_items_limit)\
+ (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_set_metadata_invalid_key)\
+ (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_set_metadata_non_existent_server)\
+ (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_set_server_metadata_blank_key)\
+ (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_set_server_metadata_missing_metadata)\
+ (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_update_metadata_non_existent_server)\
+ (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_update_metadata_with_blank_key)\
(?!.*test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip_regex)\
(?!.*compute.test_virtual_interfaces)(?!.*compute.test_virtual_interfaces_negative)\
(?!.*compute.test_networks)\
(?!.*test_attach_volume.AttachVolumeMultiAttach)\
(?!.*identity.admin.v2)(?!.*identity.v2)\
+ (?!.*identity.v3.test_access_rules)\
+ (?!.*identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential_access_rules)\
(?!.*image.v1)\
+ (?!.*image.v2.admin.test_images.ImportCopyImagesTest)\
+ (?!.*image.v2.test_images_negative.ImagesNegativeTest.test_create_image_reserved_property)\
+ (?!.*image.v2.test_images_negative.ImagesNegativeTest.test_update_image_reserved_property)\
+ (?!.*image.v2.test_images_negative.ImportImagesNegativeTest.test_image_web_download_import_with_bad_url)\
+ (?!.*image.v2.test_images.ImportImagesTest)\
+ (?!.*image.v2.test_images.MultiStoresImportImages)\
(?!.*admin.test_dhcp_agent_scheduler)\
(?!.*admin.test_routers_dvr)\
(?!.*test_metering_extensions)(?!.*network.test_tags)\
(?!.*test_routers_negative.DvrRoutersNegativeTest)\
(?!.*test_routers.RoutersIpV6Test.test_create_router_set_gateway_with_fixed_ip)\
(?!.*test_routers.RoutersTest.test_create_router_set_gateway_with_fixed_ip)\
+ (?!.*test_object_services.ObjectTest.test_create_object_with_transfer_encoding)\
+ (?!.*test_encrypted_volumes_extend)\
(?!.*test_group_snapshots.GroupSnapshotsV319Test.test_reset_group_snapshot_status)\
(?!.*test_multi_backend)\
(?!.*test_volume_retype.VolumeRetypeWithMigrationTest)\
@@ -226,7 +262,7 @@ tiers:
(?!.*test_volumes_extend.VolumesExtendAttachedTest.test_extend_attached_volume)\
(?!.*\\[.*\\bslow\\b.*\\])(^tempest.api)"
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: tempest_scenario_cntt
@@ -234,16 +270,21 @@ tiers:
criteria: 100
blocking: false
deny_skipping: true
- tests_count: 9
+ tests_count: 13
description: >-
The list of test cases is generated by
Tempest automatically and depends on the parameters of
the OpenStack deployment.
https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L84
run:
- name: tempest_scenario
+ name: tempest_common
args:
mode: "\
+ (?!.*test_compute_unified_limits)\
+ (?!.*test_minbw_allocation_placement)\
+ (?!.*test_network_qos_placement)\
+ (?!.*test_unified_limits.ImageQuotaTest.test_image_count_uploading_quota)\
+ (?!.*test_unified_limits.ImageQuotaTest.test_image_stage_quota)\
(?!.*test_volume_boot_pattern.TestVolumeBootPattern.test_boot_server_from_encrypted_volume_luks)\
(?!.*\\[.*\\bslow\\b.*\\])(^tempest.scenario)"
option:
@@ -266,11 +307,13 @@ tiers:
args:
mode: "(?!.*test_volume_swap)\
(?!.*test_server_personality)\
+ (?!.*test_server_rescue.ServerBootFromVolumeStableRescueTest)\
(?!.*test_container_sync.ContainerSyncTest.test_container_synchronization)\
(?!.*test_container_sync_middleware.ContainerSyncMiddlewareTest.test_container_synchronization)\
(?!.*test_encrypted_cinder_volumes)\
(?!.*test_minbw_allocation_placement)\
(?!.*test_network_basic_ops.TestNetworkBasicOps.test_router_rescheduling)\
+ (?!.*test_shelve_instance.TestShelveInstance.test_cold_migrate_unshelved_instance)\
(?!.*test_volume_migrate_attached)\
(?!.*test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_cold_migration_revert)\
(?=.*\\[.*\\bslow\\b.*\\])(^tempest.)"
diff --git a/docker/smoke/Dockerfile b/docker/smoke/Dockerfile
index 84e431d2d..da42ef9b4 100644
--- a/docker/smoke/Dockerfile
+++ b/docker/smoke/Dockerfile
@@ -1,90 +1,94 @@
FROM opnfv/functest-core
-ARG BRANCH=master
-ARG OPENSTACK_TAG=master
ARG PATROLE_TAG=master
ARG NEUTRON_TEMPEST_TAG=master
ARG CINDER_TEMPEST_TAG=master
ARG KEYSTONE_TEMPEST_TAG=master
ARG NEUTRON_TAG=master
ARG GLANCE_TAG=master
+ARG NOVA_TAG=master
+ARG KEYSTONE_TAG=master
+ARG CINDER_TAG=master
ARG BARBICAN_TAG=master
ARG OCTAVIA_TAG=master
ARG HEAT_TEMPEST_TAG=master
ARG TELEMETRY_TEMPEST_TAG=master
+ARG CYBORG_TEMPEST_TAG=master
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 && \
- sed -i -E /^tempest==+.*$/d upper-constraints.txt && \
- 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 && \
- sed -i -E /#egg=rally/d upper-constraints.opnfv.txt && \
- case $(uname -m) in aarch*|arm*) CFLAGS="-O0" pip3 install --no-cache-dir -cupper-constraints.txt -cupper-constraints.opnfv.txt lxml ;; esac && \
+ case $(uname -m) in aarch*|arm*) CFLAGS="-O0" \
+ pip3 install --use-deprecated=legacy-resolver --no-cache-dir -c/src/requirements/upper-constraints.txt \
+ -c/src/functest/upper-constraints.txt lxml && \
+ sed -i -E /^numpy=/d /src/requirements/upper-constraints.txt && apk add py3-numpy ;; esac && \
git init /src/patrole && \
(cd /src/patrole && \
git fetch --tags https://opendev.org/openstack/patrole.git $PATROLE_TAG && \
git checkout FETCH_HEAD) && \
- update-requirements -s --source /src/openstack-requirements /src/patrole/ && \
+ update-requirements -s --source /src/requirements /src/patrole/ && \
git init /src/neutron-tempest-plugin && \
(cd /src/neutron-tempest-plugin && \
- git fetch --tags https://git.openstack.org/openstack/neutron-tempest-plugin.git $NEUTRON_TEMPEST_TAG && \
+ git fetch --tags https://opendev.org/openstack/neutron-tempest-plugin.git $NEUTRON_TEMPEST_TAG && \
git checkout FETCH_HEAD) && \
- update-requirements -s --source /src/openstack-requirements /src/neutron-tempest-plugin && \
+ update-requirements -s --source /src/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 fetch --tags https://opendev.org/openstack/cinder-tempest-plugin.git $CINDER_TEMPEST_TAG && \
git checkout FETCH_HEAD) && \
- update-requirements -s --source /src/openstack-requirements /src/cinder-tempest-plugin && \
+ update-requirements -s --source /src/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 fetch --tags https://opendev.org/openstack/keystone-tempest-plugin.git $KEYSTONE_TEMPEST_TAG && \
git checkout FETCH_HEAD) && \
- update-requirements -s --source /src/openstack-requirements /src/keystone-tempest-plugin && \
+ update-requirements -s --source /src/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 && \
git checkout FETCH_HEAD) && \
- update-requirements -s --source /src/openstack-requirements /src/barbican-tempest-plugin/ && \
+ update-requirements -s --source /src/requirements /src/barbican-tempest-plugin/ && \
git init /src/octavia-tempest-plugin && \
(cd /src/octavia-tempest-plugin && \
- git fetch --tags https://git.openstack.org/openstack/octavia-tempest-plugin.git $OCTAVIA_TAG && \
+ git fetch --tags https://opendev.org/openstack/octavia-tempest-plugin.git $OCTAVIA_TAG && \
git checkout FETCH_HEAD) && \
- update-requirements -s --source /src/openstack-requirements /src/octavia-tempest-plugin && \
+ update-requirements -s --source /src/requirements /src/octavia-tempest-plugin && \
git init /src/heat-tempest-plugin && \
(cd /src/heat-tempest-plugin && \
- git fetch --tags https://git.openstack.org/openstack/heat-tempest-plugin.git $HEAT_TEMPEST_TAG && \
+ git fetch --tags https://opendev.org/openstack/heat-tempest-plugin.git $HEAT_TEMPEST_TAG && \
git checkout FETCH_HEAD) && \
- update-requirements -s --source /src/openstack-requirements /src/heat-tempest-plugin && \
+ update-requirements -s --source /src/requirements /src/heat-tempest-plugin && \
git init /src/telemetry-tempest-plugin && \
(cd /src/telemetry-tempest-plugin && \
- git fetch --tags https://git.openstack.org/openstack/telemetry-tempest-plugin.git $TELEMETRY_TEMPEST_TAG && \
+ git fetch --tags https://opendev.org/openstack/telemetry-tempest-plugin.git $TELEMETRY_TEMPEST_TAG && \
git checkout FETCH_HEAD) && \
- update-requirements -s --source /src/openstack-requirements /src/telemetry-tempest-plugin && \
- pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \
+ update-requirements -s --source /src/requirements /src/telemetry-tempest-plugin && \
+ git init /src/cyborg-tempest-plugin && \
+ (cd /src/cyborg-tempest-plugin && \
+ git fetch --tags https://opendev.org/openstack/cyborg-tempest-plugin.git $CYBORG_TEMPEST_TAG && \
+ git checkout FETCH_HEAD) && \
+ update-requirements -s --source /src/requirements /src/cyborg-tempest-plugin && \
+ pip3 install --use-deprecated=legacy-resolver --no-cache-dir --src /src -c/src/requirements/upper-constraints.txt \
+ -c/src/functest/upper-constraints.txt \
/src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \
/src/cinder-tempest-plugin /src/keystone-tempest-plugin \
- /src/octavia-tempest-plugin /src/heat-tempest-plugin /src/telemetry-tempest-plugin && \
+ /src/octavia-tempest-plugin /src/heat-tempest-plugin /src/telemetry-tempest-plugin \
+ /src/cyborg-tempest-plugin && \
mkdir -p /home/opnfv/functest/data/refstack && \
- mkdir -p /etc/neutron /etc/glance && \
- virtualenv --no-pip --no-setuptools --no-wheel oslo && . oslo/bin/activate && \
- pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \
- oslo.policy -e git+https://opendev.org/openstack/neutron.git@$NEUTRON_TAG#egg=neutron \
- -e git+https://opendev.org/openstack/glance.git@$GLANCE_TAG#egg=glance && \
- oslopolicy-sample-generator --format json --output-file /etc/neutron/policy.json --namespace neutron && \
- oslopolicy-sample-generator --format json --output-file /etc/glance/policy.json --namespace glance && \
- deactivate && \
- rm -r oslo upper-constraints.txt upper-constraints.opnfv.txt \
- /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \
+ pip3 install --use-deprecated=legacy-resolver --no-cache-dir --src /src -c/src/requirements/upper-constraints.txt \
+ -c/src/functest/upper-constraints.txt \
+ git+https://opendev.org/openstack/neutron.git@$NEUTRON_TAG#egg=neutron \
+ git+https://opendev.org/openstack/glance.git@$GLANCE_TAG#egg=glance \
+ git+https://opendev.org/openstack/nova.git@$NOVA_TAG#egg=nova \
+ git+https://opendev.org/openstack/keystone.git@$KEYSTONE_TAG#egg=keystone \
+ git+https://opendev.org/openstack/cinder.git@$CINDER_TAG#egg=cinder && \
+ rm -r /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \
/src/cinder-tempest-plugin /src/keystone-tempest-plugin \
/src/octavia-tempest-plugin /src/heat-tempest-plugin \
- /src/telemetry-tempest-plugin /src/neutron /src/glance && \
+ /src/telemetry-tempest-plugin /src/cyborg-tempest-plugin && \
apk del .build-deps
COPY compute.txt /home/opnfv/functest/data/refstack/compute.txt
COPY object.txt /home/opnfv/functest/data/refstack/object.txt
COPY platform.txt /home/opnfv/functest/data/refstack/platform.txt
-COPY testcases.yaml /usr/lib/python3.8/site-packages/xtesting/ci/testcases.yaml
+COPY testcases.yaml /etc/xtesting/testcases.yaml
CMD ["run_tests", "-t", "all"]
diff --git a/docker/smoke/compute.txt b/docker/smoke/compute.txt
index b0e4faf17..7a642a703 100644
--- a/docker/smoke/compute.txt
+++ b/docker/smoke/compute.txt
@@ -3,6 +3,16 @@ tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_wit
tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_delete_image[id-3731d080-d4c5-4872-b41a-64d0d0021314]
tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_image_specify_multibyte_character_image_name[id-3b7c6fe4-dfe7-477c-9243-b06359db51e6]
tempest.api.compute.keypairs.test_keypairs_v22.KeyPairsV22TestJSON.test_keypairsv22_create_list_show_with_type[id-89d59d43-f735-441a-abcf-0601727f47b6]
+tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_list_security_groups_by_server[id-79517d60-535a-438f-af3d-e6feab1cbea7]
+tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_security_group_create_get_delete[id-ecc0da4a-2117-48af-91af-993cca39a615]
+tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_security_groups_create_list_delete[id-eb2b087d-633d-4d0d-a7bd-9e6ba35b32de]
+tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_server_security_groups[id-fe4abc0d-83f5-4c50-ad11-57a1127297a2]
+tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_update_security_groups[id-7d4e1d3c-3209-4d6d-b020-986304ebad1f]
+tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_nonexistent_security_group[id-6727c00b-214c-4f9e-9a52-017ac3e98411]
+tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_security_group_without_passing_id[id-1438f330-8fa4-4aeb-8a94-37c250106d7f]
+tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_the_default_security_group[id-36a1629f-c6da-4a26-b8b8-55e7e5d5cd58]
+tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_security_group_get_nonexistent_group[id-673eaec1-9b3e-48ed-bdf1-2786c1b9661c]
+tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_update_non_existent_security_group[id-27edee9c-873d-4da6-a68a-3c256efebe8f]
tempest.api.compute.servers.test_availability_zone.AZV2TestJSON.test_get_availability_zone_list_with_non_admin_user[id-a8333aa2-205c-449f-a828-d38c2489bf25]
tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name[id-ac1ad47f-984b-4441-9274-c9079b7a0666]
tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers[id-9a438d88-10c6-4bcd-8b5b-5b6e25e1346f]
@@ -28,6 +38,7 @@ tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.t
tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_limit[id-614cdfc1-d557-4bac-915b-3e67b48eee76]
tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_name[id-9b067a7b-7fee-4f6a-b29c-be43fe18fc5a]
tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_status[id-ca78e20e-fddb-4ce6-b7f7-bcbf8605e66e]
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip_regex[id-a905e287-c35e-42f2-b132-d02b09f3654a]
tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_name_wildcard[id-e9f624ee-92af-4562-8bec-437945a18dcb]
tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_future_date[id-74745ad8-b346-45b5-b9b8-509d7447fc1f]
tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_invalid_date[id-87d12517-e20a-4c9c-97b6-dd1628d6d6c9]
@@ -45,12 +56,10 @@ tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_lock_
tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard[id-2cb1baf6-ac8d-4429-bf0d-ba8a0ba53e32]
tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_rebuild_server[id-aaa6cdf3-55a7-461a-add9-1c8596b9a07c]
tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_stop_start_server[id-af8eafd4-38a7-4a4b-bdbc-75145a580560]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_delete_server_metadata_item[id-127642d6-4c7b-4486-b7cd-07265a378658]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_get_server_metadata_item[id-3043c57d-7e0e-49a6-9a96-ad569c265e6a]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_list_server_metadata[id-479da087-92b3-4dcf-aeb3-fd293b2d14ce]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata[id-211021f6-21de-4657-a68f-908878cfe251]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata_item[id-58c02d4f-5c67-40be-8744-d3fa5982eb1c]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_update_server_metadata[id-344d981e-0c33-4997-8a5d-6c1d803e4134]
+tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_check_tag_existence[id-81279a66-61c3-4759-b830-a2dbe64cbe08]
+tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_create_delete_tag[id-8d95abe2-c658-4c42-9a44-c0258500306b]
+tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_delete_all_tags[id-a63b2a74-e918-4b7c-bcab-10c855f3a57e]
+tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_update_all_tags[id-a2c1af8c-127d-417d-974b-8115f7e3d831]
tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_server_with_admin_password[id-b92d5ec7-b1dd-44a2-87e4-45e888c46ef0]
tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_specify_keypair[id-f9e15296-d7f9-4e62-b53f-a04e89160833]
tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_with_existing_server_name[id-8fea6be7-065e-47cf-89b8-496e6f96c699]
@@ -86,11 +95,20 @@ tempest.api.identity.v3.TestApiDiscovery.test_api_version_statuses[id-8879a470-a
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_media_types[id-657c1970-4722-4189-8831-7325f3bc4265]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_resources[id-b9232f5e-d9e5-4d97-b96c-28d3db4de1bd]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_statuses[id-8879a470-abfb-47bb-bb8d-5a7fd279ad1e]
+tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_list_api_versions[id-721f480f-35b6-46c7-846e-047e6acea0dc]
+tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential[id-8080c75c-eddc-4786-941a-c2da7039ae61]
+tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential_expires[id-852daf0c-42b5-4239-8466-d193d0543ed3]
+tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_list_application_credentials[id-ff0cd457-6224-46e7-b79e-0ada4964a8a6]
+tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_query_application_credentials[id-9bb5e5cc-5250-493a-8869-8b665f6aa5f6]
tempest.api.identity.v3.test_catalog.IdentityCatalogTest.test_catalog_standardization[id-56b57ced-22b8-4127-9b8a-565dfb0207e2]
+tempest.api.identity.v3.test_domains.DefaultDomainTestJSON.test_default_domain_exists[id-17a5de24-e6a0-4e4a-a9ee-d85b6e5612b5]
tempest.api.identity.v3.test_tokens.TokensV3Test.test_create_token[id-6f8e4436-fc96-4282-8122-e41df57197a9]
tempest.api.identity.v3.test_tokens.TokensV3Test.test_token_auth_creation_existence_deletion[id-0f9f5a5f-d5cd-4a86-8a5b-c5ded151f212]
tempest.api.identity.v3.test_tokens.TokensV3Test.test_validate_token[id-a9512ac3-3909-48a4-b395-11f438e16260]
+tempest.api.identity.v3.test_users.IdentityV3UsersTest.test_password_history_check_self_service_api[id-941784ee-5342-4571-959b-b80dd2cea516]
+tempest.api.identity.v3.test_users.IdentityV3UsersTest.test_user_account_lockout[id-a7ad8bbf-2cff-4520-8c1d-96332e151658]
tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_delete_image[id-f848bb94-1c6e-45a4-8726-39e3a5b23535]
+tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_register_upload_get_image_file[id-139b765e-7f3d-4b3d-8b37-3ca3876ee318]
tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_update_image[id-f66891a7-a35c-41a8-b590-a065c2a1caa6]
tempest.api.image.v2.test_images.ListImagesTest.test_get_image_schema[id-622b925c-479f-4736-860d-adeaf13bc371]
tempest.api.image.v2.test_images.ListImagesTest.test_get_images_schema[id-25c8d7b2-df21-460f-87ac-93130bcdc684]
@@ -118,9 +136,29 @@ tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_delete_non_exi
tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_delete_deleted_image[id-e57fc127-7ba0-4693-92d7-1d8a05ebcba9]
tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_image_null_id[id-ef45000d-0a72-4781-866d-4cb7bf2562ad]
tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_non_existent_image[id-668743d5-08ad-4480-b2b8-15da34f81d9f]
+tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_register_with_invalid_container_format[id-292bd310-369b-41c7-a7a3-10276ef76753]
+tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_register_with_invalid_disk_format[id-70c6040c-5a97-4111-9e13-e73665264ce1]
tempest.api.image.v2.test_images_tags.ImagesTagsTest.test_update_delete_tags_for_image[id-10407036-6059-4f95-a2cd-cbbbee7ed329]
tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_delete_non_existing_tag[id-39c023a2-325a-433a-9eea-649bf1414b19]
tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_update_tags_for_non_existing_image[id-8cd30f82-6f9a-4c6e-8034-c1b51fba43d9]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful[id-4ab211a0-276f-4552-9070-51e27f58fecf]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips[id-51a5e97f-f02e-4e4e-9a17-a69811d300e3]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips_duplicate[id-57b8302b-cba9-4fbb-8835-9168df029051]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips_outrange[id-98244d88-d990-4570-91d4-6b25d70d08af]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_router[id-e98f65db-68f4-4330-9fea-abd8c5192d4d]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_64_subnets[id-4256c61d-c538-41ea-9147-3c450c36669e]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_invalid_options[id-81f18ef6-95b5-4584-9966-10d480b7496a]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_eui64[id-e5517e62-6f16-430d-a672-f80875493d4c]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_no_ra[id-ae2f4a5d-03ff-4c42-a3b0-ce2fcb7ea832]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_no_ra_no_dhcp[id-21635b6f-165a-4d42-bf49-7d195e47342f]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_two_subnets[id-4544adf7-bb5f-4bdc-b769-b3e77026cef2]
+tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_floating_ip_specifying_a_fixed_ip_address[id-36de4bd0-f09c-43e3-a8e1-1decc1ffd3a5]
+tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_update_floatingip_with_port_multiple_ip_address[id-45c4c683-ea97-41ef-9c51-5e9802f2f3d7]
+tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_floating_ip_delete_port[id-e1f6bffd-442f-4668-b30e-df13f2705e77]
+tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_floating_ip_update_different_router[id-1bb2f731-fe5a-4b8c-8409-799ade1bed4d]
+tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_associate_floatingip_port_ext_net_unreachable[id-6b3b8797-6d43-4191-985c-c48b773eb429]
+tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_create_floatingip_in_private_network[id-50b9aeb4-9f0b-48ee-aa31-fa955a48ff54]
+tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_create_floatingip_with_port_ext_net_unreachable[id-22996ea8-4a81-4b27-b6e1-fa5df92fa5e8]
tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_all_attributes[id-a4d9ec4c-0306-4111-a75c-db01a709030b]
tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_allocation_pools[id-bec949c4-3147-4ba6-af5f-cd2306118404]
tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_dhcp_enabled[id-94ce038d-ff0a-4a4c-a56b-09da3ca0b55d]
@@ -171,6 +209,7 @@ tempest.api.network.test_routers.RoutersTest.test_add_multiple_router_interfaces
tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_port_id[id-2b7d2f37-6748-4d78-92e5-1d590234f0d5]
tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_subnet_id[id-b42e6e39-2e37-49cc-a6f4-8467e940900a]
tempest.api.network.test_routers.RoutersTest.test_create_show_list_update_delete_router[id-f64403e2-8483-4b34-8ccd-b09a87bcc68c]
+tempest.api.network.test_routers.RoutersTest.test_router_interface_port_update_with_fixed_ip[id-96522edf-b4b5-45d9-8443-fa11c26e6eff]
tempest.api.network.test_routers.RoutersTest.test_update_delete_extra_route[id-c86ac3a8-50bd-4b00-a6b8-62af84a0765c]
tempest.api.network.test_routers.RoutersTest.test_update_extra_route[id-c86ac3a8-50bd-4b00-a6b8-62af84a0765c]
tempest.api.network.test_routers.RoutersTest.test_update_router_admin_state[id-a8902683-c788-4246-95c7-ad9c6d63a4d9]
@@ -305,6 +344,17 @@ tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapsho
tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2]
tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapshots_list_with_params[id-59f41f43-aebf-48a9-ab5d-d76340fab32b]
tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_volume_from_snapshot[id-677863d1-3142-456d-b6ac-9924f667a7f4]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit[id-db4d8e0a-7a2e-41cc-a712-961f6844e896]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit_equals_infinite[id-a1427f61-420e-48a5-b6e3-0b394fa95400]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit_equals_zero[id-e3b44b7f-ae87-45b5-8a8c-66110eb24d0a]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_marker[id-05489dde-44bc-4961-a1f5-3ce7ee7824f7]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_offset[id-ca96d551-17c6-4e11-b0e8-52d3bb8a63c7]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_created_at_asc[id-4052c3a0-2415-440a-a8cc-305a875331b0]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_created_at_desc[id-dcbbe24a-f3c0-4ec8-9274-55d48db8d1cf]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_id_asc[id-c5513ada-64c1-4d28-83b9-af3307ec1388]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_id_desc[id-8a7fe058-0b41-402a-8afd-2dbc5a4a718b]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_name_asc[id-d58b5fed-0c37-42d3-8c5d-39014ac13c00]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_name_desc[id-96ba6f4d-1f18-47e1-b4bc-76edc6c21250]
tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2]
tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshots_list_with_params[id-59f41f43-aebf-48a9-ab5d-d76340fab32b]
tempest.api.volume.test_volumes_snapshots_list.VolumesV2SnapshotListTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2]
diff --git a/docker/smoke/hooks/post_checkout b/docker/smoke/hooks/post_checkout
index 3e5670b4a..b23f6f449 100644
--- a/docker/smoke/hooks/post_checkout
+++ b/docker/smoke/hooks/post_checkout
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
from="${DOCKER_REPO%/*}/functest-tempest:${DOCKER_TAG}"
sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
diff --git a/docker/smoke/object.txt b/docker/smoke/object.txt
index 1bc1fa07c..720532e2a 100644
--- a/docker/smoke/object.txt
+++ b/docker/smoke/object.txt
@@ -1,5 +1,7 @@
tempest.api.identity.v3.test_tokens.TokensV3Test.test_create_token[id-6f8e4436-fc96-4282-8122-e41df57197a9]
tempest.api.identity.v3.test_tokens.TokensV3Test.test_token_auth_creation_existence_deletion[id-0f9f5a5f-d5cd-4a86-8a5b-c5ded151f212]
+tempest.api.object_storage.test_account_bulk.BulkTest.test_bulk_delete[id-c075e682-0d2a-43b2-808d-4116200d736d]
+tempest.api.object_storage.test_account_bulk.BulkTest.test_extract_archive[id-a407de51-1983-47cc-9f14-47c2b059413c]
tempest.api.object_storage.test_account_quotas.AccountQuotasTest.test_upload_valid_object[id-a22ef352-a342-4587-8f47-3bbdb5b039c4]
tempest.api.object_storage.test_account_quotas_negative.AccountQuotasNegativeTest.test_user_modify_quota[id-d1dc5076-555e-4e6d-9697-28f1fe976324]
tempest.api.object_storage.test_account_services.AccountTest.test_list_containers[id-3499406a-ae53-4f8c-b43a-133d4dc6fe3f]
@@ -15,6 +17,9 @@ tempest.api.object_storage.test_account_services.AccountTest.test_list_extension
tempest.api.object_storage.test_account_services.AccountTest.test_list_extensions[id-6eb04a6a-4860-4e31-ba91-ea3347d76b58]
tempest.api.object_storage.test_account_services.AccountTest.test_list_no_account_metadata[id-b904c2e3-24c2-4dba-ad7d-04e90a761be5]
tempest.api.object_storage.test_account_services.AccountTest.test_list_no_containers[id-884ec421-fbad-4fcc-916b-0580f2699565]
+tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_create_metadata_key[id-64fd53f3-adbd-4639-af54-436e4982dbfb]
+tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_delete_metadata[id-9f60348d-c46f-4465-ae06-d51dbd470953]
+tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_delete_metadata_key[id-d4d884d3-4696-4b85-bc98-4f57c4dd2bf1]
tempest.api.object_storage.test_container_acl.ObjectTestACLs.test_read_object_with_rights[id-a3270f3f-7640-4944-8448-c7ea783ea5b6]
tempest.api.object_storage.test_container_acl.ObjectTestACLs.test_write_object_with_rights[id-aa58bfa5-40d9-4bc3-82b4-d07f4a9e392a]
tempest.api.object_storage.test_container_quotas.ContainerQuotasTest.test_upload_large_object[id-22eeeb2b-3668-4160-baef-44790f65a5a0]
diff --git a/docker/smoke/platform.txt b/docker/smoke/platform.txt
index 0f59d2dae..4eca58790 100644
--- a/docker/smoke/platform.txt
+++ b/docker/smoke/platform.txt
@@ -3,6 +3,16 @@ tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_wit
tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_delete_image[id-3731d080-d4c5-4872-b41a-64d0d0021314]
tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_image_specify_multibyte_character_image_name[id-3b7c6fe4-dfe7-477c-9243-b06359db51e6]
tempest.api.compute.keypairs.test_keypairs_v22.KeyPairsV22TestJSON.test_keypairsv22_create_list_show_with_type[id-89d59d43-f735-441a-abcf-0601727f47b6]
+tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_list_security_groups_by_server[id-79517d60-535a-438f-af3d-e6feab1cbea7]
+tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_security_group_create_get_delete[id-ecc0da4a-2117-48af-91af-993cca39a615]
+tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_security_groups_create_list_delete[id-eb2b087d-633d-4d0d-a7bd-9e6ba35b32de]
+tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_server_security_groups[id-fe4abc0d-83f5-4c50-ad11-57a1127297a2]
+tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_update_security_groups[id-7d4e1d3c-3209-4d6d-b020-986304ebad1f]
+tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_nonexistent_security_group[id-6727c00b-214c-4f9e-9a52-017ac3e98411]
+tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_security_group_without_passing_id[id-1438f330-8fa4-4aeb-8a94-37c250106d7f]
+tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_the_default_security_group[id-36a1629f-c6da-4a26-b8b8-55e7e5d5cd58]
+tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_security_group_get_nonexistent_group[id-673eaec1-9b3e-48ed-bdf1-2786c1b9661c]
+tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_update_non_existent_security_group[id-27edee9c-873d-4da6-a68a-3c256efebe8f]
tempest.api.compute.servers.test_availability_zone.AZV2TestJSON.test_get_availability_zone_list_with_non_admin_user[id-a8333aa2-205c-449f-a828-d38c2489bf25]
tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name[id-ac1ad47f-984b-4441-9274-c9079b7a0666]
tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers[id-9a438d88-10c6-4bcd-8b5b-5b6e25e1346f]
@@ -28,6 +38,7 @@ tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.t
tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_limit[id-614cdfc1-d557-4bac-915b-3e67b48eee76]
tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_name[id-9b067a7b-7fee-4f6a-b29c-be43fe18fc5a]
tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_status[id-ca78e20e-fddb-4ce6-b7f7-bcbf8605e66e]
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip_regex[id-a905e287-c35e-42f2-b132-d02b09f3654a]
tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_name_wildcard[id-e9f624ee-92af-4562-8bec-437945a18dcb]
tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_future_date[id-74745ad8-b346-45b5-b9b8-509d7447fc1f]
tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_invalid_date[id-87d12517-e20a-4c9c-97b6-dd1628d6d6c9]
@@ -45,12 +56,10 @@ tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_lock_
tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard[id-2cb1baf6-ac8d-4429-bf0d-ba8a0ba53e32]
tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_rebuild_server[id-aaa6cdf3-55a7-461a-add9-1c8596b9a07c]
tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_stop_start_server[id-af8eafd4-38a7-4a4b-bdbc-75145a580560]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_delete_server_metadata_item[id-127642d6-4c7b-4486-b7cd-07265a378658]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_get_server_metadata_item[id-3043c57d-7e0e-49a6-9a96-ad569c265e6a]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_list_server_metadata[id-479da087-92b3-4dcf-aeb3-fd293b2d14ce]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata[id-211021f6-21de-4657-a68f-908878cfe251]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata_item[id-58c02d4f-5c67-40be-8744-d3fa5982eb1c]
-tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_update_server_metadata[id-344d981e-0c33-4997-8a5d-6c1d803e4134]
+tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_check_tag_existence[id-81279a66-61c3-4759-b830-a2dbe64cbe08]
+tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_create_delete_tag[id-8d95abe2-c658-4c42-9a44-c0258500306b]
+tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_delete_all_tags[id-a63b2a74-e918-4b7c-bcab-10c855f3a57e]
+tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_update_all_tags[id-a2c1af8c-127d-417d-974b-8115f7e3d831]
tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_server_with_admin_password[id-b92d5ec7-b1dd-44a2-87e4-45e888c46ef0]
tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_specify_keypair[id-f9e15296-d7f9-4e62-b53f-a04e89160833]
tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_with_existing_server_name[id-8fea6be7-065e-47cf-89b8-496e6f96c699]
@@ -86,11 +95,20 @@ tempest.api.identity.v3.TestApiDiscovery.test_api_version_statuses[id-8879a470-a
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_media_types[id-657c1970-4722-4189-8831-7325f3bc4265]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_resources[id-b9232f5e-d9e5-4d97-b96c-28d3db4de1bd]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_statuses[id-8879a470-abfb-47bb-bb8d-5a7fd279ad1e]
+tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_list_api_versions[id-721f480f-35b6-46c7-846e-047e6acea0dc]
+tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential[id-8080c75c-eddc-4786-941a-c2da7039ae61]
+tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential_expires[id-852daf0c-42b5-4239-8466-d193d0543ed3]
+tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_list_application_credentials[id-ff0cd457-6224-46e7-b79e-0ada4964a8a6]
+tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_query_application_credentials[id-9bb5e5cc-5250-493a-8869-8b665f6aa5f6]
tempest.api.identity.v3.test_catalog.IdentityCatalogTest.test_catalog_standardization[id-56b57ced-22b8-4127-9b8a-565dfb0207e2]
+tempest.api.identity.v3.test_domains.DefaultDomainTestJSON.test_default_domain_exists[id-17a5de24-e6a0-4e4a-a9ee-d85b6e5612b5]
tempest.api.identity.v3.test_tokens.TokensV3Test.test_create_token[id-6f8e4436-fc96-4282-8122-e41df57197a9]
tempest.api.identity.v3.test_tokens.TokensV3Test.test_token_auth_creation_existence_deletion[id-0f9f5a5f-d5cd-4a86-8a5b-c5ded151f212]
tempest.api.identity.v3.test_tokens.TokensV3Test.test_validate_token[id-a9512ac3-3909-48a4-b395-11f438e16260]
+tempest.api.identity.v3.test_users.IdentityV3UsersTest.test_password_history_check_self_service_api[id-941784ee-5342-4571-959b-b80dd2cea516]
+tempest.api.identity.v3.test_users.IdentityV3UsersTest.test_user_account_lockout[id-a7ad8bbf-2cff-4520-8c1d-96332e151658]
tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_delete_image[id-f848bb94-1c6e-45a4-8726-39e3a5b23535]
+tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_register_upload_get_image_file[id-139b765e-7f3d-4b3d-8b37-3ca3876ee318]
tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_update_image[id-f66891a7-a35c-41a8-b590-a065c2a1caa6]
tempest.api.image.v2.test_images.ListImagesTest.test_get_image_schema[id-622b925c-479f-4736-860d-adeaf13bc371]
tempest.api.image.v2.test_images.ListImagesTest.test_get_images_schema[id-25c8d7b2-df21-460f-87ac-93130bcdc684]
@@ -118,9 +136,29 @@ tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_delete_non_exi
tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_delete_deleted_image[id-e57fc127-7ba0-4693-92d7-1d8a05ebcba9]
tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_image_null_id[id-ef45000d-0a72-4781-866d-4cb7bf2562ad]
tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_non_existent_image[id-668743d5-08ad-4480-b2b8-15da34f81d9f]
+tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_register_with_invalid_container_format[id-292bd310-369b-41c7-a7a3-10276ef76753]
+tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_register_with_invalid_disk_format[id-70c6040c-5a97-4111-9e13-e73665264ce1]
tempest.api.image.v2.test_images_tags.ImagesTagsTest.test_update_delete_tags_for_image[id-10407036-6059-4f95-a2cd-cbbbee7ed329]
tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_delete_non_existing_tag[id-39c023a2-325a-433a-9eea-649bf1414b19]
tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_update_tags_for_non_existing_image[id-8cd30f82-6f9a-4c6e-8034-c1b51fba43d9]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful[id-4ab211a0-276f-4552-9070-51e27f58fecf]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips[id-51a5e97f-f02e-4e4e-9a17-a69811d300e3]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips_duplicate[id-57b8302b-cba9-4fbb-8835-9168df029051]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips_outrange[id-98244d88-d990-4570-91d4-6b25d70d08af]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_router[id-e98f65db-68f4-4330-9fea-abd8c5192d4d]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_64_subnets[id-4256c61d-c538-41ea-9147-3c450c36669e]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_invalid_options[id-81f18ef6-95b5-4584-9966-10d480b7496a]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_eui64[id-e5517e62-6f16-430d-a672-f80875493d4c]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_no_ra[id-ae2f4a5d-03ff-4c42-a3b0-ce2fcb7ea832]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_no_ra_no_dhcp[id-21635b6f-165a-4d42-bf49-7d195e47342f]
+tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_two_subnets[id-4544adf7-bb5f-4bdc-b769-b3e77026cef2]
+tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_floating_ip_specifying_a_fixed_ip_address[id-36de4bd0-f09c-43e3-a8e1-1decc1ffd3a5]
+tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_update_floatingip_with_port_multiple_ip_address[id-45c4c683-ea97-41ef-9c51-5e9802f2f3d7]
+tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_floating_ip_delete_port[id-e1f6bffd-442f-4668-b30e-df13f2705e77]
+tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_floating_ip_update_different_router[id-1bb2f731-fe5a-4b8c-8409-799ade1bed4d]
+tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_associate_floatingip_port_ext_net_unreachable[id-6b3b8797-6d43-4191-985c-c48b773eb429]
+tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_create_floatingip_in_private_network[id-50b9aeb4-9f0b-48ee-aa31-fa955a48ff54]
+tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_create_floatingip_with_port_ext_net_unreachable[id-22996ea8-4a81-4b27-b6e1-fa5df92fa5e8]
tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_all_attributes[id-a4d9ec4c-0306-4111-a75c-db01a709030b]
tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_allocation_pools[id-bec949c4-3147-4ba6-af5f-cd2306118404]
tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_dhcp_enabled[id-94ce038d-ff0a-4a4c-a56b-09da3ca0b55d]
@@ -171,6 +209,7 @@ tempest.api.network.test_routers.RoutersTest.test_add_multiple_router_interfaces
tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_port_id[id-2b7d2f37-6748-4d78-92e5-1d590234f0d5]
tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_subnet_id[id-b42e6e39-2e37-49cc-a6f4-8467e940900a]
tempest.api.network.test_routers.RoutersTest.test_create_show_list_update_delete_router[id-f64403e2-8483-4b34-8ccd-b09a87bcc68c]
+tempest.api.network.test_routers.RoutersTest.test_router_interface_port_update_with_fixed_ip[id-96522edf-b4b5-45d9-8443-fa11c26e6eff]
tempest.api.network.test_routers.RoutersTest.test_update_delete_extra_route[id-c86ac3a8-50bd-4b00-a6b8-62af84a0765c]
tempest.api.network.test_routers.RoutersTest.test_update_extra_route[id-c86ac3a8-50bd-4b00-a6b8-62af84a0765c]
tempest.api.network.test_routers.RoutersTest.test_update_router_admin_state[id-a8902683-c788-4246-95c7-ad9c6d63a4d9]
@@ -202,6 +241,8 @@ tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_show
tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_show_non_existent_security_group_rule[id-4c094c09-000b-4e41-8100-9617600c02a6]
tempest.api.network.test_subnetpools_extensions.SubnetPoolsTestJSON.test_create_list_show_update_delete_subnetpools[id-62595970-ab1c-4b7f-8fcc-fddfe55e9811]
tempest.api.network.test_versions.NetworksApiDiscovery.test_api_version_resources[id-cac8a836-c2e0-4304-b556-cd299c7281d1]
+tempest.api.object_storage.test_account_bulk.BulkTest.test_bulk_delete[id-c075e682-0d2a-43b2-808d-4116200d736d]
+tempest.api.object_storage.test_account_bulk.BulkTest.test_extract_archive[id-a407de51-1983-47cc-9f14-47c2b059413c]
tempest.api.object_storage.test_account_quotas.AccountQuotasTest.test_upload_valid_object[id-a22ef352-a342-4587-8f47-3bbdb5b039c4]
tempest.api.object_storage.test_account_quotas_negative.AccountQuotasNegativeTest.test_user_modify_quota[id-d1dc5076-555e-4e6d-9697-28f1fe976324]
tempest.api.object_storage.test_account_services.AccountTest.test_list_containers[id-3499406a-ae53-4f8c-b43a-133d4dc6fe3f]
@@ -217,6 +258,9 @@ tempest.api.object_storage.test_account_services.AccountTest.test_list_extension
tempest.api.object_storage.test_account_services.AccountTest.test_list_extensions[id-6eb04a6a-4860-4e31-ba91-ea3347d76b58]
tempest.api.object_storage.test_account_services.AccountTest.test_list_no_account_metadata[id-b904c2e3-24c2-4dba-ad7d-04e90a761be5]
tempest.api.object_storage.test_account_services.AccountTest.test_list_no_containers[id-884ec421-fbad-4fcc-916b-0580f2699565]
+tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_create_metadata_key[id-64fd53f3-adbd-4639-af54-436e4982dbfb]
+tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_delete_metadata[id-9f60348d-c46f-4465-ae06-d51dbd470953]
+tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_delete_metadata_key[id-d4d884d3-4696-4b85-bc98-4f57c4dd2bf1]
tempest.api.object_storage.test_container_acl.ObjectTestACLs.test_read_object_with_rights[id-a3270f3f-7640-4944-8448-c7ea783ea5b6]
tempest.api.object_storage.test_container_acl.ObjectTestACLs.test_write_object_with_rights[id-aa58bfa5-40d9-4bc3-82b4-d07f4a9e392a]
tempest.api.object_storage.test_container_quotas.ContainerQuotasTest.test_upload_large_object[id-22eeeb2b-3668-4160-baef-44790f65a5a0]
@@ -364,6 +408,17 @@ tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapsho
tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2]
tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapshots_list_with_params[id-59f41f43-aebf-48a9-ab5d-d76340fab32b]
tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_volume_from_snapshot[id-677863d1-3142-456d-b6ac-9924f667a7f4]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit[id-db4d8e0a-7a2e-41cc-a712-961f6844e896]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit_equals_infinite[id-a1427f61-420e-48a5-b6e3-0b394fa95400]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit_equals_zero[id-e3b44b7f-ae87-45b5-8a8c-66110eb24d0a]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_marker[id-05489dde-44bc-4961-a1f5-3ce7ee7824f7]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_offset[id-ca96d551-17c6-4e11-b0e8-52d3bb8a63c7]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_created_at_asc[id-4052c3a0-2415-440a-a8cc-305a875331b0]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_created_at_desc[id-dcbbe24a-f3c0-4ec8-9274-55d48db8d1cf]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_id_asc[id-c5513ada-64c1-4d28-83b9-af3307ec1388]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_id_desc[id-8a7fe058-0b41-402a-8afd-2dbc5a4a718b]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_name_asc[id-d58b5fed-0c37-42d3-8c5d-39014ac13c00]
+tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_name_desc[id-96ba6f4d-1f18-47e1-b4bc-76edc6c21250]
tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2]
tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshots_list_with_params[id-59f41f43-aebf-48a9-ab5d-d76340fab32b]
tempest.api.volume.test_volumes_snapshots_list.VolumesV2SnapshotListTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2]
diff --git a/docker/smoke/testcases.yaml b/docker/smoke/testcases.yaml
index 7bcd53fcc..77bee5704 100644
--- a/docker/smoke/testcases.yaml
+++ b/docker/smoke/testcases.yaml
@@ -2,7 +2,6 @@
tiers:
-
name: smoke
- order: 1
description: >-
Set of basic Functional tests to validate the OPNFV scenarios.
testcases:
@@ -21,7 +20,7 @@ tiers:
args:
mode: '^neutron_tempest_plugin\.api'
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: tempest_cinder
@@ -34,10 +33,12 @@ tiers:
run:
name: tempest_common
args:
- mode:
- '(?!.*test_incremental_backup)(^cinder_tempest_plugin.)'
+ mode: "(?!.*test_incremental_backup)\
+ (?!.*test_backup_crossproject_admin_negative)\
+ (?!.*test_backup_crossproject_user_negative)\
+ (^cinder_tempest_plugin.)"
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: tempest_keystone
@@ -52,7 +53,7 @@ tiers:
args:
mode: 'keystone_tempest_plugin.'
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: tempest_heat
@@ -80,14 +81,14 @@ tiers:
run:
name: tempest_common
args:
- mode: "(?!.*test_autoscaling)\
+ mode: "(?!.*test_autoscaling)(?!.*test_live)\
(^telemetry_tempest_plugin)"
services:
- aodh
- gnocchi
- panko
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: rally_sanity
@@ -109,25 +110,23 @@ tiers:
project_name: functest
criteria: 100
blocking: false
- deny_skipping: true
- tests_count: 222
description: >-
This test case runs a sub group of tests of the OpenStack
Compute testcases.
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: refstack
args:
target: compute
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: refstack_object
project_name: functest
criteria: 100
blocking: false
- deny_skipping: true
- tests_count: 58
description: >-
This test case runs a sub group of tests of the OpenStack
Object testcases.
@@ -136,24 +135,24 @@ tiers:
args:
target: object
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: refstack_platform
project_name: functest
criteria: 100
blocking: false
- deny_skipping: true
- tests_count: 278
description: >-
This test case runs a sub group of tests of the OpenStack
Platform testcases.
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: refstack
args:
target: platform
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: tempest_full
@@ -170,7 +169,7 @@ tiers:
args:
mode: '(?!.*\[.*\bslow\b.*\])(^tempest\.api)'
option:
- - '--concurrency=3'
+ - '--concurrency=4'
-
case_name: tempest_scenario
@@ -183,7 +182,7 @@ tiers:
the OpenStack deployment.
https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L84
run:
- name: tempest_scenario
+ name: tempest_common
args:
mode: '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)'
option:
@@ -207,7 +206,99 @@ tiers:
- '--concurrency=1'
-
- case_name: patrole
+ case_name: patrole_admin
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ Test suite from Patrole project.
+ run:
+ name: patrole
+ args:
+ roles: 'admin'
+ mode: "(?!.*test_unmanage_snapshot_rbac)\
+ (?!.*test_show_auto_allocated_topology)\
+ (?!.*test_delete_auto_allocated_topology)\
+ (?!.*test_create_network_provider_segmentation_id)\
+ (?!.*compute.test_floating_ips_rbac)\
+ (?!.*test_reset_network)\
+ (?!.*test_create_image_from_volume_backed_server)\
+ (?!.*test_network_ip_availability_rbac.NetworkIpAvailabilityExtRbacTest.test_get_network_ip_availabilities)\
+ (?!.*test_policy_bandwidth_limit_rule_rbac)\
+ (?!.*test_policy_minimum_bandwidth_rule_rbac)\
+ (?!.*test_group_type_specs)\
+ (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_create_group_type)\
+ (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_delete_group_type)\
+ (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_update_group_type)\
+ (?!.*test_group_snapshots_rbac)\
+ (?!.*test_groups_rbac)\
+ (?!.*test_quota_classes_rbac)\
+ (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_create_interface)\
+ (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_delete_interface)\
+ (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_show_interface)\
+ (?!.*test_user_messages_rbac)\
+ (?!.*test_volume_actions_rbac.VolumesActionsV310RbacTest)\
+ (?!.*test_volume_actions_rbac.VolumesActionsV312RbacTest)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_delete_volume_image_metadata)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_list_volumes_details_image_metadata)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_show_volume_details_image_metadata)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_update_volume_image_metadata)\
+ (?!.*test_volumes_backup_rbac.VolumesBackupsV318RbacTest)\
+ (?!.*test_volumes_backup_rbac.VolumesBackupsV39RbacTest)\
+ (?!.*test_volume_types_rbac)\
+ (?=.*[.*\bslow\b.*])\
+ (^patrole_tempest_plugin.tests.api.(compute|image|network|volume))"
+ option:
+ - '--concurrency=4'
+
+ -
+ case_name: patrole_member
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ Test suite from Patrole project.
+ run:
+ name: patrole
+ args:
+ roles: 'member'
+ mode: "(?!.*test_unmanage_snapshot_rbac)\
+ (?!.*test_show_auto_allocated_topology)\
+ (?!.*test_delete_auto_allocated_topology)\
+ (?!.*test_create_network_provider_segmentation_id)\
+ (?!.*compute.test_floating_ips_rbac)\
+ (?!.*test_reset_network)\
+ (?!.*test_create_image_from_volume_backed_server)\
+ (?!.*test_network_ip_availability_rbac.NetworkIpAvailabilityExtRbacTest.test_get_network_ip_availabilities)\
+ (?!.*test_policy_bandwidth_limit_rule_rbac)\
+ (?!.*test_policy_minimum_bandwidth_rule_rbac)\
+ (?!.*test_group_type_specs)\
+ (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_create_group_type)\
+ (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_delete_group_type)\
+ (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_update_group_type)\
+ (?!.*test_group_snapshots_rbac)\
+ (?!.*test_groups_rbac)\
+ (?!.*test_quota_classes_rbac)\
+ (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_create_interface)\
+ (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_delete_interface)\
+ (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_show_interface)\
+ (?!.*test_user_messages_rbac)\
+ (?!.*test_volume_actions_rbac.VolumesActionsV310RbacTest)\
+ (?!.*test_volume_actions_rbac.VolumesActionsV312RbacTest)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_delete_volume_image_metadata)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_list_volumes_details_image_metadata)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_show_volume_details_image_metadata)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_update_volume_image_metadata)\
+ (?!.*test_volumes_backup_rbac.VolumesBackupsV318RbacTest)\
+ (?!.*test_volumes_backup_rbac.VolumesBackupsV39RbacTest)\
+ (?!.*test_volume_types_rbac)\
+ (?=.*[.*\bslow\b.*])\
+ (^patrole_tempest_plugin.tests.api.(compute|image|network|volume))"
+ option:
+ - '--concurrency=4'
+
+ -
+ case_name: patrole_reader
project_name: functest
criteria: 100
blocking: false
@@ -216,20 +307,41 @@ tiers:
run:
name: patrole
args:
- role: 'admin'
- includes:
- - 'image'
- - 'network'
- excludes:
- - 'network.test_flavors_rbac'
- - 'network.test_network_ip_availability_rbac'
- - 'test_networks_multiprovider_rbac'
- - 'test_auto_allocated_topology_rbac'
- - 'test_create_network_provider_segmentation_id'
- - 'test_update_network_provider_physical_network'
- - 'test_update_network_provider_segmentation_id'
- - 'network.test_agents_rbac'
- - 'test_list_metadef_namespaces'
+ roles: 'reader'
+ mode: "(?!.*test_unmanage_snapshot_rbac)\
+ (?!.*test_show_auto_allocated_topology)\
+ (?!.*test_delete_auto_allocated_topology)\
+ (?!.*test_create_network_provider_segmentation_id)\
+ (?!.*compute.test_floating_ips_rbac)\
+ (?!.*test_reset_network)\
+ (?!.*test_create_image_from_volume_backed_server)\
+ (?!.*test_network_ip_availability_rbac.NetworkIpAvailabilityExtRbacTest.test_get_network_ip_availabilities)\
+ (?!.*test_policy_bandwidth_limit_rule_rbac)\
+ (?!.*test_policy_minimum_bandwidth_rule_rbac)\
+ (?!.*test_group_type_specs)\
+ (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_create_group_type)\
+ (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_delete_group_type)\
+ (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_update_group_type)\
+ (?!.*test_group_snapshots_rbac)\
+ (?!.*test_groups_rbac)\
+ (?!.*test_quota_classes_rbac)\
+ (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_create_interface)\
+ (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_delete_interface)\
+ (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_show_interface)\
+ (?!.*test_user_messages_rbac)\
+ (?!.*test_volume_actions_rbac.VolumesActionsV310RbacTest)\
+ (?!.*test_volume_actions_rbac.VolumesActionsV312RbacTest)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_delete_volume_image_metadata)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_list_volumes_details_image_metadata)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_show_volume_details_image_metadata)\
+ (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_update_volume_image_metadata)\
+ (?!.*test_volumes_backup_rbac.VolumesBackupsV318RbacTest)\
+ (?!.*test_volumes_backup_rbac.VolumesBackupsV39RbacTest)\
+ (?!.*test_volume_types_rbac)\
+ (?=.*[.*\bslow\b.*])\
+ (^patrole_tempest_plugin.tests.api.(compute|image|network|volume))"
+ option:
+ - '--concurrency=4'
-
case_name: tempest_barbican
@@ -246,6 +358,8 @@ tiers:
'^barbican_tempest_plugin.((?!test_signed_image_upload_boot_failure).)*$'
services:
- barbican
+ option:
+ - '--concurrency=4'
-
case_name: tempest_octavia
@@ -266,4 +380,21 @@ tiers:
services:
- octavia
option:
- - '--concurrency=3'
+ - '--concurrency=2'
+
+ -
+ case_name: tempest_cyborg
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ It leverages on the tempest plugin containing tests used to
+ verify the functionality of a cyborg installation.
+ run:
+ name: tempest_common
+ args:
+ mode: '^cyborg_tempest_plugin'
+ services:
+ - cyborg
+ option:
+ - '--concurrency=4'
diff --git a/docker/vnf/Dockerfile b/docker/vnf/Dockerfile
index 38ca42d21..99f848fcd 100644
--- a/docker/vnf/Dockerfile
+++ b/docker/vnf/Dockerfile
@@ -1,35 +1,23 @@
FROM opnfv/functest-core
-ARG BRANCH=master
-ARG OPENSTACK_TAG=master
ARG VIMS_TEST_TAG=release-130
ARG QUAFF_TAG=59213d6d8ee29433552bb75f505cdc96b0b18909
ARG CLOUDIFY_VIMS_TAG=gambia
ARG HEAT_VIMS_TAG=release-130
ARG VROUTER_TAG=fraser
ARG VROUTER_BP_TAG=9b76d46a388d32d4985797620e67c2ed3315b3e4
-ARG JUJU_TAG=tags/juju-2.3.9
-ARG JUJU_WAIT_TAG=2.6.4
ARG ABOT_CHARM=opnfv-fraser
-ARG GODEPS_TAG=404a7e748cd352bb0d7449dedc645546eebbfc6e
-
-ENV GOPATH /src/epc-requirements/go
-ENV GOBIN /src/epc-requirements/go/bin
-ENV PATH $GOBIN:$PATH
COPY clearwater-heat-singlenet-deps.patch /tmp/clearwater-heat-singlenet-deps.patch
RUN apk --no-cache add --update \
ruby ruby-bundler ruby-irb ruby-rdoc \
- procps libxslt libxml2 zlib libffi go musl-dev && \
+ procps libxslt libxml2 zlib libffi musl-dev && \
apk --no-cache add --virtual .build-deps --update \
- ruby-dev g++ make libxslt-dev libxml2-dev zlib-dev libffi-dev && \
- wget -q -O- https://opendev.org/openstack/requirements/raw/branch/$OPENSTACK_TAG/upper-constraints.txt > upper-constraints.txt && \
- sed -i -E /^tempest==+.*$/d upper-constraints.txt && \
- 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 && \
- sed -i -E /#egg=rally/d upper-constraints.opnfv.txt && \
- git clone --depth 1 -b $VIMS_TEST_TAG https://github.com/Metaswitch/clearwater-live-test /src/vims-test && \
+ ruby-dev g++ make libxslt-dev libxml2-dev zlib-dev libffi-dev patch && \
+ git init /src/vims-test && \
+ (cd /src/vims-test && \
+ git fetch --tags https://github.com/Metaswitch/clearwater-live-test $VIMS_TEST_TAG && \
+ git checkout FETCH_HEAD) && \
sed -i s/unf_ext\ \(.*\)/unf_ext\ \(0.0.7.4\)/g /src/vims-test/Gemfile.lock && \
git init /src/vims-test/quaff && \
(cd /src/vims-test/quaff && \
@@ -57,26 +45,14 @@ RUN apk --no-cache add --update \
(cd /home/opnfv/functest/data/router/opnfv-vnf-data && \
git fetch --tags https://github.com/oolorg/opnfv-vnf-data.git $VROUTER_TAG && \
git checkout FETCH_HEAD) && \
- case "$(uname -m)" in \
- "armv7l" | "aarch64") ;; \
- *) \
- git init /src/epc-requirements/abot_charm && \
- (cd /src/epc-requirements/abot_charm && \
- git fetch --tags https://github.com/RebacaInc/abot_charm.git $ABOT_CHARM && \
- git checkout FETCH_HEAD) && \
- pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \
- juju-wait==$JUJU_WAIT_TAG && \
- go get -d github.com/rogpeppe/godeps && \
- (cd $GOPATH/src/github.com/rogpeppe/godeps && git checkout $GODEPS_TAG && go install -v github.com/rogpeppe/godeps) && \
- go get -d -v github.com/juju/juju/... || true && \
- (cd $GOPATH/src/github.com/juju/juju && git checkout $JUJU_TAG && godeps -u dependencies.tsv) && \
- go install -v github.com/juju/juju/... && \
- rm -r $GOPATH/src/ $GOPATH/pkg /src/epc-requirements/abot_charm/.git /root/.cache/go-build;; \
- esac && \
+ git init /src/epc-requirements/abot_charm && \
+ (cd /src/epc-requirements/abot_charm && \
+ git fetch --tags https://github.com/collivier/abot_charm.git $ABOT_CHARM && \
+ git checkout FETCH_HEAD) && \
(cd /src/vims-test && bundle config build.nokogiri --use-system-libraries && bundle install --system && bundle update rest-client) && \
- rm -r upper-constraints.txt upper-constraints.opnfv.txt /src/vims-test/.git /src/cloudify_vims/.git /src/heat_vims/.git /src/vims-test/quaff/.git \
+ rm -r /src/vims-test/.git /src/cloudify_vims/.git /src/heat_vims/.git /src/vims-test/quaff/.git \
/src/vims-test/build-infra/.git /src/opnfv-vnf-vyos-blueprint/.git \
/tmp/clearwater-heat-singlenet-deps.patch && \
apk del .build-deps
-COPY testcases.yaml /usr/lib/python3.8/site-packages/xtesting/ci/testcases.yaml
+COPY testcases.yaml /etc/xtesting/testcases.yaml
CMD ["run_tests", "-t", "all"]
diff --git a/docker/vnf/hooks/post_checkout b/docker/vnf/hooks/post_checkout
index 8d0e98124..c347524ea 100644
--- a/docker/vnf/hooks/post_checkout
+++ b/docker/vnf/hooks/post_checkout
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}"
sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
diff --git a/docker/vnf/testcases.yaml b/docker/vnf/testcases.yaml
index 7d5548b38..6b483af6a 100644
--- a/docker/vnf/testcases.yaml
+++ b/docker/vnf/testcases.yaml
@@ -2,7 +2,6 @@
tiers:
-
name: vnf
- order: 4
description: >-
Collection of VNF test cases.
testcases:
@@ -24,6 +23,8 @@ tiers:
This test case deploys an OpenSource vIMS solution from
Clearwater using the Cloudify orchestrator. It also runs
some signaling traffic.
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: cloudify_ims
@@ -36,6 +37,8 @@ tiers:
This test case deploys an OpenSource vIMS solution from
Clearwater using the OpenStack Heat orchestrator.
It also runs some signaling traffic.
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: heat_ims
@@ -46,6 +49,8 @@ tiers:
blocking: false
description: >-
This test case is vRouter testing.
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: vyos_vrouter
@@ -57,5 +62,7 @@ tiers:
description: >-
vEPC validation with Juju as VNF manager and ABoT as test
executor.
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: juju_epc