Add functest-benchmarking-cntt 35/69035/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 17:26:21 +0000 (18:26 +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>
.travis.yml
build.sh
docker/benchmarking-cntt/Dockerfile [new file with mode: 0644]
docker/benchmarking-cntt/testcases.yaml [new file with mode: 0644]

index 42c381d..122a602 100644 (file)
@@ -163,9 +163,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-latest \
           --target ${DOCKER_USERNAME}/functest-smoke-cntt:latest
+    - script: >
+        sudo manifest-tool push from-args \
+          --platforms linux/amd64,linux/arm,linux/arm64 \
+          --template ${DOCKER_USERNAME}/functest-benchmarking-cntt:ARCH-latest \
+          --target ${DOCKER_USERNAME}/functest-benchmarking-cntt:latest
index 547f181..b2c4bfd 100644 (file)
--- a/build.sh
+++ b/build.sh
@@ -9,14 +9,17 @@ docker/tempest \
 docker/healthcheck \
 docker/smoke \
 docker/benchmarking \
-docker/vnf"}
+docker/vnf \
+docker/smoke-cntt \
+docker/benchmarking-cntt"}
 arm_dirs=${arm_dirs-"\
 docker/core \
 docker/tempest \
 docker/healthcheck \
 docker/smoke \
 docker/benchmarking \
-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..56641e3
--- /dev/null
@@ -0,0 +1,4 @@
+FROM opnfv/functest-benchmarking
+
+COPY testcases.yaml /usr/lib/python3.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