зеркало из https://github.com/microsoft/lisa.git
Коммит
3a628fbf59
|
@ -0,0 +1,194 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# This script will do setup huge pages and DPDK installation with SRC & DST IPs for DPDk TestPmd test.
|
||||
# To run this script constants.sh details must.
|
||||
#
|
||||
########################################################################################################
|
||||
|
||||
HOMEDIR=`pwd`
|
||||
dpdkSrcLink="https://fast.dpdk.org/rel/dpdk-18.02.1.tar.xz"
|
||||
dpdkSrcTar="${dpdkSrcLink##*/}"
|
||||
dpdkversion=`echo $dpdkSrc | grep -Po "(\d+\.)+\d+"`
|
||||
dpdkSrcDir=""
|
||||
DPDK_BUILD=x86_64-native-linuxapp-gcc
|
||||
srcIp=""
|
||||
dstIp=""
|
||||
|
||||
CONSTANTS_FILE="./constants.sh"
|
||||
ICA_TESTCONFIGURATION="TestConfiguration" # The test configuration is running
|
||||
ICA_TESTRUNNING="TestRunning" # The test is running
|
||||
ICA_TESTCOMPLETED="TestCompleted" # The test completed successfully
|
||||
ICA_TESTABORTED="TestAborted" # Error during the setup of the test
|
||||
ICA_TESTFAILED="TestFailed" # Error occurred during the test
|
||||
touch ./dpdkRuntime.log
|
||||
|
||||
LogMsg()
|
||||
{
|
||||
echo `date "+%b %d %Y %T"` : "${1}" # Add the time stamp to the log message
|
||||
echo `date "+%b %d %Y %T"` : "${1}" >> $HOMEDIR/dpdkRuntime.log
|
||||
}
|
||||
|
||||
UpdateTestState()
|
||||
{
|
||||
echo "${1}" >> $HOMEDIR/state.txt
|
||||
}
|
||||
|
||||
apt-get -y install ifupdown
|
||||
ifup eth1 && ifup eth2
|
||||
ssh root@server-vm "apt-get -y install ifupdown"
|
||||
ssh root@server-vm "ifup eth1 && ifup eth2"
|
||||
sleep 5
|
||||
serverIPs=($(ssh root@server-vm "hostname -I | awk '{print $1}'"))
|
||||
clientIPs=($(ssh root@client-vm "hostname -I | awk '{print $1}'"))
|
||||
|
||||
server=${serverIPs[0]}
|
||||
serverNIC1ip=${serverIPs[1]}
|
||||
serverNIC2ip=${serverIPs[2]}
|
||||
client=${clientIPs[0]}
|
||||
clientNIC1ip=${clientIPs[1]}
|
||||
clientNIC2ip=${clientIPs[2]}
|
||||
echo "server-vm : eth0 : ${server} : eth1 : ${serverNIC1ip} eth2 : ${serverNIC2ip}"
|
||||
echo "client-vm : eth0 : ${client} : eth1 : ${clientNIC1ip} eth2 : ${clientNIC2ip}"
|
||||
|
||||
if [ -e ${CONSTANTS_FILE} ]; then
|
||||
source ${CONSTANTS_FILE}
|
||||
else
|
||||
errMsg="Error: missing ${CONSTANTS_FILE} file"
|
||||
LogMsg "${errMsg}"
|
||||
UpdateTestState $ICA_TESTABORTED
|
||||
exit 10
|
||||
fi
|
||||
|
||||
function checkCmdExitStatus ()
|
||||
{
|
||||
exit_status=$?
|
||||
cmd=$1
|
||||
|
||||
if [ $exit_status -ne 0 ]; then
|
||||
echo "$cmd: FAILED (exit code: $exit_status)"
|
||||
if [ "$2" == "exit" ]
|
||||
then
|
||||
exit $exit_status
|
||||
fi
|
||||
else
|
||||
echo "$cmd: SUCCESS"
|
||||
fi
|
||||
}
|
||||
|
||||
function hugePageSetup ()
|
||||
{
|
||||
UpdateTestState "Huge page setup is running"
|
||||
ssh ${1} "mkdir -p /mnt/huge"
|
||||
ssh ${1} "mkdir -p /mnt/huge-1G"
|
||||
ssh ${1} "mount -t hugetlbfs nodev /mnt/huge"
|
||||
ssh ${1} "mount -t hugetlbfs nodev /mnt/huge-1G -o 'pagesize=1G'"
|
||||
ssh ${1} "mount -l | grep mnt"
|
||||
ssh ${1} "grep 'Hugepagesize' /proc/meminfo"
|
||||
ssh ${1} "echo 4096 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages"
|
||||
ssh ${1} "echo 1 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages"
|
||||
ssh ${1} "grep 'Hugepagesize' /proc/meminfo"
|
||||
}
|
||||
|
||||
function installDPDK ()
|
||||
{
|
||||
UpdateTestState ICA_TESTCONFIGURATION
|
||||
DISTRO=`grep -ihs "buntu\|Suse\|Fedora\|Debian\|CentOS\|Red Hat Enterprise Linux\|clear-linux-os" /etc/{issue,*release,*version} /usr/lib/os-release`
|
||||
srcIp=${2}
|
||||
dstIp=${3}
|
||||
|
||||
if [[ $DISTRO =~ "Ubuntu 18.04" ]];
|
||||
then
|
||||
LogMsg "Detected UBUNTU"
|
||||
LogMsg "Configuring ${1} for DPDK test..."
|
||||
srcIp=${2}
|
||||
dstIp=${3}
|
||||
ssh ${1} "until dpkg --force-all --configure -a; sleep 10; do echo 'Trying again...'; done"
|
||||
ssh ${1} "add-apt-repository ppa:canonical-server/dpdk-mlx-tech-preview"
|
||||
ssh ${1} "apt-get update"
|
||||
LogMsg "Configuring ${1} for DPDK test..."
|
||||
ssh ${1} "apt-get install -y gcc wget tar make dpdk-doc dpdk-dev libdpdk-dev librdmacm-dev librdmacm1 build-essential libnuma-dev libpcap-dev ibverbs-utils"
|
||||
elif [[ $DISTRO =~ "Ubuntu 16.04" ]];
|
||||
then
|
||||
LogMsg "Detected UBUNTU 16.04"
|
||||
LogMsg "Configuring ${1} for DPDK test..."
|
||||
ssh ${1} "wget http://content.mellanox.com/ofed/MLNX_OFED-4.3-1.0.1.0/MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86_64.tgz"
|
||||
ssh ${1} "tar xvf MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86_64.tgz"
|
||||
ssh ${1} "cd MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86_64 && ./mlnxofedinstall --upstream-libs --guest --dpdk --force"
|
||||
checkCmdExitStatus "MLX driver install on ${1}"
|
||||
srcIp=${2}
|
||||
dstIp=${3}
|
||||
ssh ${1} "until dpkg --force-all --configure -a; sleep 10; do echo 'Trying again...'; done"
|
||||
ssh ${1} "add-apt-repository ppa:canonical-server/dpdk-mlx-tech-preview"
|
||||
ssh ${1} "apt-get update"
|
||||
LogMsg "Configuring ${1} for DPDK test..."
|
||||
ssh ${1} "apt-get install -y gcc wget tar make dpdk-doc dpdk-dev libdpdk-dev librdmacm-dev librdmacm1 build-essential libnuma-dev libpcap-dev ibverbs-utils"
|
||||
elif [[ $DISTRO =~ "CentOS Linux release 7" ]] || [[ $DISTRO =~ "Red Hat Enterprise Linux Server release 7" ]]; then
|
||||
LogMsg "Detected RHEL/CENTOS 7.x"
|
||||
ssh ${1} "yum -y groupinstall 'Infiniband Support'"
|
||||
ssh ${1} "yum install -y kernel-devel-`uname -r` gcc make numactl-devel.x86_64 numactl-debuginfo.x86_64 numad.x86_64 numactl.x86_64 numactl-libs.x86_64 libpcap-devel librdmacm-devel librdmacm dpdk-doc dpdk-devel librdmacm-utils libibcm libibverbs-utils libibverbs"
|
||||
ssh ${1} "dracut --add-drivers 'mlx4_en mlx4_ib mlx5_ib' -f "
|
||||
ssh ${1} "systemctl enable rdma"
|
||||
|
||||
dpdkSrcLink="https://dpdk.org/browse/dpdk/snapshot/dpdk-18.05-rc2.tar.gz"
|
||||
dpdkSrcTar="${dpdkSrcLink##*/}"
|
||||
dpdkversion=`echo $dpdkSrc | grep -Po "(\d+\.)+\d+"`
|
||||
else
|
||||
LogMsg "Unknown Distro"
|
||||
UpdateTestState "TestAborted"
|
||||
UpdateSummary "Unknown Distro, test aborted"
|
||||
return 1
|
||||
fi
|
||||
LogMsg "Installing DPDK from source file $dpdkSrcTar"
|
||||
ssh ${1} "wget $dpdkSrcLink -P /tmp"
|
||||
ssh ${1} "tar xvf /tmp/$dpdkSrcTar"
|
||||
dpdkSrcDir=`ls | grep dpdk-`
|
||||
LogMsg "dpdk source on ${1} $dpdkSrcDir"
|
||||
if [ ! -z "$srcIp" -a "$srcIp" != " " ];
|
||||
then
|
||||
LogMsg "dpdk build with NIC SRC IP $srcIp ADDR on ${1}"
|
||||
srcIpArry=( `echo $srcIp | sed "s/\./ /g"` )
|
||||
srcIpAddrs="define IP_SRC_ADDR ((${srcIpArry[0]}U << 24) | (${srcIpArry[1]} << 16) | ( ${srcIpArry[2]} << 8) | ${srcIpArry[3]})"
|
||||
srcIpConfigCmd="sed -i 's/define IP_SRC_ADDR.*/$srcIpAddrs/' $HOMEDIR/$dpdkSrcDir/app/test-pmd/txonly.c"
|
||||
LogMsg "ssh ${1} $srcIpConfigCmd"
|
||||
ssh ${1} $srcIpConfigCmd
|
||||
checkCmdExitStatus "SRC IP configuration on ${1}"
|
||||
else
|
||||
LogMsg "dpdk build with default DST IP ADDR on ${1}"
|
||||
fi
|
||||
if [ ! -z "$dstIp" -a "$dstIp" != " " ];
|
||||
then
|
||||
LogMsg "dpdk build with NIC DST IP $dstIp ADDR on ${1}"
|
||||
dstIpArry=( `echo $dstIp | sed "s/\./ /g"` )
|
||||
dstIpAddrs="define IP_DST_ADDR ((${dstIpArry[0]}U << 24) | (${dstIpArry[1]} << 16) | (${dstIpArry[2]} << 8) | ${dstIpArry[3]})"
|
||||
dstIpConfigCmd="sed -i 's/define IP_DST_ADDR.*/$dstIpAddrs/' $HOMEDIR/$dpdkSrcDir/app/test-pmd/txonly.c"
|
||||
LogMsg "ssh ${1} $dstIpConfigCmd"
|
||||
ssh ${1} $dstIpConfigCmd
|
||||
checkCmdExitStatus "DST IP configuration on ${1}"
|
||||
else
|
||||
LogMsg "dpdk build with default DST IP ADDR on ${1}"
|
||||
fi
|
||||
LogMsg "MLX_PMD flag enabling on ${1}"
|
||||
ssh ${1} "sed -i 's/^CONFIG_RTE_LIBRTE_MLX4_PMD=n/CONFIG_RTE_LIBRTE_MLX4_PMD=y/g' $HOMEDIR/$dpdkSrcDir/config/common_base"
|
||||
checkCmdExitStatus "${1} CONFIG_RTE_LIBRTE_MLX4_PMD=y"
|
||||
ssh ${1} "cd $HOMEDIR/$dpdkSrcDir && make config O=$DPDK_BUILD T=$DPDK_BUILD"
|
||||
ssh ${1} "cd $HOMEDIR/$dpdkSrcDir/$DPDK_BUILD && make -j8"
|
||||
checkCmdExitStatus "dpdk build on ${1}"
|
||||
}
|
||||
|
||||
# Script start from here
|
||||
LogMsg "*********INFO: Script execution Started********"
|
||||
LogMsg "*********INFO: Starting Huge page configuration*********"
|
||||
LogMsg "INFO: Configuring huge pages on client ${client}..."
|
||||
hugePageSetup ${client}
|
||||
|
||||
LogMsg "INFO: Configuring huge pages on server ${server}..."
|
||||
hugePageSetup ${server}
|
||||
|
||||
LogMsg "*********INFO: Starting setup & configuration of DPDK*********"
|
||||
LogMsg "INFO: Installing DPDK on client ${client}..."
|
||||
installDPDK ${client} ${clientNIC1ip} ${serverNIC1ip}
|
||||
|
||||
LogMsg "INFO: Installing DPDK on server ${server}..."
|
||||
installDPDK ${server} ${serverNIC1ip} ${clientNIC1ip}
|
||||
|
||||
LogMsg "*********INFO: DPDK setup script execution reach END. Completed !!!*********"
|
|
@ -0,0 +1,222 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# This script will run DPDk TestPmd test and generate report in .csv file.
|
||||
# To run this script constants.sh details must.
|
||||
#
|
||||
########################################################################################################
|
||||
|
||||
HOMEDIR=`pwd`
|
||||
LOGDIR="${HOMEDIR}/DpdkTestPmdLogs"
|
||||
dpdkSrcLink="https://fast.dpdk.org/rel/dpdk-18.02.1.tar.xz"
|
||||
dpdkSrcTar="${dpdkSrcLink##*/}"
|
||||
dpdkversion=`echo $dpdkSrc | grep -Po "(\d+\.)+\d+"`
|
||||
dpdkSrcDir=""
|
||||
DPDK_BUILD=x86_64-native-linuxapp-gcc
|
||||
srcIp=""
|
||||
dstIp=""
|
||||
|
||||
CONSTANTS_FILE="./constants.sh"
|
||||
ICA_TESTCONFIGURATION="TestConfiguration" # The test configuration is running
|
||||
ICA_TESTRUNNING="TestRunning" # The test is running
|
||||
ICA_TESTCOMPLETED="TestCompleted" # The test completed successfully
|
||||
ICA_TESTABORTED="TestAborted" # Error during the setup of the test
|
||||
ICA_TESTFAILED="TestFailed" # Error occurred during the test
|
||||
touch ./dpdkRuntime.log
|
||||
|
||||
LogMsg()
|
||||
{
|
||||
echo `date "+%b %d %Y %T"` : "${1}" # Add the time stamp to the log message
|
||||
echo `date "+%b %d %Y %T"` : "${1}" >> $HOMEDIR/dpdkRuntime.log
|
||||
}
|
||||
|
||||
UpdateTestState()
|
||||
{
|
||||
echo "${1}" >> $HOMEDIR/state.txt
|
||||
}
|
||||
|
||||
apt-get -y install ifupdown
|
||||
ifup eth1 && ifup eth2
|
||||
ssh root@server-vm "apt-get -y install ifupdown"
|
||||
ssh root@server-vm "ifup eth1 && ifup eth2"
|
||||
sleep 5
|
||||
serverIPs=($(ssh root@server-vm "hostname -I | awk '{print $1}'"))
|
||||
clientIPs=($(ssh root@client-vm "hostname -I | awk '{print $1}'"))
|
||||
rxonly_mode=""
|
||||
io_mode=""
|
||||
|
||||
server=${serverIPs[0]}
|
||||
serverNIC1ip=${serverIPs[1]}
|
||||
serverNIC2ip=${serverIPs[2]}
|
||||
client=${clientIPs[0]}
|
||||
clientNIC1ip=${clientIPs[1]}
|
||||
clientNIC2ip=${clientIPs[2]}
|
||||
echo "server-vm : eth0 : ${server} : eth1 : ${serverNIC1ip} eth2 : ${serverNIC2ip}"
|
||||
echo "client-vm : eth0 : ${client} : eth1 : ${clientNIC1ip} eth2 : ${clientNIC2ip}"
|
||||
|
||||
if [ -e ${CONSTANTS_FILE} ]; then
|
||||
source ${CONSTANTS_FILE}
|
||||
else
|
||||
errMsg="Error: missing ${CONSTANTS_FILE} file"
|
||||
LogMsg "${errMsg}"
|
||||
UpdateTestState $ICA_TESTABORTED
|
||||
exit 10
|
||||
fi
|
||||
|
||||
function checkCmdExitStatus ()
|
||||
{
|
||||
exit_status=$?
|
||||
cmd=$1
|
||||
|
||||
if [ $exit_status -ne 0 ]; then
|
||||
echo "$cmd: FAILED (exit code: $exit_status)"
|
||||
if [ "$2" == "exit" ]
|
||||
then
|
||||
exit $exit_status
|
||||
UpdateTestState ICA_TESTFAILED
|
||||
fi
|
||||
else
|
||||
echo "$cmd: SUCCESS"
|
||||
fi
|
||||
}
|
||||
|
||||
runTestPmd()
|
||||
{
|
||||
UpdateTestState ICA_TESTRUNNING
|
||||
mkdir -p $LOGDIR
|
||||
ssh ${server} "mkdir -p $LOGDIR"
|
||||
dpdkSrcDir=`ls | grep dpdk-`
|
||||
testDuration=60
|
||||
|
||||
for testmode in $modes; do
|
||||
LogMsg "Configure huge pages on ${server}"
|
||||
ssh ${server} "mkdir -p /mnt/huge; mkdir -p /mnt/huge-1G; mount -t hugetlbfs nodev /mnt/huge && mount -t hugetlbfs nodev /mnt/huge-1G -o 'pagesize=1G' && echo 4096 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages && echo 1 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages && grep -i hug /proc/meminfo"
|
||||
LogMsg "TestPmd is starting on ${serverNIC1ip} with ${testmode} mode, duration ${testDuration} secs"
|
||||
vdevOption="'net_vdev_netvsc0,iface=$interfaceName,force=1'"
|
||||
serverTestPmdCmd="echo 4096 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages && echo 1 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages && mount -a && modprobe -a ib_uverbs mlx4_en mlx4_core mlx4_ib;cd $HOMEDIR/$dpdkSrcDir/x86_64-native-linuxapp-gcc/app && timeout ${testDuration} ./testpmd -l 1-3 -n 2 -w 0002:00:02.0 --vdev='net_vdev_netvsc0,iface=eth1,force=1' -- --port-topology=chained --nb-cores 1 --forward-mode=${testmode} --stats-period 1"
|
||||
echo $serverTestPmdCmd
|
||||
ssh ${server} $serverTestPmdCmd >> $LOGDIR/dpdk-testpmd-${testmode}-receiver.log &
|
||||
checkCmdExitStatus "TestPmd started on ${serverNIC1ip} with ${testmode} mode, duration ${testDuration} secs"
|
||||
LogMsg "Configure huge pages on ${client}"
|
||||
mkdir -p /mnt/huge; mkdir -p /mnt/huge-1G; mount -t hugetlbfs nodev /mnt/huge && mount -t hugetlbfs nodev /mnt/huge-1G -o 'pagesize=1G' && echo 4096 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages && echo 1 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages && grep -i hug /proc/meminfo
|
||||
LogMsg "TestPmd is starting on ${clientNIC1ip} with txonly mode, duration ${testDuration} secs"
|
||||
echo "echo 0 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages && echo 0 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages && echo 4096 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages && echo 1 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages && modprobe -a ib_uverbs mlx4_en mlx4_core mlx4_ib;cd $HOMEDIR/$dpdkSrcDir/x86_64-native-linuxapp-gcc/app && timeout ${testDuration} ./testpmd -l 1-3 -n 2 -w 0002:00:02.0 --vdev='net_vdev_netvsc0,iface=eth1,force=1' -- --port-topology=chained --nb-cores 1 --forward-mode=txonly --stats-period 1 >> $LOGDIR/dpdk-testpmd-${testmode}-sender.log &"
|
||||
|
||||
echo 4096 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages && echo 1 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages && modprobe -a ib_uverbs mlx4_en mlx4_core mlx4_ib;cd $HOMEDIR/$dpdkSrcDir/x86_64-native-linuxapp-gcc/app && timeout ${testDuration} ./testpmd -l 1-3 -n 2 -w 0002:00:02.0 --vdev='net_vdev_netvsc0,iface=eth1,force=1' -- --port-topology=chained --nb-cores 1 --forward-mode=txonly --stats-period 1 >> $LOGDIR/dpdk-testpmd-${testmode}-sender.log &
|
||||
checkCmdExitStatus "TestPmd started on ${clientNIC1ip} with txonly mode, duration ${testDuration} secs"
|
||||
sleep ${testDuration}
|
||||
LogMsg "reset used huge pages"
|
||||
echo 0 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages && echo 0 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages && grep -i hug /proc/meminfo
|
||||
ssh ${server} "echo 0 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages && echo 0 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages && grep -i hug /proc/meminfo"
|
||||
done
|
||||
}
|
||||
|
||||
testPmdParser ()
|
||||
{
|
||||
LogMsg "*********INFO: Parser Started*********"
|
||||
testpmdCsvFile=$HOMEDIR/dpdkTestPmd.csv
|
||||
logFiles=(`ls $LOGDIR/*.log`)
|
||||
echo ",TestMode,Tx-pps,Rx-pps,Tx-bytes,Rx-bytes,Tx-packets,Rx-packets,RTx-pps,RTx-bytes,RTx-packets,Tx-pkt-size,Rx-pkt-size" > $testpmdCsvFile
|
||||
fileCount=0
|
||||
while [ "x${logFiles[$fileCount]}" != "x" ]
|
||||
do
|
||||
LogMsg "collecting results from ${logFiles[$fileCount]}"
|
||||
if [[ ${logFiles[$fileCount]} =~ "rxonly-receiver" ]];
|
||||
then
|
||||
rxonly_mode="rxonly"
|
||||
rxonly_Rxpps_Max=`cat ${logFiles[$fileCount]} | grep Rx-pps: | awk '{print $2}' | sort -n | tail -1`
|
||||
rxonly_Rxbytes_Max=`cat ${logFiles[$fileCount]} | grep RX-bytes: | rev | awk '{print $1}' | rev | sort -n | tail -1`
|
||||
rxonly_Rxpackets_Max=`cat ${logFiles[$fileCount]} | grep RX-packets: | awk '{print $2}' | sort -n | tail -3| head -1`
|
||||
rxonly_RTxpps_Max=`cat ${logFiles[$fileCount]} | grep Tx-pps: | awk '{print $2}' | sort -n | tail -1`
|
||||
rxonly_RTxbytes_Max=`cat ${logFiles[$fileCount]} | grep TX-bytes: | rev | awk '{print $1}' | rev | sort -n | tail -1`
|
||||
rxonly_RTxpackets_Max=`cat ${logFiles[$fileCount]} | grep TX-packets: | awk '{print $2}' | sort -n | tail -1`
|
||||
|
||||
rxonly_Rxpps=(`cat ${logFiles[$fileCount]} | grep Rx-pps: | awk '{print $2}'`)
|
||||
rxonly_Rxpps_Avg=$(($(expr $(printf '%b + ' "${rxonly_Rxpps[@]::${#rxonly_Rxpps[@]}}"\\c))/${#rxonly_Rxpps[@]}))
|
||||
rxonly_Rxbytes=(`cat ${logFiles[$fileCount]} | grep RX-bytes: | rev | awk '{print $1}' | rev`)
|
||||
rxonly_Rxbytes_Avg=$(($(expr $(printf '%b + ' "${rxonly_Rxbytes[@]::${#rxonly_Rxbytes[@]}}"\\c))/${#rxonly_Rxbytes[@]}))
|
||||
rxonly_Rxpackets=(`cat ${logFiles[$fileCount]} | grep RX-packets: | awk '{print $2}'`)
|
||||
rxonly_Rxpackets_Avg=$(($(expr $(printf '%b + ' "${rxonly_Rxpackets[@]::${#rxonly_Rxpackets[@]}}"\\c))/${#rxonly_Rxpackets[@]}))
|
||||
rxonly_RTxpps=(`cat ${logFiles[$fileCount]} | grep Tx-pps: | awk '{print $2}'`)
|
||||
rxonly_RTxpps_Avg=$(($(expr $(printf '%b + ' "${rxonly_RTxpps[@]::${#rxonly_RTxpps[@]}}"\\c))/${#rxonly_RTxpps[@]}))
|
||||
rxonly_RTxbytes=(`cat ${logFiles[$fileCount]} | grep TX-bytes: | rev | awk '{print $1}' | rev`)
|
||||
rxonly_RTxbytes_Avg=$(($(expr $(printf '%b + ' "${rxonly_RTxbytes[@]::${#rxonly_RTxbytes[@]}}"\\c))/${#rxonly_RTxbytes[@]}))
|
||||
rxonly_RTxpackets=(`cat ${logFiles[$fileCount]} | grep TX-packets: | awk '{print $2}'`)
|
||||
rxonly_RTxpackets_Avg=$(($(expr $(printf '%b + ' "${rxonly_RTxpackets[@]::${#rxonly_RTxpackets[@]}}"\\c))/${#rxonly_RTxpackets[@]}))
|
||||
elif [[ ${logFiles[$fileCount]} =~ "rxonly-sender" ]];
|
||||
then
|
||||
rxonly_mode="rxonly"
|
||||
rxonly_Txpps_Max=(`cat ${logFiles[$fileCount]} | grep Tx-pps: | awk '{print $2}' | sort -n | tail -1`)
|
||||
rxonly_Txbytes_Max=(`cat ${logFiles[$fileCount]} | grep TX-bytes: | rev | awk '{print $1}' | rev | sort -n | tail -1`)
|
||||
rxonly_Txpackets_Max=(`cat ${logFiles[$fileCount]} | grep TX-packets: | awk '{print $2}' | sort -n | tail -1`)
|
||||
rxonly_Txpps=(`cat ${logFiles[$fileCount]} | grep Tx-pps: | awk '{print $2}'`)
|
||||
rxonly_Txpps_Avg=$(($(expr $(printf '%b + ' "${rxonly_Txpps[@]::${#rxonly_Txpps[@]}}"\\c))/${#rxonly_Txpps[@]}))
|
||||
rxonly_Txbytes=(`cat ${logFiles[$fileCount]} | grep TX-bytes: | rev | awk '{print $1}' | rev`)
|
||||
rxonly_Txbytes_Avg=$(($(expr $(printf '%b + ' "${rxonly_Txbytes[@]::${#rxonly_Txbytes[@]}}"\\c))/${#rxonly_Txbytes[@]}))
|
||||
rxonly_Txpackets=(`cat ${logFiles[$fileCount]} | grep TX-packets: | awk '{print $2}'`)
|
||||
rxonly_Txpackets_Avg=$(($(expr $(printf '%b + ' "${rxonly_Txpackets[@]::${#rxonly_Txpackets[@]}}"\\c))/${#rxonly_Txpackets[@]}))
|
||||
elif [[ ${logFiles[$fileCount]} =~ "io-receiver" ]];
|
||||
then
|
||||
io_mode="io"
|
||||
io_Rxpps_Max=`cat ${logFiles[$fileCount]} | grep Rx-pps: | awk '{print $2}' | sort -n | tail -1`
|
||||
io_Rxbytes_Max=`cat ${logFiles[$fileCount]} | grep RX-bytes: | rev | awk '{print $1}' | rev | sort -n | tail -1`
|
||||
io_Rxpackets_Max=`cat ${logFiles[$fileCount]} | grep RX-packets: | awk '{print $2}' | sort -n | tail -3| head -1`
|
||||
io_RTxpps_Max=`cat ${logFiles[$fileCount]} | grep Tx-pps: | awk '{print $2}' | sort -n | tail -1`
|
||||
io_RTxbytes_Max=`cat ${logFiles[$fileCount]} | grep TX-bytes: | rev | awk '{print $1}' | rev | sort -n | tail -1`
|
||||
io_RTxpackets_Max=`cat ${logFiles[$fileCount]} | grep TX-packets: | awk '{print $2}' | sort -n | tail -1`
|
||||
|
||||
io_Rxpps=(`cat ${logFiles[$fileCount]} | grep Rx-pps: | awk '{print $2}'`)
|
||||
io_Rxpps_Avg=$(($(expr $(printf '%b + ' "${io_Rxpps[@]::${#io_Rxpps[@]}}"\\c))/${#io_Rxpps[@]}))
|
||||
io_Rxbytes=(`cat ${logFiles[$fileCount]} | grep RX-bytes: | rev | awk '{print $1}' | rev`)
|
||||
io_Rxbytes_Avg=$(($(expr $(printf '%b + ' "${io_Rxbytes[@]::${#io_Rxbytes[@]}}"\\c))/${#io_Rxbytes[@]}))
|
||||
io_Rxpackets=(`cat ${logFiles[$fileCount]} | grep RX-packets: | awk '{print $2}'`)
|
||||
io_Rxpackets_Avg=$(($(expr $(printf '%b + ' "${io_Rxpackets[@]::${#io_Rxpackets[@]}}"\\c))/${#io_Rxpackets[@]}))
|
||||
io_RTxpps=(`cat ${logFiles[$fileCount]} | grep Tx-pps: | awk '{print $2}'`)
|
||||
io_RTxpps_Avg=$(($(expr $(printf '%b + ' "${io_RTxpps[@]::${#io_RTxpps[@]}}"\\c))/${#io_RTxpps[@]}))
|
||||
io_RTxbytes=(`cat ${logFiles[$fileCount]} | grep TX-bytes: | rev | awk '{print $1}' | rev`)
|
||||
io_RTxbytes_Avg=$(($(expr $(printf '%b + ' "${io_RTxbytes[@]::${#io_RTxbytes[@]}}"\\c))/${#io_RTxbytes[@]}))
|
||||
io_RTxpackets=(`cat ${logFiles[$fileCount]} | grep TX-packets: | awk '{print $2}'`)
|
||||
io_RTxpackets_Avg=$(($(expr $(printf '%b + ' "${io_RTxpackets[@]::${#io_RTxpackets[@]}}"\\c))/${#io_RTxpackets[@]}))
|
||||
elif [[ ${logFiles[$fileCount]} =~ "io-sender" ]];
|
||||
then
|
||||
io_mode="io"
|
||||
io_Txpps_Max=(`cat ${logFiles[$fileCount]} | grep Tx-pps: | awk '{print $2}' | sort -n | tail -1`)
|
||||
io_Txbytes_Max=(`cat ${logFiles[$fileCount]} | grep TX-bytes: | rev | awk '{print $1}' | rev | sort -n | tail -1`)
|
||||
io_Txpackets_Max=(`cat ${logFiles[$fileCount]} | grep TX-packets: | awk '{print $2}' | sort -n | tail -1`)
|
||||
io_Txpps=(`cat ${logFiles[$fileCount]} | grep Tx-pps: | awk '{print $2}'`)
|
||||
io_Txpps_Avg=$(($(expr $(printf '%b + ' "${io_Txpps[@]::${#io_Txpps[@]}}"\\c))/${#io_Txpps[@]}))
|
||||
io_Txbytes=(`cat ${logFiles[$fileCount]} | grep TX-bytes: | rev | awk '{print $1}' | rev`)
|
||||
io_Txbytes_Avg=$(($(expr $(printf '%b + ' "${io_Txbytes[@]::${#io_Txbytes[@]}}"\\c))/${#io_Txbytes[@]}))
|
||||
io_Txpackets=(`cat ${logFiles[$fileCount]} | grep TX-packets: | awk '{print $2}'`)
|
||||
io_Txpackets_Avg=$(($(expr $(printf '%b + ' "${io_Txpackets[@]::${#io_Txpackets[@]}}"\\c))/${#io_Txpackets[@]}))
|
||||
fi
|
||||
((fileCount++))
|
||||
done
|
||||
if [ $rxonly_mode == "rxonly" ];then
|
||||
LogMsg "$rxonly_mode pushing to csv file"
|
||||
echo $rxonly_Txbytes_Avg $rxonly_Txpackets_Avg
|
||||
Tx_Pkt_Size=$((rxonly_Txbytes_Avg/rxonly_Txpackets_Avg))
|
||||
Rx_Pkt_Size=$((rxonly_Rxbytes_Avg/rxonly_Rxpackets_Avg))
|
||||
echo ",$rxonly_mode,$rxonly_Txpps_Avg,$rxonly_Rxpps_Avg,$rxonly_Txbytes_Avg,$rxonly_Rxbytes_Avg,$rxonly_Txpackets_Avg,$rxonly_Rxpackets_Avg,$rxonly_RTxpps_Avg,$rxonly_RTxbytes_Avg,$rxonly_RTxpackets_Avg,$Tx_Pkt_Size,$Rx_Pkt_Size" >> $testpmdCsvFile
|
||||
fi
|
||||
if [ $io_mode == "io" ];then
|
||||
LogMsg "$io_mode pushing to csv file"
|
||||
Tx_Pkt_Size=$((io_Txbytes_Avg/io_Txpackets_Avg))
|
||||
Rx_Pkt_Size=$((io_Rxbytes_Avg/io_Rxpackets_Avg))
|
||||
echo ",$io_mode,$io_Txpps_Avg,$io_Rxpps_Avg,$io_Txbytes_Avg,$io_Rxbytes_Avg,$io_Txpackets_Avg,$io_Rxpackets_Avg,$io_RTxpps_Avg,$io_RTxbytes_Avg,$io_RTxpackets_Avg,$Tx_Pkt_Size,$Rx_Pkt_Size" >> $testpmdCsvFile
|
||||
fi
|
||||
}
|
||||
|
||||
LogMsg "*********INFO: Starting DPDK Setup execution*********"
|
||||
|
||||
./dpdkSetup.sh
|
||||
|
||||
LogMsg "*********INFO: Starting TestPmd test execution*********"
|
||||
runTestPmd
|
||||
checkCmdExitStatus "TestPmd execution"
|
||||
LogMsg "Collecting testpmd logs from server-vm ${server}"
|
||||
tar -cvzf DpdkTestPmdLogs.tar.gz $LOGDIR
|
||||
LogMsg "*********INFO: Starting TestPmd results parser execution*********"
|
||||
testPmdParser
|
||||
checkCmdExitStatus "Parser execution"
|
||||
LogMsg "*********INFO: DPDK TestPmd script execution reach END. Completed !!!*********"
|
||||
UpdateTestState ICA_TESTCOMPLETED
|
|
@ -0,0 +1,244 @@
|
|||
$result = ""
|
||||
$testResult = ""
|
||||
$resultArr = @()
|
||||
$isDeployed = DeployVMS -setupType $currentTestData.setupType -Distro $Distro -xmlConfig $xmlConfig
|
||||
|
||||
if ($isDeployed)
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
$noClient = $true
|
||||
$noServer = $true
|
||||
foreach ( $vmData in $allVMData )
|
||||
{
|
||||
if ( $vmData.RoleName -imatch "client" )
|
||||
{
|
||||
$clientVMData = $vmData
|
||||
$noClient = $false
|
||||
}
|
||||
elseif ( $vmData.RoleName -imatch "server" )
|
||||
{
|
||||
$noServer = $fase
|
||||
$serverVMData = $vmData
|
||||
}
|
||||
}
|
||||
if ( $noClient )
|
||||
{
|
||||
Throw "No any master VM defined. Be sure that, Client VM role name matches with the pattern `"*master*`". Aborting Test."
|
||||
}
|
||||
if ( $noServer )
|
||||
{
|
||||
Throw "No any slave VM defined. Be sure that, Server machine role names matches with pattern `"*slave*`" Aborting Test."
|
||||
}
|
||||
#region CONFIGURE VM FOR TERASORT TEST
|
||||
LogMsg "CLIENT VM details :"
|
||||
LogMsg " RoleName : $($clientVMData.RoleName)"
|
||||
LogMsg " Public IP : $($clientVMData.PublicIP)"
|
||||
LogMsg " SSH Port : $($clientVMData.SSHPort)"
|
||||
LogMsg "SERVER VM details :"
|
||||
LogMsg " RoleName : $($serverVMData.RoleName)"
|
||||
LogMsg " Public IP : $($serverVMData.PublicIP)"
|
||||
LogMsg " SSH Port : $($serverVMData.SSHPort)"
|
||||
|
||||
#
|
||||
# PROVISION VMS FOR LISA WILL ENABLE ROOT USER AND WILL MAKE ENABLE PASSWORDLESS AUTHENTICATION ACROSS ALL VMS IN SAME HOSTED SERVICE.
|
||||
#
|
||||
ProvisionVMsForLisa -allVMData $allVMData -installPackagesOnRoleNames "none"
|
||||
|
||||
#endregion
|
||||
|
||||
if($EnableAcceleratedNetworking)
|
||||
{
|
||||
$DataPath = "SRIOV"
|
||||
LogMsg "Getting SRIOV NIC Name."
|
||||
$clientNicName = (RunLinuxCmd -ip $clientVMData.PublicIP -port $clientVMData.SSHPort -username "root" -password $password -command "route | grep '^default' | grep -o '[^ ]*$'").Trim()
|
||||
LogMsg "CLIENT SRIOV NIC: $clientNicName"
|
||||
$serverNicName = (RunLinuxCmd -ip $clientVMData.PublicIP -port $serverVMData.SSHPort -username "root" -password $password -command "route | grep '^default' | grep -o '[^ ]*$'").Trim()
|
||||
LogMsg "SERVER SRIOV NIC: $serverNicName"
|
||||
if ( $serverNicName -eq $clientNicName)
|
||||
{
|
||||
$nicName = $clientNicName
|
||||
}
|
||||
else
|
||||
{
|
||||
Throw "Server and client SRIOV NICs are not same."
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$DataPath = "Synthetic"
|
||||
LogMsg "Getting Active NIC Name."
|
||||
$clientNicName = (RunLinuxCmd -ip $clientVMData.PublicIP -port $clientVMData.SSHPort -username "root" -password $password -command "route | grep '^default' | grep -o '[^ ]*$'").Trim()
|
||||
LogMsg "CLIENT NIC: $clientNicName"
|
||||
$serverNicName = (RunLinuxCmd -ip $clientVMData.PublicIP -port $serverVMData.SSHPort -username "root" -password $password -command "route | grep '^default' | grep -o '[^ ]*$'").Trim()
|
||||
LogMsg "SERVER NIC: $serverNicName"
|
||||
if ( $serverNicName -eq $clientNicName)
|
||||
{
|
||||
$nicName = $clientNicName
|
||||
}
|
||||
else
|
||||
{
|
||||
Throw "Server and client NICs are not same."
|
||||
}
|
||||
}
|
||||
|
||||
LogMsg "Generating constansts.sh ..."
|
||||
$constantsFile = "$LogDir\constants.sh"
|
||||
Set-Content -Value "#Generated by Azure Automation." -Path $constantsFile
|
||||
Add-Content -Value "nicName=eth1" -Path $constantsFile
|
||||
Add-Content -Value "pciAddress=0002:00:02.0" -Path $constantsFile
|
||||
|
||||
foreach ( $param in $currentTestData.TestParameters.param)
|
||||
{
|
||||
Add-Content -Value "$param" -Path $constantsFile
|
||||
if ( $param -imatch "modes" )
|
||||
{
|
||||
$modes = ($param.Replace("modes=",""))
|
||||
}
|
||||
}
|
||||
LogMsg "constanst.sh created successfully..."
|
||||
LogMsg "test modes : $modes"
|
||||
LogMsg (Get-Content -Path $constantsFile)
|
||||
#endregion
|
||||
|
||||
|
||||
#region EXECUTE TEST
|
||||
$myString = @"
|
||||
cd /root/
|
||||
./dpdkTestPmd.sh >> dpdkConsoleLogs.txt
|
||||
. azuremodules.sh
|
||||
collect_VM_properties
|
||||
"@
|
||||
Set-Content "$LogDir\StartDpdkTestPmd.sh" $myString
|
||||
RemoteCopy -uploadTo $clientVMData.PublicIP -port $clientVMData.SSHPort -files ".\$constantsFile,.\Testscripts\Linux\azuremodules.sh,.\Testscripts\Linux\dpdkSetup.sh,.\Testscripts\Linux\dpdkTestPmd.sh,.\$LogDir\StartDpdkTestPmd.sh" -username "root" -password $password -upload
|
||||
RemoteCopy -uploadTo $clientVMData.PublicIP -port $clientVMData.SSHPort -files $currentTestData.files -username "root" -password $password -upload
|
||||
|
||||
$out = RunLinuxCmd -ip $clientVMData.PublicIP -port $clientVMData.SSHPort -username "root" -password $password -command "chmod +x *.sh"
|
||||
$testJob = RunLinuxCmd -ip $clientVMData.PublicIP -port $clientVMData.SSHPort -username "root" -password $password -command "./StartDpdkTestPmd.sh" -RunInBackground
|
||||
#endregion
|
||||
|
||||
#region MONITOR TEST
|
||||
while ( (Get-Job -Id $testJob).State -eq "Running" )
|
||||
{
|
||||
$currentStatus = RunLinuxCmd -ip $clientVMData.PublicIP -port $clientVMData.SSHPort -username "root" -password $password -command "tail -2 dpdkConsoleLogs.txt | head -1"
|
||||
LogMsg "Current Test Staus : $currentStatus"
|
||||
WaitFor -seconds 20
|
||||
}
|
||||
$finalStatus = RunLinuxCmd -ip $clientVMData.PublicIP -port $clientVMData.SSHPort -username "root" -password $password -command "cat /root/state.txt"
|
||||
$finalStatus = "TestCompleted"
|
||||
$uploadResults = $true
|
||||
RemoteCopy -downloadFrom $clientVMData.PublicIP -port $clientVMData.SSHPort -username "root" -password $password -download -downloadTo $LogDir -files "*.csv, *.txt, *.log, *.tar.gz"
|
||||
|
||||
if ( $finalStatus -imatch "TestFailed")
|
||||
{
|
||||
LogErr "Test failed. Last known status : $currentStatus."
|
||||
$testResult = "FAIL"
|
||||
}
|
||||
elseif ( $finalStatus -imatch "TestAborted")
|
||||
{
|
||||
LogErr "Test Aborted. Last known status : $currentStatus."
|
||||
$testResult = "ABORTED"
|
||||
}
|
||||
elseif ( ($finalStatus -imatch "TestCompleted") -and $uploadResults )
|
||||
{
|
||||
LogMsg "Test Completed."
|
||||
$testResult = "PASS"
|
||||
}
|
||||
elseif ( $finalStatus -imatch "TestRunning")
|
||||
{
|
||||
LogMsg "Powershell backgroud job for test is completed but VM is reporting that test is still running. Please check $LogDir\zkConsoleLogs.txt"
|
||||
LogMsg "Contests of summary.log : $testSummary"
|
||||
$testResult = "PASS"
|
||||
}
|
||||
|
||||
LogMsg "Test Completed"
|
||||
try
|
||||
{
|
||||
$testpmdDataCsv = Import-Csv -Path $LogDir\dpdkTestPmd.csv
|
||||
LogMsg "Uploading the test results.."
|
||||
$dataSource = $xmlConfig.config.Azure.database.server
|
||||
$DBuser = $xmlConfig.config.Azure.database.user
|
||||
$DBpassword = $xmlConfig.config.Azure.database.password
|
||||
$database = $xmlConfig.config.Azure.database.dbname
|
||||
$dataTableName = $xmlConfig.config.Azure.database.dbtable
|
||||
$TestCaseName = $xmlConfig.config.Azure.database.testTag
|
||||
|
||||
if ($dataSource -And $DBuser -And $DBpassword -And $database -And $dataTableName)
|
||||
{
|
||||
$GuestDistro = cat "$LogDir\VM_properties.csv" | Select-String "OS type"| %{$_ -replace ",OS type,",""}
|
||||
if ( $UseAzureResourceManager )
|
||||
{
|
||||
$HostType = "Azure-ARM"
|
||||
}
|
||||
else
|
||||
{
|
||||
$HostType = "Azure"
|
||||
}
|
||||
|
||||
$HostBy = ($xmlConfig.config.Azure.General.Location).Replace('"','')
|
||||
$HostOS = cat "$LogDir\VM_properties.csv" | Select-String "Host Version"| %{$_ -replace ",Host Version,",""}
|
||||
$GuestOSType = "Linux"
|
||||
$GuestDistro = cat "$LogDir\VM_properties.csv" | Select-String "OS type"| %{$_ -replace ",OS type,",""}
|
||||
$GuestSize = $testVMData.InstanceSize
|
||||
$KernelVersion = cat "$LogDir\VM_properties.csv" | Select-String "Kernel version"| %{$_ -replace ",Kernel version,",""}
|
||||
|
||||
$connectionString = "Server=$dataSource;uid=$DBuser; pwd=$DBpassword;Database=$database;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;"
|
||||
|
||||
$SQLQuery = "INSERT INTO $dataTableName (TestCaseName,TestDate,HostType,HostBy,HostOS,GuestOSType,GuestDistro,GuestSize,KernelVersion,DpdkVersion,TestMode,Tx-pps,Rx-pps,Tx-bytes,Rx-bytes,Tx-packets,Rx-packets,RTx-pps,RTx-bytes,RTx-packets,Tx-pkt-size,Rx-pkt-size) VALUES "
|
||||
foreach( $mode in $testpmdDataCsv)
|
||||
{
|
||||
$SQLQuery += "('$TestCaseName','$(Get-Date -Format yyyy-MM-dd)','$HostType','$HostBy','$HostOS','$GuestOSType','$GuestDistro','$GuestSize','$KernelVersion','dpdk-18.05.2','$mode.TestMode','$mode.Tx-pps','$mode.Rx-pps','$mode.Tx-bytes','$mode.Rx-bytes','$mode.Tx-packets','$mode.Rx-packets','$mode.RTx-pps','$mode.RTx-bytes','$mode.RTx-packets','$mode.Tx-pkt-size','$mode.Rx-pkt-size'),"
|
||||
LogMsg "Collected performace data for $mode.TestMode mode."
|
||||
}
|
||||
$SQLQuery = $SQLQuery.TrimEnd(',')
|
||||
LogMsg $SQLQuery
|
||||
$connection = New-Object System.Data.SqlClient.SqlConnection
|
||||
$connection.ConnectionString = $connectionString
|
||||
# $connection.Open()
|
||||
|
||||
# $command = $connection.CreateCommand()
|
||||
# $command.CommandText = $SQLQuery
|
||||
|
||||
# $result = $command.executenonquery()
|
||||
# $connection.Close()
|
||||
# LogMsg "Uploading the test results done!!"
|
||||
}
|
||||
else{
|
||||
LogMsg "Invalid database details. Failed to upload result to database!"
|
||||
}
|
||||
}
|
||||
catch{
|
||||
}
|
||||
LogMsg "Test result : $testResult"
|
||||
LogMsg ($testpmdDataCsv | Format-Table | Out-String)
|
||||
}
|
||||
catch
|
||||
{
|
||||
$ErrorMessage = $_.Exception.Message
|
||||
LogMsg "EXCEPTION : $ErrorMessage"
|
||||
}
|
||||
Finally
|
||||
{
|
||||
$metaData = "NTTTCP RESULT"
|
||||
if (!$testResult)
|
||||
{
|
||||
$testResult = "Aborted"
|
||||
}
|
||||
$resultArr += $testResult
|
||||
$resultSummary += CreateResultSummary -testResult $testResult -metaData "DPDK-TESTPMD" -checkValues "PASS,FAIL,ABORTED" -testName $currentTestData.testName
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$testResult = "Aborted"
|
||||
$resultArr += $testResult
|
||||
}
|
||||
|
||||
$result = GetFinalResultHeader -resultarr $resultArr
|
||||
|
||||
#Clean up the setup
|
||||
DoTestCleanUp -result $result -testName $currentTestData.testName -deployedServices $isDeployed -ResourceGroups $isDeployed
|
||||
|
||||
#Return the result and summery to the test suite script..
|
||||
return $result, $resultSummary
|
|
@ -1,270 +1,289 @@
|
|||
<TestCases>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-TCP-THROUGHPUT-MULTICONNECTION-Synthetic</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-TCP-THROUGHPUT-MULTICONNECTION-NTTTCP.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>Synthetic</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>testDuration=300</param>
|
||||
<param>testConnections="1 2 4 8 16 32 64 128 256 512 1024 2048 4096 6144 8192 10240"</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>tcp,network,hv_netvsc</Tags>
|
||||
<TestID>Perf_Network_001</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-TCP-THROUGHPUT-MULTICONNECTION-SRIOV</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-TCP-THROUGHPUT-MULTICONNECTION-NTTTCP.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>SRIOV</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>testDuration=300</param>
|
||||
<param>testConnections="1 2 4 8 16 32 64 128 256 512 1024 2048 4096 6144 8192 10240"</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>tcp,network,hv_netvsc,sriov</Tags>
|
||||
<TestID>Perf_Network_002</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-TCP-LATENCY-MULTICONNECTION-Syntetic</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-TCP-LATENCY-MULTICONNECTION-LAGSCOPE.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>pingIteration=1000000</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>tcp,network,hv_netvsc</Tags>
|
||||
<TestID>Perf_Network_003</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-TCP-LATENCY-MULTICONNECTION-SRIOV</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-TCP-LATENCY-MULTICONNECTION-LAGSCOPE.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>SRIOV</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>pingIteration=1000000</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>tcp,network,hv_netvsc,sriov</Tags>
|
||||
<TestID>Perf_Network_004</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-UDP-THROUGHPUT-MULTICONNECTION-Synthetic</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-UDP-THROUGHPUT-MULTICONNECTION-IPERF3.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>testDuration=300</param>
|
||||
<param>testType=udp</param>
|
||||
<param>max_parallel_connections_per_instance=64</param>
|
||||
<param>connections=(1 2 4 8 16 32 64 128 256 512 1024)</param>
|
||||
<param>bufferLengths=(1024 8192)</param>
|
||||
<param>IPversion=4</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>udp,network,hv_netvsc</Tags>
|
||||
<TestID>Perf_Network_005</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-UDP-THROUGHPUT-MULTICONNECTION-SRIOV</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-UDP-THROUGHPUT-MULTICONNECTION-IPERF3.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>SRIOV</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>testDuration=300</param>
|
||||
<param>testType=udp</param>
|
||||
<param>max_parallel_connections_per_instance=64</param>
|
||||
<param>connections=(1 2 4 8 16 32 64 128 256 512 1024)</param>
|
||||
<param>bufferLengths=(1024 8192)</param>
|
||||
<param>IPversion=4</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>udp,network,hv_netvsc,sriov</Tags>
|
||||
<TestID>Perf_Network_006</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-4K-IO</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-MULTIDISK-RAID0-FIO.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=4</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=4</param>
|
||||
<param>fileSize=1023G</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_001</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-1024K-IO</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-MULTIDISK-RAID0-FIO.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=1024</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=1024</param>
|
||||
<param>fileSize=1023G</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_002</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-OVER-NFS-Synthetic-TCP-4K</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-OVER-NFS.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12NFS</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh,.\Testscripts\Linux\fio_jason_parser.sh,.\Testscripts\Linux\JSON.awk,.\Testscripts\Linux\perf_fio_nfs.sh,.\Testscripts\Linux\CreateRaid.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=4</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=4</param>
|
||||
<param>fileSize=1023G</param>
|
||||
<param>nfsprotocol=tcp</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_003</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-OVER-NFS-Synthetic-UDP-4K</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-OVER-NFS.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12NFS</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh,.\Testscripts\Linux\fio_jason_parser.sh,.\Testscripts\Linux\JSON.awk,.\Testscripts\Linux\perf_fio_nfs.sh,.\Testscripts\Linux\CreateRaid.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=4</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=4</param>
|
||||
<param>fileSize=1023G</param>
|
||||
<param>nfsprotocol=udp</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_003</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-OVER-NFS-SRIOV-TCP-4K</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-OVER-NFS.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12NFS</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>SRIOV</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh,.\Testscripts\Linux\fio_jason_parser.sh,.\Testscripts\Linux\JSON.awk,.\Testscripts\Linux\perf_fio_nfs.sh,.\Testscripts\Linux\CreateRaid.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=4</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=4</param>
|
||||
<param>fileSize=1023G</param>
|
||||
<param>nfsprotocol=tcp</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_003</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-OVER-NFS-SRIOV-UDP-4K</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-OVER-NFS.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12NFS</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>SRIOV</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh,.\Testscripts\Linux\fio_jason_parser.sh,.\Testscripts\Linux\JSON.awk,.\Testscripts\Linux\perf_fio_nfs.sh,.\Testscripts\Linux\CreateRaid.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=4</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=4</param>
|
||||
<param>fileSize=1023G</param>
|
||||
<param>nfsprotocol=tcp</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_003</TestID>
|
||||
</test>
|
||||
<TestCases>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-TCP-THROUGHPUT-MULTICONNECTION-Synthetic</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-TCP-THROUGHPUT-MULTICONNECTION-NTTTCP.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>Synthetic</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>testDuration=300</param>
|
||||
<param>testConnections="1 2 4 8 16 32 64 128 256 512 1024 2048 4096 6144 8192 10240"</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>tcp,network,hv_netvsc</Tags>
|
||||
<TestID>Perf_Network_001</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-TCP-THROUGHPUT-MULTICONNECTION-SRIOV</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-TCP-THROUGHPUT-MULTICONNECTION-NTTTCP.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>SRIOV</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>testDuration=300</param>
|
||||
<param>testConnections="1 2 4 8 16 32 64 128 256 512 1024 2048 4096 6144 8192 10240"</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>tcp,network,hv_netvsc,sriov</Tags>
|
||||
<TestID>Perf_Network_002</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-TCP-LATENCY-MULTICONNECTION-Syntetic</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-TCP-LATENCY-MULTICONNECTION-LAGSCOPE.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>pingIteration=1000000</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>tcp,network,hv_netvsc</Tags>
|
||||
<TestID>Perf_Network_003</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-TCP-LATENCY-MULTICONNECTION-SRIOV</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-TCP-LATENCY-MULTICONNECTION-LAGSCOPE.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>SRIOV</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>pingIteration=1000000</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>tcp,network,hv_netvsc,sriov</Tags>
|
||||
<TestID>Perf_Network_004</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-UDP-THROUGHPUT-MULTICONNECTION-Synthetic</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-UDP-THROUGHPUT-MULTICONNECTION-IPERF3.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>testDuration=300</param>
|
||||
<param>testType=udp</param>
|
||||
<param>max_parallel_connections_per_instance=64</param>
|
||||
<param>connections=(1 2 4 8 16 32 64 128 256 512 1024)</param>
|
||||
<param>bufferLengths=(1024 8192)</param>
|
||||
<param>IPversion=4</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>udp,network,hv_netvsc</Tags>
|
||||
<TestID>Perf_Network_005</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-NETWORK-UDP-THROUGHPUT-MULTICONNECTION-SRIOV</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-NETWORK-UDP-THROUGHPUT-MULTICONNECTION-IPERF3.ps1</PowershellScript>
|
||||
<setupType>M1S1</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>SRIOV</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>testDuration=300</param>
|
||||
<param>testType=udp</param>
|
||||
<param>max_parallel_connections_per_instance=64</param>
|
||||
<param>connections=(1 2 4 8 16 32 64 128 256 512 1024)</param>
|
||||
<param>bufferLengths=(1024 8192)</param>
|
||||
<param>IPversion=4</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Network</Area>
|
||||
<Tags>udp,network,hv_netvsc,sriov</Tags>
|
||||
<TestID>Perf_Network_006</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-4K-IO</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-MULTIDISK-RAID0-FIO.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=4</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=4</param>
|
||||
<param>fileSize=1023G</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_001</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-1024K-IO</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-MULTIDISK-RAID0-FIO.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=1024</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=1024</param>
|
||||
<param>fileSize=1023G</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_002</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-OVER-NFS-Synthetic-TCP-4K</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-OVER-NFS.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12NFS</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh,.\Testscripts\Linux\fio_jason_parser.sh,.\Testscripts\Linux\JSON.awk,.\Testscripts\Linux\perf_fio_nfs.sh,.\Testscripts\Linux\CreateRaid.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=4</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=4</param>
|
||||
<param>fileSize=1023G</param>
|
||||
<param>nfsprotocol=tcp</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_003</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-OVER-NFS-Synthetic-UDP-4K</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-OVER-NFS.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12NFS</setupType>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh,.\Testscripts\Linux\fio_jason_parser.sh,.\Testscripts\Linux\JSON.awk,.\Testscripts\Linux\perf_fio_nfs.sh,.\Testscripts\Linux\CreateRaid.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=4</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=4</param>
|
||||
<param>fileSize=1023G</param>
|
||||
<param>nfsprotocol=udp</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_003</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-OVER-NFS-SRIOV-TCP-4K</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-OVER-NFS.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12NFS</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>SRIOV</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh,.\Testscripts\Linux\fio_jason_parser.sh,.\Testscripts\Linux\JSON.awk,.\Testscripts\Linux\perf_fio_nfs.sh,.\Testscripts\Linux\CreateRaid.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=4</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=4</param>
|
||||
<param>fileSize=1023G</param>
|
||||
<param>nfsprotocol=tcp</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_003</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-STORAGE-OVER-NFS-SRIOV-UDP-4K</testName>
|
||||
<testScript></testScript>
|
||||
<PowershellScript>PERF-STORAGE-OVER-NFS.ps1</PowershellScript>
|
||||
<setupType>DS14DISK12NFS</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>SRIOV</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh,.\Testscripts\Linux\fio_jason_parser.sh,.\Testscripts\Linux\JSON.awk,.\Testscripts\Linux\perf_fio_nfs.sh,.\Testscripts\Linux\CreateRaid.sh</files>
|
||||
<TestParameters>
|
||||
<param>modes='randread randwrite read write'</param>
|
||||
<param>startThread=1</param>
|
||||
<param>maxThread=1024</param>
|
||||
<param>startIO=4</param>
|
||||
<param>numjobs=1</param>
|
||||
<param>ioruntime=300</param>
|
||||
<param>maxIO=4</param>
|
||||
<param>fileSize=1023G</param>
|
||||
<param>nfsprotocol=tcp</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>Storage</Area>
|
||||
<Tags>hv_storvsc,storage</Tags>
|
||||
<TestID>Perf_Storage_003</TestID>
|
||||
</test>
|
||||
<test>
|
||||
<testName>PERF-DPDK-TESTPMD-TEST</testName>
|
||||
<PowershellScript>PERF-DPDK-TESTPMD-TEST.ps1</PowershellScript>
|
||||
<setupType>DPDK</setupType>
|
||||
<AdditionalHWConfig>
|
||||
<Networking>SRIOV</Networking>
|
||||
</AdditionalHWConfig>
|
||||
<SubtestValues>This-tag-will-be-removed</SubtestValues>
|
||||
<files>.\Testscripts\Linux\azuremodules.sh</files>
|
||||
<TestParameters>
|
||||
<param>testDuration=60</param>
|
||||
<param>modes="rxonly io"</param>
|
||||
</TestParameters>
|
||||
<Platform>Azure</Platform>
|
||||
<Category>Performance</Category>
|
||||
<Area>DPDK</Area>
|
||||
<Tags>dpdk,network,hv_netvsc,sriov</Tags>
|
||||
<TestID>Perf_Network_007</TestID>
|
||||
</test>
|
||||
</TestCases>
|
Загрузка…
Ссылка в новой задаче