X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=ci%2Fenvs%2Fhost-config;h=2ad4b3eb7096ce18d148e4a25638af4a891ed14c;hb=611d8bd4c4027ebe8da338d3bbb10a6994975937;hp=ce6243ce0602b7ae0ec1c1bc8a9b4b23513db20c;hpb=094281166bad07b351bda2e16b225f492c959bf3;p=kvmfornfv.git diff --git a/ci/envs/host-config b/ci/envs/host-config old mode 100644 new mode 100755 index ce6243ce0..2ad4b3eb7 --- a/ci/envs/host-config +++ b/ci/envs/host-config @@ -1,3 +1,5 @@ +#!/bin/bash + ############################################################################## ## Copyright (c) 2015 Intel Corp. ## @@ -7,13 +9,96 @@ ## http://www.apache.org/licenses/LICENSE-2.0 ############################################################################### -# Isolated cpus for nfv, must be delimited with ',' -host_isolcpus=3,4 - # Number of huge pages to create and on which NUMA node -numa_node=0 +numa_node=1 huge_pages=2 # QEMU executable path and number of cpus for guest -qemu=/usr/libexec/qemu-kvm +qemu=/usr/local/bin/qemu-system-x86_64 guest_cpus=2 +pcm_memory=/root/pcm/pcm-memory.x + +# Isolated cpus for nfv, must be given as a range '-' and Numa node1 CPU's should be considered +host_isolcpus=`lscpu | grep "NUMA node1 CPU(s)"| awk -F ':' '{print \$2}' | sed 's/[[:space:]]//g'` +first=$(echo ${host_isolcpus} | cut -f1 -d-) +last=$(echo ${host_isolcpus} | cut -f2 -d- | cut -d',' -f1 ) + +# Bind cpus from host_isolcpus range for QEMU processor threads +i=0 +while [ ${i} -lt ${guest_cpus} ]; do + qemu_cpu[$i]=${first} + i=`expr $i + 1` + first=`expr $first + 1` +done + +#Isolated cpus from host_isolcpus range to run Stress tool +stress_isolcpus=${first}-${last} +echo "Stress tool runs on $stress_isolcpus" + +#Host for executing test cases based on test_type/job from releng +function setHostIP { + test_type=$1 + if [ ${test_type} == "verify" ];then + HOST_IP="10.10.100.21" + elif [ ${test_type} == "daily" ];then + HOST_IP="10.10.100.22" + else + echo "Incorrect test type" + fi + echo ${HOST_IP} +} + +#Time duration for executing test cases based on test_type/job from releng +function setTestTime { + test_type=$1 + if [ ${test_type} == "verify" ];then + test_time=1000 # 1s + elif [ ${test_type} == "daily" ];then + test_time=3600000 # 1hr + else + echo "Incorrect test type" + fi + echo ${test_time} +} + +#Tar the log files generated during testcase execution and exit. +function test_exit { + exitCode=$1 + cd $WORKSPACE/build_output/ + if [ -d log ];then + tar -czvf log-$(date -u +"%Y-%m-%d_%H-%M-%S").tar.gz log + fi + exit $exitCode +} + +function copyLogs { + echo "Copying Log files from Node to Jump Server" + sudo ssh root@${HOST_IP} "cd /root;tar -czvf MBWInfo.tar.gz MBWInfo" + mkdir -p $WORKSPACE/build_output/log/MBWInfo + scp root@${HOST_IP}:/root/MBWInfo.tar.gz $WORKSPACE/build_output/log/MBWInfo + echo "Listing all the logs collected" + cd $WORKSPACE;ls build_output/log/MBWInfo; + sudo ssh root@${HOST_IP} "cd /root;rm -rf MBWInfo MBWInfo.tar.gz" +} + +function packet_fwd_logs { + #Tar and copy logs for uploading to artifacts repository + echo "Copying Log files from Node to Jump Server" + mkdir -p $WORKSPACE/build_output/log/packet_fwd + scp -r root@${HOST_IP}:/tmp/packet_fwd_logs $WORKSPACE/build_output/log/packet_fwd + #removing collected logs on the node after copying. + sudo ssh root@${HOST_IP} "cd /tmp;rm -rf packet_fwd_logs" +} + +function packet_fwd_exit { + exitCode=$1 + TIMESTAMP=$(date -u +"%Y-%m-%d_%H-%M-%S") + cd $WORKSPACE/build_output/ + if [ -d log ];then + tar -czvf log-${TIMESTAMP}.tar.gz log + echo "Uploading packet forwarding logs and results" + gsutil cp -r log-*.tar.gz gs://artifacts.opnfv.org/kvmfornfv/packet_fwd_${TIMESTAMP} > $WORKSPACE/build_output/gsutil.log 2>&1 + echo "http://artifacts.opnfv.org/kvmfornfv/packet_fwd_${TIMESTAMP}" + fi + exit $exitCode +}