From 5b8db30422ff62aeb6bdb620e4b43eabd02ebee5 Mon Sep 17 00:00:00 2001 From: Gabriela Cervantes Date: Mon, 7 Aug 2023 21:11:02 +0000 Subject: [PATCH 1/5] metrics: Enable iperf benchmark on gha for kata metrics This PR enables the iperf benchmark to run on the gha for kata metrics. Fixes #7575 Signed-off-by: Gabriela Cervantes --- tests/metrics/gha-run.sh | 2 -- .../network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/metrics/gha-run.sh b/tests/metrics/gha-run.sh index a9121917aa..bc8cbaf67b 100755 --- a/tests/metrics/gha-run.sh +++ b/tests/metrics/gha-run.sh @@ -93,8 +93,6 @@ function run_test_fio() { function run_test_iperf() { info "Running Iperf test using ${KATA_HYPERVISOR} hypervisor" - # ToDo: remove the exit once the metrics workflow is stable - exit 0 bash network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh } diff --git a/tests/metrics/network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh b/tests/metrics/network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh index 6593bb6515..f9d24463b4 100755 --- a/tests/metrics/network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh +++ b/tests/metrics/network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh @@ -18,6 +18,8 @@ # case 2" # container-server <----> host-client +set -x + set -o pipefail SCRIPT_PATH=$(dirname "$(readlink -f "$0")") From f609a9a754378e43efac82bfd0809d76dab6f834 Mon Sep 17 00:00:00 2001 From: Gabriela Cervantes Date: Mon, 7 Aug 2023 21:15:22 +0000 Subject: [PATCH 2/5] metrics: Add test selector to iperf metrics This PR adds test selector to iperf metrics. Signed-off-by: Gabriela Cervantes --- tests/metrics/gha-run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/metrics/gha-run.sh b/tests/metrics/gha-run.sh index bc8cbaf67b..e17736266c 100755 --- a/tests/metrics/gha-run.sh +++ b/tests/metrics/gha-run.sh @@ -94,7 +94,7 @@ function run_test_fio() { function run_test_iperf() { info "Running Iperf test using ${KATA_HYPERVISOR} hypervisor" - bash network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh + bash tests/metrics/network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh -a } function main() { From 6a79ecedf9aeca8b6933b15acb4b7ece9f10dc34 Mon Sep 17 00:00:00 2001 From: Gabriela Cervantes Date: Wed, 23 Aug 2023 19:54:58 +0000 Subject: [PATCH 3/5] metrics: Add jitter value for clh This PR adds jitter value for clh for iperf metrics. Signed-off-by: Gabriela Cervantes --- .../checkmetrics-json-clh-kata-metric8.toml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-clh-kata-metric8.toml b/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-clh-kata-metric8.toml index e680c771ee..a7217274bf 100644 --- a/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-clh-kata-metric8.toml +++ b/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-clh-kata-metric8.toml @@ -110,3 +110,15 @@ checktype = "mean" midval = 38656.0 minpercent = 20.0 maxpercent = 20.0 + +name = "iperf" +type = "json" +description = "iperf" +# Min and Max values to set a 'range' that +# the median of the CSV Results data must fall +# within (inclusive) +checkvar = ".\"iperf\".Results | .[] | .jitter.Result" +checktype = "mean" +midval = 0.039 +minpercent = 20.0 +maxpercent = 20.0 From c1edfe551133f91669eb03925acbdbceac36863f Mon Sep 17 00:00:00 2001 From: Gabriela Cervantes Date: Wed, 23 Aug 2023 20:01:26 +0000 Subject: [PATCH 4/5] metrics: Add checkmetrics value for qemu for iperf This PR adds the checkmetrics value for qemu for iperf benchmark. Signed-off-by: Gabriela Cervantes --- .../ci_worker/checkmetrics-json-qemu-kata-metric8.toml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-qemu-kata-metric8.toml b/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-qemu-kata-metric8.toml index 56e661a49f..f3a1bf52ee 100644 --- a/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-qemu-kata-metric8.toml +++ b/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-qemu-kata-metric8.toml @@ -108,5 +108,15 @@ description = "measure write 90 percentile using fio" checkvar = ".\"fio\".Results | .[] | .write90percentile.Result" checktype = "mean" midval = 37120.0 + +name = "iperf" +type = "json" +description = "iperf" +# Min and Max values to set a 'range' that +# the median of the CSV Results data must fall +# within (inclusive) +checkvar = ".\"iperf\".Results | .[] | .jitter.Result" +checktype = "mean" +midval = 0.50 minpercent = 20.0 maxpercent = 20.0 From e98e5cdea2c4d718a4090f6dd393aaee0b0e57ce Mon Sep 17 00:00:00 2001 From: Gabriela Cervantes Date: Wed, 23 Aug 2023 20:02:50 +0000 Subject: [PATCH 5/5] metrics: Add checkmetrics to gha run script This PR adds the checkmetrics to gha run script. Signed-off-by: Gabriela Cervantes --- .../checkmetrics-json-clh-kata-metric8.toml | 11 ++++++----- .../checkmetrics-json-qemu-kata-metric8.toml | 13 ++++++++----- tests/metrics/gha-run.sh | 4 ++-- .../iperf3_kubernetes/k8s-network-metrics-iperf3.sh | 4 ++-- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-clh-kata-metric8.toml b/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-clh-kata-metric8.toml index a7217274bf..c852b6ec37 100644 --- a/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-clh-kata-metric8.toml +++ b/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-clh-kata-metric8.toml @@ -111,14 +111,15 @@ midval = 38656.0 minpercent = 20.0 maxpercent = 20.0 -name = "iperf" +[[metric]] +name = "network-iperf3" type = "json" description = "iperf" # Min and Max values to set a 'range' that # the median of the CSV Results data must fall # within (inclusive) -checkvar = ".\"iperf\".Results | .[] | .jitter.Result" +checkvar = ".\"network-iperf3\".Results | .[] | .jitter.Result" checktype = "mean" -midval = 0.039 -minpercent = 20.0 -maxpercent = 20.0 +midval = 0.044 +minpercent = 30.0 +maxpercent = 30.0 diff --git a/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-qemu-kata-metric8.toml b/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-qemu-kata-metric8.toml index f3a1bf52ee..66e8f0e22d 100644 --- a/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-qemu-kata-metric8.toml +++ b/tests/metrics/cmd/checkmetrics/ci_worker/checkmetrics-json-qemu-kata-metric8.toml @@ -108,15 +108,18 @@ description = "measure write 90 percentile using fio" checkvar = ".\"fio\".Results | .[] | .write90percentile.Result" checktype = "mean" midval = 37120.0 +minpercent = 20.0 +maxpercent = 20.0 -name = "iperf" +[[metric]] +name = "network-iperf3" type = "json" description = "iperf" # Min and Max values to set a 'range' that # the median of the CSV Results data must fall # within (inclusive) -checkvar = ".\"iperf\".Results | .[] | .jitter.Result" +checkvar = ".\"network-iperf3\".Results | .[] | .jitter.Result" checktype = "mean" -midval = 0.50 -minpercent = 20.0 -maxpercent = 20.0 +midval = 0.041 +minpercent = 30.0 +maxpercent = 30.0 diff --git a/tests/metrics/gha-run.sh b/tests/metrics/gha-run.sh index e17736266c..77ef0fc256 100755 --- a/tests/metrics/gha-run.sh +++ b/tests/metrics/gha-run.sh @@ -87,14 +87,14 @@ function run_test_fio() { info "Running FIO test using ${KATA_HYPERVISOR} hypervisor" bash tests/metrics/storage/fio-k8s/fio-test-ci.sh - - check_metrics } function run_test_iperf() { info "Running Iperf test using ${KATA_HYPERVISOR} hypervisor" bash tests/metrics/network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh -a + + check_metrics } function main() { diff --git a/tests/metrics/network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh b/tests/metrics/network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh index f9d24463b4..9d434e9123 100755 --- a/tests/metrics/network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh +++ b/tests/metrics/network/iperf3_kubernetes/k8s-network-metrics-iperf3.sh @@ -18,8 +18,6 @@ # case 2" # container-server <----> host-client -set -x - set -o pipefail SCRIPT_PATH=$(dirname "$(readlink -f "$0")") @@ -179,6 +177,8 @@ function iperf3_start_deployment() { cmds=("bc" "jq") check_cmds "${cmds[@]}" + init_env + # Check no processes are left behind check_processes