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>
53 lines
790 B
Bash
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
|
|
}
|