Add functest-benchmarking-cntt 03/69103/1
authorCédric Ollivier <cedric.ollivier@orange.com>
Tue, 26 Nov 2019 17:24:43 +0000 (18:24 +0100)
committerCédric Ollivier <cedric.ollivier@orange.com>
Tue, 26 Nov 2019 19:20:48 +0000 (20:20 +0100)
It configures Rally to verify the mandatory services asked by CNTT.
It also prepares the next benchmarking (API and dataplane) KPIs.

Change-Id: Ie8701ddfa1a497f8b1a6f839e6ff7a77849b618c
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
(cherry picked from commit 92460cf5330c29eb483d903f3aa659cbad1d58b8)

.travis.yml
build.sh
docker/benchmarking-cntt/Dockerfile [new file with mode: 0644]
docker/benchmarking-cntt/testcases.yaml [new file with mode: 0644]

index 1ddef64..ee75cc9 100644 (file)
@@ -211,9 +211,32 @@ jobs:
         - amd64_dirs=""
         - arm64_dirs=""
         - arm_dirs="docker/smoke-cntt"
+    - script: sudo -E bash build.sh
+      env:
+        - REPO="${DOCKER_USERNAME}"
+        - amd64_dirs="docker/benchmarking-cntt"
+        - arm64_dirs=""
+        - arm_dirs=""
+    - script: sudo -E bash build.sh
+      env:
+        - REPO="${DOCKER_USERNAME}"
+        - amd64_dirs=""
+        - arm64_dirs="docker/benchmarking-cntt"
+        - arm_dirs=""
+    - script: sudo -E bash build.sh
+      env:
+        - REPO="${DOCKER_USERNAME}"
+        - amd64_dirs=""
+        - arm64_dirs=""
+        - arm_dirs="docker/benchmarking-cntt"
     - stage: publish all cntt manifests
       script: >
         sudo manifest-tool push from-args \
           --platforms linux/amd64,linux/arm,linux/arm64 \
           --template ${DOCKER_USERNAME}/functest-smoke-cntt:ARCH-hunter \
           --target ${DOCKER_USERNAME}/functest-smoke-cntt:hunter
+    - script: >
+        sudo manifest-tool push from-args \
+          --platforms linux/amd64,linux/arm,linux/arm64 \
+          --template ${DOCKER_USERNAME}/functest-benchmarking-cntt:ARCH-hunter \
+          --target ${DOCKER_USERNAME}/functest-benchmarking-cntt:hunter
index 2cd00fa..fb401c2 100644 (file)
--- a/build.sh
+++ b/build.sh
@@ -10,7 +10,9 @@ docker/healthcheck \
 docker/smoke \
 docker/benchmarking \
 docker/features \
-docker/vnf"}
+docker/vnf \
+docker/smoke-cntt \
+docker/benchmarking-cntt"}
 arm_dirs=${arm_dirs-"\
 docker/core \
 docker/tempest \
@@ -18,7 +20,8 @@ docker/healthcheck \
 docker/smoke \
 docker/benchmarking \
 docker/features \
-docker/smoke-cntt"}
+docker/smoke-cntt \
+docker/benchmarking-cntt"}
 arm64_dirs=${arm64_dirs-${amd64_dirs}}
 build_opts=("--pull=true" --no-cache "--force-rm=true")
 
diff --git a/docker/benchmarking-cntt/Dockerfile b/docker/benchmarking-cntt/Dockerfile
new file mode 100644 (file)
index 0000000..f4a9642
--- /dev/null
@@ -0,0 +1,4 @@
+FROM opnfv/functest-benchmarking:hunter
+
+COPY testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml
+CMD ["run_tests", "-t", "all"]
diff --git a/docker/benchmarking-cntt/testcases.yaml b/docker/benchmarking-cntt/testcases.yaml
new file mode 100644 (file)
index 0000000..33de867
--- /dev/null
@@ -0,0 +1,70 @@
+---
+tiers:
+    -
+        name: benchmarking
+        order: 2
+        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:
+                        tests:
+                            - 'authenticate'
+                            - 'glance'
+                            - 'cinder'
+                            - 'heat'
+                            - 'keystone'
+                            - 'neutron'
+                            - 'nova'
+                            - 'quotas'
+                            - 'swift'
+
+            -
+                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
+                run:
+                    name: rally_jobs
+                    args:
+                        tests:
+                            - 'neutron'
+            -
+                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:
+                    - POD_ARCH: '^(?!aarch64$)'
+                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.
+                run:
+                    name: shaker