[dts] [PATCH v1 2/8] tests/vf_jumboframe: use virt_common for VM creation

Herbert Guan herbert.guan at arm.com
Fri Feb 9 07:25:59 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/vf_jumboframe.cfg           | 111 +++++++++++++++++++++++++++++++++++++++
 tests/TestSuite_vf_jumboframe.py |   4 +-
 2 files changed, 113 insertions(+), 2 deletions(-)

diff --git a/conf/vf_jumboframe.cfg b/conf/vf_jumboframe.cfg
index 94e68b4..52d8c33 100644
--- a/conf/vf_jumboframe.cfg
+++ b/conf/vf_jumboframe.cfg
@@ -1,11 +1,122 @@
+# QEMU options
+# 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]
+#
+# cpu
+#       model: [host | core2duo | ...]
+#           usage:
+#               choose model value from the command
+#                   qemu-system-x86_64 -cpu help
+#       number: '4' #number of vcpus
+#       cpupin: '3 4 5 6' # host cpu list
+#
+# 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 | ...]
+#           nic
+#               opt_vlan: 0
+#                   note: Default is 0.
+#               opt_macaddr: 00:00:00:00:01:01
+#                   note: if creating a nic, it`s better to specify a MAC,
+#                         else it will get a random number.
+#               opt_model:["e1000" | "virtio" | "i82551" | ...]
+#                   note: Default is e1000.
+#               opt_name: 'nic1'
+#               opt_addr: ''
+#                   note: PCI cards only.
+#               opt_vectors:
+#                   note: This option currently only affects virtio cards.
+#           user
+#               opt_vlan: 0
+#                   note: default is 0.
+#               opt_hostfwd: [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport
+#                   note: If not specified, it will be setted automatically.
+#           tap
+#               opt_vlan: 0
+#                   note: default is 0.
+#               opt_br: br0
+#                   note: if choosing tap, need to specify bridge name,
+#                         else it will be br0.
+#               opt_script: QEMU_IFUP_PATH
+#                   note: if not specified, default is self.QEMU_IFUP_PATH.
+#               opt_downscript: QEMU_IFDOWN_PATH
+#                   note: if not specified, default is self.QEMU_IFDOWN_PATH.
+#
+# device
+#       driver: [pci-assign | virtio-net-pci | ...]
+#           pci-assign
+#               prop_host: 08:00.0
+#               prop_addr: 00:00:00:00:01:02
+#           virtio-net-pci
+#               prop_netdev: mynet1
+#               prop_id: net1
+#               prop_mac: 00:00:00:00:01:03
+#               prop_bus: pci.0
+#               prop_addr: 0x3
+#
+# monitor
+#       port: 6061   
+#           note: if adding monitor to vm, need to specicy
+#                 this port, else it will get a free port
+#                 on the host machine.
+#
+# serial_port
+#       enable: [yes | no]
+#       opt_type: [pty | unix]
+#
+# vnc
+#       displayNum: 1
+#           note: you can choose a number not used on the host.
+#
+# daemon
+#       enable: 'yes'
+#           note:
+#               By default VM will start with the daemonize status.
+#               Not support starting it on the stdin now.
+
+# 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/DTSVM_VARS.fd;
 cpu =
     model=host,number=4,cpupin=5 6 7 8;
 disk =
     file=/storage/vm-image/vm0.img;
+# Example for libvirt:
+#    file=/var/lib/libvirt/images/DTSVM.qcow2,opt_format=qcow2,opt_bus=scsi,opt_dev=sda,opt_controller=virtio-scsi;
 login =
     user=root,password=tester;
 vnc = 
     displayNum=1;
+# daemon option is not supported by libvirt yet, comment out below 2 lines if using libvirt
 daemon =
     enable=yes;
diff --git a/tests/TestSuite_vf_jumboframe.py b/tests/TestSuite_vf_jumboframe.py
index 78a43cd..dfafbd4 100644
--- a/tests/TestSuite_vf_jumboframe.py
+++ b/tests/TestSuite_vf_jumboframe.py
@@ -4,7 +4,7 @@ import re
 import time
 
 import utils
-from qemu_kvm import QEMUKvm
+from virt_common import VM
 from test_case import TestCase
 from pmd_output import PmdOutput
 from settings import HEADER_SIZE
@@ -111,7 +111,7 @@ class TestVfJumboFrame(TestCase):
             vf_popt = {'opt_host': self.sriov_vfs_port[0].pci}
 
             # set up VM ENV
-            self.vm = QEMUKvm(self.dut, 'vm0', 'vf_jumboframe')
+            self.vm = VM(self.dut, 'vm0', 'vf_jumboframe')
             self.vm.set_vm_device(driver=self.vf_assign_method, **vf_popt)
             self.vm_dut = self.vm.start()
             if self.vm_dut is None:
-- 
1.8.3.1



More information about the dts mailing list