diff options
Diffstat (limited to 'ci/envs')
-rwxr-xr-x | ci/envs/cyclictest.sh | 50 | ||||
-rwxr-xr-x[-rw-r--r--] | ci/envs/host-config | 24 | ||||
-rwxr-xr-x | ci/envs/host-run-qemu.sh | 17 | ||||
-rwxr-xr-x | ci/envs/utils.sh | 8 |
4 files changed, 78 insertions, 21 deletions
diff --git a/ci/envs/cyclictest.sh b/ci/envs/cyclictest.sh index 747f34758..805f9088f 100755 --- a/ci/envs/cyclictest.sh +++ b/ci/envs/cyclictest.sh @@ -6,9 +6,10 @@ ########################################################### source utils.sh +testType=$1 #daily/verify/merge HOST_IP=$( getHostIP ) -pod_config='/opt/pod.yaml' -cyclictest_context_file='/opt/cyclictest-node-context.yaml' +pod_config='/opt/scripts/pod.yaml' +cyclictest_context_file='/opt/kvmfornfv_cyclictest_idle_idle.yaml' if [ ! -f ${pod_config} ] ; then echo "file ${pod_config} not found" @@ -21,9 +22,48 @@ if [ ! -f ${cyclictest_context_file} ] ; then fi #setting up of image for launching guest vm. -sudo ssh root@$HOST_IP "cp /root/images/guest1.qcow2 /root/" +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://104.197.68.199: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 = opnfv +password = 0pnfv2015 +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} -chmod 777 /tmp/yardstick.out -cat /tmp/yardstick.out > /opt/yardstick.out +output=$? + +if [ "$testType" == "verify" ];then + chmod 777 /tmp/yardstick.out + cat /tmp/yardstick.out > /opt/yardstick.out +fi + +if [ $output != 0 ];then + echo "Yardstick Failed !!!" + exit 1 +fi diff --git a/ci/envs/host-config b/ci/envs/host-config index ce6243ce0..a6beb06b6 100644..100755 --- a/ci/envs/host-config +++ b/ci/envs/host-config @@ -1,3 +1,5 @@ +#!/bin/bash + ############################################################################## ## Copyright (c) 2015 Intel Corp. ## @@ -7,13 +9,27 @@ ## 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 guest_cpus=2 + +# 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-) + +# 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" diff --git a/ci/envs/host-run-qemu.sh b/ci/envs/host-run-qemu.sh index 400e9e306..9cd4b45c2 100755 --- a/ci/envs/host-run-qemu.sh +++ b/ci/envs/host-run-qemu.sh @@ -19,7 +19,7 @@ cpumask () { printf 0x%x ${m} } -qmp_sock="/tmp/qmp-sock-$$" +qmp_sock="/tmp/qmp-sock" #${qemu} -smp ${guest_cpus} -monitor unix:${qmp_sock},server,nowait -daemonize \ # -cpu host,migratable=off,+invtsc,+tsc-deadline,pmu=off \ @@ -30,25 +30,20 @@ qmp_sock="/tmp/qmp-sock-$$" # -device virtio-net-pci,netdev=guest0 \ # -nographic -serial /dev/null -parallel /dev/null -${qemu} -smp ${guest_cpus} -drive file=/root/guest1.qcow2 -daemonize \ +${qemu} -smp ${guest_cpus} -monitor unix:${qmp_sock},server,nowait \ + -drive file=/root/guest1.qcow2 -daemonize \ -netdev user,id=net0,hostfwd=tcp:$HOST_IP:5555-:22 \ -realtime mlock=on -mem-prealloc -enable-kvm -m 1G \ -mem-path /mnt/hugetlbfs-1g \ -device virtio-net-pci,netdev=net0 \ -i=0 -for c in `echo ${host_isolcpus} | sed 's/,/ /g'` ; do - cpu[$i]=${c} - i=`expr $i + 1` -done - threads=`echo "info cpus" | nc -U ${qmp_sock} | grep thread_id | cut -d= -f3` # Bind QEMU processor threads to RT CPUs i=0 for tid in ${threads} ; do - tid=`printf %d ${tid}` # this is required to get rid of cr at end - mask=`cpumask ${cpu[$i]}` - taskset -p ${mask} ${tid} + new_tid=`echo $tid | sed -e 's/[\r\n]//g'` # this is required to get rid of cr at end + mask=`cpumask ${qemu_cpu[$i]}` + taskset -p ${mask} ${new_tid} i=`expr $i + 1` done diff --git a/ci/envs/utils.sh b/ci/envs/utils.sh index f582b5aac..5db55bef8 100755 --- a/ci/envs/utils.sh +++ b/ci/envs/utils.sh @@ -18,6 +18,12 @@ function getKernelVersion { #Get the IP address from pod.yaml file (example ip : 10.2.117.23) function getHostIP { - HOST_IP=`grep 'ip' $WORKSPACE/tests/pod.yaml | awk -F ': ' '{print $NF}' | tail -1` + host_dir="/root/workspace/scripts/" + container_dir="/opt/scripts/" + if [ -d "$container_dir" ];then + HOST_IP=`grep 'ip' $container_dir/pod.yaml | awk -F ': ' '{print $NF}' | tail -1` + elif [ -d "$host_dir" ];then + HOST_IP=`grep 'ip' $host_dir/pod.yaml | awk -F ': ' '{print $NF}' | tail -1` + fi echo $HOST_IP } |