aboutsummaryrefslogtreecommitdiffstats
path: root/docker/benchmarking
diff options
context:
space:
mode:
Diffstat (limited to 'docker/benchmarking')
-rw-r--r--docker/benchmarking/Dockerfile30
-rw-r--r--docker/benchmarking/hooks/post_checkout6
-rw-r--r--docker/benchmarking/testcases.yaml67
3 files changed, 103 insertions, 0 deletions
diff --git a/docker/benchmarking/Dockerfile b/docker/benchmarking/Dockerfile
new file mode 100644
index 000000000..d0957f6b8
--- /dev/null
+++ b/docker/benchmarking/Dockerfile
@@ -0,0 +1,30 @@
+FROM opnfv/functest-core
+
+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 && \
+ 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/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/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 /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 /etc/xtesting/testcases.yaml
+CMD ["run_tests", "-t", "all"]
diff --git a/docker/benchmarking/hooks/post_checkout b/docker/benchmarking/hooks/post_checkout
new file mode 100644
index 000000000..c347524ea
--- /dev/null
+++ b/docker/benchmarking/hooks/post_checkout
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}"
+sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
+
+exit $?
diff --git a/docker/benchmarking/testcases.yaml b/docker/benchmarking/testcases.yaml
new file mode 100644
index 000000000..c84d3a00f
--- /dev/null
+++ b/docker/benchmarking/testcases.yaml
@@ -0,0 +1,67 @@
+---
+tiers:
+ -
+ name: benchmarking
+ description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: rally_full
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the full suite of scenarios of the
+ OpenStack Rally suite using several threads and iterations.
+ run:
+ name: rally_full
+ args:
+ optional:
+ - 'gnocchi'
+ - 'barbican'
+
+ -
+ case_name: rally_jobs
+ project_name: functest
+ criteria: 100
+ blocking: false
+ 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:
+ optional:
+ - 'gnocchi'
+
+ -
+ case_name: vmtp
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ VMTP is a small python application that will automatically
+ perform ping connectivity, round trip time measurement
+ (latency) and TCP/UDP throughput
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
+ run:
+ name: vmtp
+
+ -
+ case_name: shaker
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ Shaker wraps around popular system network testing tools
+ 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