aboutsummaryrefslogtreecommitdiffstats
path: root/docker/benchmarking
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2021-05-09 17:15:33 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2021-05-09 17:16:47 +0200
commit3b5c1b115e234d636cb4f2a17d27ced872fee924 (patch)
tree3b54ca7c8e548797ce3d1288e42d7f8694de5b21 /docker/benchmarking
parent9eb324fe8232aa83f912291f961b5b4686f76169 (diff)
Benchmark Kubernetes Networking Performance
https://github.com/kubernetes/perf-tests/tree/master/network/benchmarks/netperf Change-Id: I6facd567f1c52c5949b53484a1fb107dcf34d622 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Diffstat (limited to 'docker/benchmarking')
-rw-r--r--docker/benchmarking/Dockerfile12
-rw-r--r--docker/benchmarking/testcases.yaml11
2 files changed, 23 insertions, 0 deletions
diff --git a/docker/benchmarking/Dockerfile b/docker/benchmarking/Dockerfile
index 6625322c..d209b009 100644
--- a/docker/benchmarking/Dockerfile
+++ b/docker/benchmarking/Dockerfile
@@ -1,4 +1,16 @@
FROM opnfv/functest-kubernetes-smoke
+COPY plotperf.py.patch /tmp/plotperf.py.patch
+RUN apk --no-cache add --update py3-matplotlib && \
+ apk --no-cache add --virtual .build-deps --update patch go && \
+ ln -s /usr/bin/python3 /usr/bin/python && \
+ git clone https://github.com/kubernetes/perf-tests && \
+ (cd perf-tests/network/benchmarks/netperf && go build -o /usr/local/bin/launch launch.go) && \
+ curl https://raw.githubusercontent.com/girishkalele/pyplot-docker/master/plotperf.py \
+ --output /usr/local/bin/plotperf.py && \
+ (cd /usr/local/bin && patch -p0 < /tmp/plotperf.py.patch && \
+ mv plotperf.py plotperf && chmod a+x plotperf) && \
+ rm -rf perf-tests /tmp/plotperf.py.patch && \
+ apk del .build-deps
COPY testcases.yaml /usr/lib/python3.8/site-packages/xtesting/ci/testcases.yaml
CMD ["run_tests", "-t", "all"]
diff --git a/docker/benchmarking/testcases.yaml b/docker/benchmarking/testcases.yaml
index 1a850e22..bcf40d45 100644
--- a/docker/benchmarking/testcases.yaml
+++ b/docker/benchmarking/testcases.yaml
@@ -20,3 +20,14 @@ tiers:
times: 10
concurrency: 4
namespaces_count: 3
+ - case_name: netperf
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ A standardized benchmark to measure Kubernetes networking performance
+ on multiple host platforms and network stacks.
+ dependencies:
+ - DEPLOY_SCENARIO: "k8-*"
+ run:
+ name: netperf