sudo ssh root@${HOST_IP} "reboot"
}
+function cleanup {
+ output=$1
+ env_clean
+ host_clean
+ if [ $output != 0 ];then
+ echo "Yardstick Failed.Please check cyclictest.sh"
+ return 1
+ else
+ return 0
+ fi
+}
#Creating a docker image with yardstick installed and Verify the results of cyclictest
function runCyclicTest {
#Launching ubuntu docker container to run yardstick
sudo docker run -i -v ${volume}:/opt --net=host --name kvmfornfv_${testType} \
- kvmfornfv:latest /bin/bash -c "cd /opt/scripts && ls; ./cyclictest.sh"
- output=$?
+ kvmfornfv:latest /bin/bash -c "cd /opt/scripts && ls; ./cyclictest.sh $testType"
+ cyclictest_output=$?
#Verifying the results of cyclictest
- result=`grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'`
- if [ -z "${result}" ]; then
- echo "####################################################"
- echo ""
- echo `grep -o '"data":[^}]*' ${volume}/yardstick.out | awk -F '{' '{print $2}'`
- echo ""
- echo "####################################################"
- env_clean
- host_clean
- if [ $output != 0 ];then
- echo "Some problem with Yardstick.Check cyclictest.sh"
- return 1
+ if [ "$testType" == "verify" ];then
+ result=`grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'`
+
+ if [ -z "${result}" ]; then
+ echo "####################################################"
+ echo ""
+ echo `grep -o '"data":[^}]*' ${volume}/yardstick.out | awk -F '{' '{print $2}'`
+ echo ""
+ echo "####################################################"
+ cleanup $cyclictest_output
else
- return 0
+ echo "Testcase failed"
+ echo `grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'`
+ env_clean
+ host_clean
+ return 1
fi
else
- echo "Testcase failed"
- echo `grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'`
- env_clean
- host_clean
- return 1
+ cleanup $cyclictest_output
fi
}
###########################################################
source utils.sh
+testType=$1 #daily/verify/merge
HOST_IP=$( getHostIP )
pod_config='/opt/scripts/pod.yaml'
cyclictest_context_file='/opt/cyclictest-node-context.yaml'
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
root@$HOST_IP "cp /root/images/guest1.qcow2 /root/"
+#Updating the yardstick.conf file for daily
+function updateConfDaily() {
+ DISPATCHER_TYPE=influxdb
+ DISPATCHER_FILE_NAME="/tmp/yardstick.out"
+ # Use the influxDB on the jumping server
+ DISPATCHER_INFLUXDB_TARGET="http://10.2.117.21:8086"
+ mkdir -p /etc/yardstick
+ cat << EOF > /etc/yardstick/yardstick.conf
+[DEFAULT]
+debug = True
+dispatcher = ${DISPATCHER_TYPE}
+
+[dispatcher_file]
+file_name = ${DISPATCHER_FILE_NAME}
+
+[dispatcher_influxdb]
+timeout = 5
+db_name = yardstick
+username = root
+password = root
+target = ${DISPATCHER_INFLUXDB_TARGET}
+EOF
+}
+
+#Function call to update yardstick conf file based on Job type
+if [ "$testType" == "daily" ];then
+ updateConfDaily
+fi
+
#Running cyclictest through yardstick
yardstick -d task start ${cyclictest_context_file}
output=$?
-chmod 777 /tmp/yardstick.out
-cat /tmp/yardstick.out > /opt/yardstick.out
+
+if [ "$testType" == "verify" ];then
+ chmod 777 /tmp/yardstick.out
+ cat /tmp/yardstick.out > /opt/yardstick.out
+fi
+
if [ $output != 0 ];then
- echo "Someproblem with execution of Yardstick"
+ echo "Yardstick Failed !!!"
exit 1
fi