[dts] [PATCH v2 1/9] tests/sriov_kvm: use virt_common for VM creation
Herbert Guan
herbert.guan at arm.com
Mon Feb 12 10:57:34 CET 2018
Use 'VM' form virt_common instead of 'QEMUKvm' from qemu_kvm for VM
creation. This will allow VM type selection (kvm/libvirt etc.) for
each VM defined in test suite's config file.
Signed-off-by: Herbert Guan <herbert.guan at arm.com>
---
conf/sriov_kvm.cfg | 79 +++++++++++++++++++++++++++++++++++++++++++-
tests/TestSuite_sriov_kvm.py | 18 +++++-----
2 files changed, 87 insertions(+), 10 deletions(-)
diff --git a/conf/sriov_kvm.cfg b/conf/sriov_kvm.cfg
index cf63da6..4bffa57 100644
--- a/conf/sriov_kvm.cfg
+++ b/conf/sriov_kvm.cfg
@@ -2,6 +2,15 @@
# name
# name: vm0
#
+# virt_type
+# virt_type: [ KVM | LIBVIRT ]
+#
+# os
+# loader: /path/to/loader/file.fd
+# note: applicable for libvirt only
+# nvram: /path/to/nvram/file.fd
+# note: applicable for libvirt only
+#
# enable_kvm
# enable: [yes | no]
#
@@ -15,9 +24,17 @@
#
# mem
# size: 1024
+# note: Set VM memory size in MB
#
# disk
# file: /path/to/image/test.img
+# opt_format: [ raw | qcow2 | ... ]
+# opt_bus: [ virtio | scsi | ... ]
+# note: applicable for libvirt only
+# opt_dev: [ sda | sdb | vda | ... ]
+# note: applicable for libvirt only
+# opt_controller: [ virtio-scsi | ...]
+# note: applicable for libvirt only
#
# net
# type: [nic | user | tap | bridge | ...]
@@ -70,6 +87,8 @@
#
# serial_port
# enable: [yes | no]
+# opt_type: [pty | unix]
+#
# vnc
# displayNum: 1
# note: you can choose a number not used on the host.
@@ -83,70 +102,128 @@
# vm configuration for pmd sriov case
[vm0]
+# Default virt_type is KVM
+#virt_type =
+# virt_type=LIBVIRT;
+# os option is applicable for libvirt only
+#os =
+# loader=/usr/share/AAVMF/AAVMF_CODE.fd,nvram=/var/lib/libvirt/qemu/nvram/DTSVM0_VARS.fd;
cpu =
model=host,number=4,cpupin=5 6 7 8;
disk =
file=/home/image/vdisk01-sriov-fc20.img;
+# Example for libvirt:
+# file=/var/lib/libvirt/images/DTSVM0.qcow2,opt_format=qcow2,opt_bus=scsi,opt_dev=sda,opt_controller=virtio-scsi;
+#mem =
+# size=4096;
login =
user=root,password=tester;
-net =
+#serial_port =
+# enable=yes,opt_type=pty;
+# net option is not necessary for libvirt, comment out below 2 lines if using libvirt
+net =
type=nic,opt_vlan=0;
type=user,opt_vlan=0;
+# monitor option is not supported by libvirt yet, comment out below 2 lines if using libvirt
monitor =
port=;
+# vnc option is not supported by libvirt yet, comment out below 2 lines if using libvirt
vnc =
displayNum=1;
+# daemon option is not supported by libvirt yet, comment out below 2 lines if using libvirt
daemon =
enable=yes;
[vm1]
+# Default virt_type is KVM
+#virt_type =
+# virt_type=LIBVIRT;
+# os option is applicable for libvirt only
+#os =
+# loader=/usr/share/AAVMF/AAVMF_CODE.fd,nvram=/var/lib/libvirt/qemu/nvram/DTSVM1_VARS.fd;
cpu =
model=host,number=4,cpupin=9 10 11 12;
disk =
file=/home/image/vdisk02-sriov-fc20.img;
+# Example for libvirt:
+# file=/var/lib/libvirt/images/DTSVM1.qcow2,opt_format=qcow2,opt_bus=scsi,opt_dev=sda,opt_controller=virtio-scsi;
login =
user=root,password=tester;
+#serial_port =
+# enable=yes,opt_type=pty;
+# net option is not necessary for libvirt, comment out below 2 lines if using libvirt
net =
type=nic,opt_vlan=1;
type=user,opt_vlan=1;
+# monitor option is not supported by libvirt yet, comment out below 2 lines if using libvirt
monitor =
port=;
+# vnc option is not supported by libvirt yet, comment out below 2 lines if using libvirt
vnc =
displayNum=2;
+# daemon option is not supported by libvirt yet, comment out below 2 lines if using libvirt
daemon =
enable=yes;
[vm2]
+# Default virt_type is KVM
+#virt_type =
+# virt_type=LIBVIRT;
+# os option is applicable for libvirt only
+#os =
+# loader=/usr/share/AAVMF/AAVMF_CODE.fd,nvram=/var/lib/libvirt/qemu/nvram/DTSVM2_VARS.fd;
cpu =
model=host,number=4,cpupin=13 14 15 16;
disk =
file=/home/image/vdisk03-ivshmem-fc20.img;
+# Example for libvirt:
+# file=/var/lib/libvirt/images/DTSVM2.qcow2,opt_format=qcow2,opt_bus=scsi,opt_dev=sda,opt_controller=virtio-scsi;
login =
user=root,password=tester;
+#serial_port =
+# enable=yes,opt_type=pty;
+# net option is not necessary for libvirt, comment out below 2 lines if using libvirt
net =
type=nic,opt_vlan=3;
type=tap,opt_vlan=3,opt_br=br0;
+# monitor option is not supported by libvirt yet, comment out below 2 lines if using libvirt
monitor =
port=;
+# vnc option is not supported by libvirt yet, comment out below 2 lines if using libvirt
vnc =
displayNum=3;
+# daemon option is not supported by libvirt yet, comment out below 2 lines if using libvirt
daemon =
enable=yes;
[vm3]
+# Default virt_type is KVM
+#virt_type =
+# virt_type=LIBVIRT;
+# os option is applicable for libvirt only
+#os =
+# loader=/usr/share/AAVMF/AAVMF_CODE.fd,nvram=/var/lib/libvirt/qemu/nvram/DTSVM3_VARS.fd;
cpu =
model=host,number=4,cpupin=17 18 19 20;
disk =
file=/home/image/vdisk04-ivshmem-fc20.img;
+# Example for libvirt:
+# file=/var/lib/libvirt/images/DTSVM3.qcow2,opt_format=qcow2,opt_bus=scsi,opt_dev=sda,opt_controller=virtio-scsi;
login =
user=root,password=tester;
+#serial_port =
+# enable=yes,opt_type=pty;
+# net option is not necessary for libvirt, comment out below 2 lines if using libvirt
net =
type=nic,opt_vlan=4;
type=tap,opt_vlan=4,opt_br=br0;
+# monitor option is not supported by libvirt yet, comment out below 2 lines if using libvirt
monitor =
port=;
+# vnc option is not supported by libvirt yet, comment out below 2 lines if using libvirt
vnc =
displayNum=4;
+# daemon option is not supported by libvirt yet, comment out below 2 lines if using libvirt
daemon =
enable=yes;
diff --git a/tests/TestSuite_sriov_kvm.py b/tests/TestSuite_sriov_kvm.py
index ae97bef..ee8d555 100644
--- a/tests/TestSuite_sriov_kvm.py
+++ b/tests/TestSuite_sriov_kvm.py
@@ -12,7 +12,7 @@ import re
import pdb
import time
-from qemu_kvm import QEMUKvm
+from virt_common import VM
from test_case import TestCase
from pmd_output import PmdOutput
@@ -296,12 +296,12 @@ class TestSriovKvm(TestCase):
vf1_prop = {'opt_host': self.port1_pci}
# set up VM0 ENV
- self.vm0 = QEMUKvm(self.dut, 'vm0', 'sriov_kvm')
+ self.vm0 = VM(self.dut, 'vm0', 'sriov_kvm')
self.vm0.set_vm_device(driver='pci-assign', **vf0_prop)
self.vm_dut_0 = self.vm0.start()
# set up VM1 ENV
- self.vm1 = QEMUKvm(self.dut, 'vm1', 'sriov_kvm')
+ self.vm1 = VM(self.dut, 'vm1', 'sriov_kvm')
self.vm1.set_vm_device(driver='pci-assign', **vf1_prop)
self.vm_dut_1 = self.vm1.start()
@@ -355,14 +355,14 @@ class TestSriovKvm(TestCase):
self.host_testpmd.execute_cmd('start')
# set up VM0 ENV
- self.vm0 = QEMUKvm(self.dut, 'vm0', 'sriov_kvm')
+ self.vm0 = VM(self.dut, 'vm0', 'sriov_kvm')
self.vm0.set_vm_device(driver='pci-assign', **vf0_prop)
self.vm_dut_0 = self.vm0.start()
if self.vm_dut_0 is None:
raise Exception("Set up VM0 ENV failed!")
# set up VM1 ENV
- self.vm1 = QEMUKvm(self.dut, 'vm1', 'sriov_kvm')
+ self.vm1 = VM(self.dut, 'vm1', 'sriov_kvm')
self.vm1.set_vm_device(driver='pci-assign', **vf1_prop)
self.vm_dut_1 = self.vm1.start()
if self.vm_dut_1 is None:
@@ -435,25 +435,25 @@ class TestSriovKvm(TestCase):
self.host_testpmd.start_testpmd(
"1S/2C/2T", eal_param=eal_param)
- self.vm0 = QEMUKvm(self.dut, 'vm0', 'sriov_kvm')
+ self.vm0 = VM(self.dut, 'vm0', 'sriov_kvm')
self.vm0.set_vm_device(driver='pci-assign', **vf0_prop)
self.vm_dut_0 = self.vm0.start()
if self.vm_dut_0 is None:
raise Exception("Set up VM0 ENV failed!")
- self.vm1 = QEMUKvm(self.dut, 'vm1', 'sriov_kvm')
+ self.vm1 = VM(self.dut, 'vm1', 'sriov_kvm')
self.vm1.set_vm_device(driver='pci-assign', **vf1_prop)
self.vm_dut_1 = self.vm1.start()
if self.vm_dut_1 is None:
raise Exception("Set up VM1 ENV failed!")
- self.vm2 = QEMUKvm(self.dut, 'vm2', 'sriov_kvm')
+ self.vm2 = VM(self.dut, 'vm2', 'sriov_kvm')
self.vm2.set_vm_device(driver='pci-assign', **vf2_prop)
self.vm_dut_2 = self.vm2.start()
if self.vm_dut_2 is None:
raise Exception("Set up VM2 ENV failed!")
- self.vm3 = QEMUKvm(self.dut, 'vm3', 'sriov_kvm')
+ self.vm3 = VM(self.dut, 'vm3', 'sriov_kvm')
self.vm3.set_vm_device(driver='pci-assign', **vf3_prop)
self.vm_dut_3 = self.vm3.start()
if self.vm_dut_3 is None:
--
1.8.3.1
More information about the dts
mailing list