Spdk/test/sma/common.sh
Konrad Sztyber 045152b220 test/sma: quality of service test
The test verifies that bdev-based QoS settings are correctly applied on
NVMe/TCP devices.  Other device types supporting bdev-based QoS will
share most of the code, so NVMe/TCP is a good test vehicle, as it's the
easiest one to set up.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: Ic715483e888a7219fd27367d527201d75e8b69a2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14270
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-09-22 12:38:37 +00:00

53 lines
790 B
Bash

function sma_waitforlisten() {
local sma_addr=${1:-127.0.0.1}
local sma_port=${2:-8080}
for ((i = 0; i < 5; i++)); do
if nc -z $sma_addr $sma_port; then
return 0
fi
sleep 1s
done
return 1
}
function uuid2base64() {
python <<- EOF
import base64, uuid
print(base64.b64encode(uuid.UUID("$1").bytes).decode())
EOF
}
get_cipher() {
case "$1" in
AES_CBC) echo 0 ;;
AES_XTS) echo 1 ;;
*) echo "$1" ;;
esac
}
format_key() {
base64 <(echo -n "$1")
}
uuid2nguid() {
# The NGUID returned by the RPC is UPPERCASE
local uuid=${1^^}
echo ${uuid//-/}
}
get_qos_caps() {
local rootdir
rootdir="$(dirname $BASH_SOURCE)/../.."
"$rootdir/scripts/sma-client.py" <<- EOF
{
"method": "GetQosCapabilities",
"params": {
"device_type": $1
}
}
EOF
}