github.com/kata-containers/tests@v0.0.0-20240307153542-772105b56064/metrics/storage/fio-k8s/fio-test-ci.sh (about) 1 #!/bin/bash 2 # 3 # Copyright (c) 2022 Intel Corporation 4 # 5 # SPDX-License-Identifier: Apache-2.0 6 7 set -e 8 9 # General env 10 SCRIPT_PATH=$(dirname "$(readlink -f "$0")") 11 source "${SCRIPT_PATH}/../../lib/common.bash" 12 CI_JOB="${CI_JOB:-}" 13 TEST_REPO="${test_repo:-github.com/kata-containers/tests}" 14 FIO_PATH="${GOPATH}/src/${TEST_REPO}/metrics/storage/fio-k8s" 15 TEST_NAME="${TEST_NAME:-fio}" 16 17 function main() { 18 cmds=("bc" "jq") 19 check_cmds "${cmds[@]}" 20 check_processes 21 init_env 22 23 if [ -z "${CI_JOB}" ]; then 24 # Start kubernetes 25 start_kubernetes 26 fi 27 export KUBECONFIG="$HOME/.kube/config" 28 29 pushd "${FIO_PATH}" 30 echo "INFO: Running K8S FIO test" 31 make test-ci 32 popd 33 34 test_result_file="${FIO_PATH}/cmd/fiotest/test-results/kata/randrw-sync.job/output.json" 35 36 metrics_json_init 37 local read_io=$(cat $test_result_file | grep io_bytes | head -1 | sed 's/[[:blank:]]//g' | cut -f2 -d ':' | cut -f1 -d ',') 38 local read_bw=$(cat $test_result_file | grep bw_bytes | head -1 | sed 's/[[:blank:]]//g' | cut -f2 -d ':' | cut -f1 -d ',') 39 local read_90_percentile=$(cat $test_result_file | grep 90.000000 | head -1 | sed 's/[[:blank:]]//g' | cut -f2 -d ':' | cut -f1 -d ',') 40 local read_95_percentile=$(cat $test_result_file | grep 95.000000 | head -1 | sed 's/[[:blank:]]//g' | cut -f2 -d ':' | cut -f1 -d ',') 41 local write_io=$(cat $test_result_file | grep io_bytes | head -2 | tail -1 | sed 's/[[:blank:]]//g' | cut -f2 -d ':' | cut -f1 -d ',') 42 local write_bw=$(cat $test_result_file | grep bw_bytes | head -2 | tail -1 | sed 's/[[:blank:]]//g' | cut -f2 -d ':' | cut -f1 -d ',') 43 local write_90_percentile=$(cat $test_result_file | grep 90.000000 | head -2 | tail -1 | sed 's/[[:blank:]]//g' | cut -f2 -d ':' | cut -f1 -d ',') 44 local write_95_percentile=$(cat $test_result_file | grep 95.000000 | head -2 | tail -1 | sed 's/[[:blank:]]//g' | cut -f2 -d ':' | cut -f1 -d ',') 45 46 metrics_json_start_array 47 local json="$(cat << EOF 48 { 49 "readio": { 50 "Result" : $read_io, 51 "Units" : "bytes" 52 }, 53 "readbw": { 54 "Result" : $read_bw, 55 "Units" : "bytes/sec" 56 }, 57 "read90percentile": { 58 "Result" : $read_90_percentile, 59 "Units" : "ns" 60 }, 61 "read95percentile": { 62 "Result" : $read_95_percentile, 63 "Units" : "ns" 64 }, 65 "writeio": { 66 "Result" : $write_io, 67 "Units" : "bytes" 68 }, 69 "writebw": { 70 "Result" : $write_bw, 71 "Units" : "bytes/sec" 72 }, 73 "write90percentile": { 74 "Result" : $write_90_percentile, 75 "Units" : "ns" 76 }, 77 "write95percentile": { 78 "Result" : $write_95_percentile, 79 "Units" : "ns" 80 } 81 } 82 EOF 83 )" 84 metrics_json_add_array_element "$json" 85 metrics_json_end_array "Results" 86 metrics_json_save 87 88 if [ -z "${CI_JOB}" ]; then 89 end_kubernetes 90 check_processes 91 fi 92 } 93 94 main "$@"