gcc-c++ \
zlib-devel \
gtk2-devel \
+ glib2-devel \
make \
gettext \
bc \
+ bison\
+ flex\
rpm \
rpm-build
source $WORKSPACE/ci/envs/utils.sh
KERNELRPM_VERSION=$( getKernelVersion )
+QEMURPM_VERSION=$( getQemuVersion )
if [ -z ${KERNELRPM_VERSION} ];then
echo "Kernel RPM not found in build_output Directory"
exit 1
fi
+if [ -z ${QEMURPM_VERSION} ];then
+ echo "QEMU RPM not found in build_output Directory"
+ exit 1
+fi
#calculating and verifying sha512sum of the guestimage.
function verifyGuestImage {
sudo ssh root@${HOST_IP} "rpm=\$(rpm -qa | grep 'kernel-${KERNELRPM_VERSION}' | awk '{print \$1}'); rpm -ev \$rpm"
sudo ssh root@${HOST_IP} "rm -rf /boot/initramfs-${KERNELRPM_VERSION}*.img"
sudo ssh root@${HOST_IP} "grub2-mkconfig -o /boot/grub2/grub.cfg"
+ sudo ssh root@${HOST_IP} "rpm=\$(rpm -qa | grep 'qemu-${QEMURPM_VERSION}'| awk '{print \$1}'); rpm -ev \$rpm"
sudo ssh root@${HOST_IP} "reboot"
}
#copying required files to run yardstick cyclic testcase
cp $WORKSPACE/build_output/kernel-${KERNELRPM_VERSION}*.rpm ${volume}/rpm
+ cp $WORKSPACE/build_output/qemu-${QEMURPM_VERSION}*.rpm ${volume}/rpm
cp -r $WORKSPACE/ci/envs/* ${volume}/scripts
cp -r $WORKSPACE/tests/kvmfornfv_cyclictest_${testName}.yaml ${volume}
cp -r $WORKSPACE/tests/pod.yaml ${volume}/scripts
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
# Isolated cpus for nfv, must be given as a range '-' and Numa node1 CPU's should be considered
--- /dev/null
+#!/bin/bash
+
+###############################################################################
+## Copyright (c) 2016 Intel Corp.
+##
+## All rights reserved. This program and the accompanying materials
+## are made available under the terms of the Apache License, Version 2.0
+## which accompanies this distribution, and is available at
+## http://www.apache.org/licenses/LICENSE-2.0
+###############################################################################
+
+source utils.sh
+source host-config
+
+QEMU_VERSION=$( getQemuVersion )
+
+if [ -z $QEMU_VERSION ];then
+ echo "qemu RPM not found"
+ exit 1
+fi
+rpmdir=${1:-"/root/workspace/rpm/"}
+rpmpat="qemu-${QEMU_VERSION}*.rpm"
+
+install_qemu () {
+ # Removing Existing qemu rpms
+ qemu_rpm=$(rpm -qa | grep 'qemu')
+ echo "Removing Existing qemu packages"
+ rpm -ev $qemu_rpm
+ # Install the qemu rpm
+ filenum=`ls -l ${rpmdir}/${rpmpat} |wc -l`
+ if [ $filenum -eq 0 ]
+ then
+ echo "No qemu rpm found in workspace/rpm"
+ exit 1
+ elif [ $filenum -gt 1 ]
+ then
+ echo "Multiple qemu rpm found in workspace/rpm"
+ exit 1
+ else
+ qrpm=`find "${rpmdir}" -name "${rpmpat}"`
+ rpm -ihv $qrpm
+ fi
+}
+install_qemu
-realtime mlock=on -mem-prealloc -enable-kvm -m 1G \
-mem-path /mnt/hugetlbfs-1g \
-device virtio-net-pci,netdev=net0 \
+ -vnc :1
threads=`echo "info cpus" | nc -U ${qmp_sock} | grep thread_id | cut -d= -f3`
fi
echo $HOST_IP
}
+#Get the Qemu version from RPM generated(example:qemu-2.6.0-1.x86_64.rpm)
+function getQemuVersion {
+ rpm_dir="/root/workspace/rpm/"
+ if [ -d "$WORKSPACE" ];then
+ cd $WORKSPACE/build_output 2>/dev/null; qemuRPM=`ls qemu-[[:digit:]]* 2>/dev/null`
+ RPMVERSION=`echo ${qemuRPM}|awk -F '-' '{print $2}' | awk -F '-' '{print $NF}'`
+ elif [ -d "$rpm_dir" ];then
+ cd $rpm_dir 2>/dev/null; qemuRPM=`ls qemu-[[:digit:]]* 2>/dev/null`
+ RPMVERSION=`echo ${qemuRPM}|awk -F '-' '{print $2}' | awk -F '-' '{print $NF}'`
+ fi
+ echo ${RPMVERSION}
+}
+
- "host-setup0.sh"
- "reboot"
- "host-setup1.sh"
+ - "host-install-qemu.sh"
- "host-run-qemu.sh"
guest_setup_seqs:
- "guest-setup0.sh"