From 5fb3dd6a52d45240860fa914050bbcec09c1b8c8 Mon Sep 17 00:00:00 2001 From: Ritwik Ranjan Date: Tue, 28 Jan 2025 14:10:44 +0000 Subject: [PATCH 1/2] chore: add network benchmark tool test script and documentation --- experiment/network-benchmark-test/readme.md | 15 ++++++++++++++ experiment/network-benchmark-test/test.sh | 22 +++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 experiment/network-benchmark-test/readme.md create mode 100644 experiment/network-benchmark-test/test.sh diff --git a/experiment/network-benchmark-test/readme.md b/experiment/network-benchmark-test/readme.md new file mode 100644 index 000000000000..a57ea71ae218 --- /dev/null +++ b/experiment/network-benchmark-test/readme.md @@ -0,0 +1,15 @@ +# Test for Network Benchmark Tool + +[This script](./test.sh) verifies the network benchmarks in the [kubernetes/perf-tests](https://github.com/kubernetes/perf-tests) package. It clones the specified fork and branch, runs network benchmark tests against a provided image, and cleans up after execution. + +## Usage + +Set environment variables as needed: +• FORK_TO_TEST (default: kubernetes/perf-tests) +• BRANCH_TO_TEST (default: master) +• IMAGE_TO_TEST (default: ghcr.io/ritwikranjan/nptest:latest) +• KUBECONFIG (default: ~/.kube/config) + +```shell +bash test.sh +``` diff --git a/experiment/network-benchmark-test/test.sh b/experiment/network-benchmark-test/test.sh new file mode 100644 index 000000000000..a345e2d1922c --- /dev/null +++ b/experiment/network-benchmark-test/test.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +FORK_TO_TEST="${FORK_TO_TEST:-kubernetes/perf-tests}" +BRANCH_TO_TEST="${BRANCH_TO_TEST:-master}" +IMAGE_TO_TEST="${IMAGE_TO_TEST:-ghcr.io/ritwikranjan/nptest:latest}" + +KUBECONFIG=${KUBECONFIG:-~/.kube/config} + +echo "Forking the repository..." +git clone "https://github.com/$FORK_TO_TEST.git" +cd $(basename $FORK_TO_TEST) +git checkout "$BRANCH_TO_TEST" + +echo "Navigating to network/benchmarks/netperf directory..." +cd network/benchmarks/netperf +echo "Running netperf test..." +go run launch.go -image=$IMAGE_TO_TEST -kubeConfig=$KUBECONFIG -testFrom=0 -testTo=1 -json + +echo "Cleaning up..." +cd ../../../.. +rm -rf $(basename $FORK_TO_TEST) +echo "Script execution completed." From 9866ad36380c4736fcac102d8aafd719765fb507 Mon Sep 17 00:00:00 2001 From: Ritwik Ranjan Date: Fri, 31 Jan 2025 13:08:29 +0000 Subject: [PATCH 2/2] chore: update test script permissions and add license information --- experiment/network-benchmark-test/test.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) mode change 100644 => 100755 experiment/network-benchmark-test/test.sh diff --git a/experiment/network-benchmark-test/test.sh b/experiment/network-benchmark-test/test.sh old mode 100644 new mode 100755 index a345e2d1922c..2fe949aea3bd --- a/experiment/network-benchmark-test/test.sh +++ b/experiment/network-benchmark-test/test.sh @@ -1,5 +1,19 @@ #!/bin/bash +# Copyright 2025 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FORK_TO_TEST="${FORK_TO_TEST:-kubernetes/perf-tests}" BRANCH_TO_TEST="${BRANCH_TO_TEST:-master}" IMAGE_TO_TEST="${IMAGE_TO_TEST:-ghcr.io/ritwikranjan/nptest:latest}"