qemu.tests: update test script according test case

updated test script since case steps changed;

Signed-off-by: Xu Tian <xutian@redhat.com>
qemu.test: remove useless file

remove useless script block_stream_with_stress, since
block_stream_stress in used by block_stream.with_stress tests;

Signed-off-by: Xu Tian <xutian@redhat.com>
shared.cfg: Disable the serail number check in low verson Windows guest

Only Win8 and above wmic will give the results in the right format.
So disable it for lower version of Windows guests

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
tools/download_manager.py: Exit cleanly on Ctrl+C

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
tools/download_manager.py: Clarify how to get out of the script

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
virttest.qemu_vm: follow up with 'info block' changed in new qemu

add info block support of get_block() and
check_block_locked() in new qemu

Signed-of-by: Mike Qiu <qiudayu@linux.vnet.ibm.com>
qemu.tests.cdrom:add new qemu block format support in cdrom

add new qemu block format support in cdrom, like tray, lock,
block file, etc.

Signed-off-by: Mike Qiu <qiudayu@linux.vnet.ibm.com>
virttest.utils_disk: Fix python 2.4 incompatibility

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
qemu_devices: Fix network creation problem with RHEL5

We were assembling the network device cmd line for RHEL5
QEMU incorrectly, post the qemu_devices work.

 bad cmdline:
     -net id=idprh29y,macaddr=9a:49:4a:4b:4c:4d,model=virtio,type=nic,vlan=0  \
     -net tap,vlan=0,fd=24  \

 good cmdline:
     -net nic,vlan=0,model=virtio,macaddr='9a:21:22:23:24:25',id='idxlzqAk' \
     -net tap,vlan=0,fd=24 \

Fix this by making the 'nic' param of the custom QDevice
NO_STRING_EQUAL, and making sure such params come first before others.

CC: Lukas Doktor <ldoktor@redhat.com>
Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
virttest.qemu_devices: Add support for USB controllers

this patch adds support to create USB controllers using qemu_devices.
This version supports all current options including usb-hubs plus
adds couple of new options.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_vm: Use qemu_devices to handle usbs

Use qemu_devices to create usb controllers and usb devices.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_devices: Add none_or_int wrapper

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_devices: Add support for disk devices and use it in qemu_vm

This patch changes the way of handling images, cdroms and floppies
params. Instead of custom handling in make_create_command it uses
wrappers in self.devices. It keeps track of all image buses according
to autotest.

It shouldn't change the way how autotest used to create disks. Anyway
few params which were omited for some devices were added. Also all
buses are tracked so in case there is no free bus it should create one.

This feature works 100% with strict_mode. For non-strict_mode there
might be few differences as qemu doesn't differentiate between ide and
ahci buses. Handling of this would require deeper modifications to
the way of images handling and will be discussed and resolved later.

Images should be added with the correct version of device thus we should
be able to unplug/hotplug the device in test.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_devices: Fix cdrom params

Original autotest ignored some params.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
Fixup: Param removable works only for scsi or usb disks

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.env_process: Don't update params of an unused living VM

Currently during vm_preprocess params of unused running VMs are updated,
but VM is not recreated (it's not used, so there is no need for it).
If we create VM in 1st test, in 2nd test we use different params but set
start_vm = no, params are updated so when we use the same params from
2nd test in 3rd test, preprocess would match the VM from 1st test as
the params were updated. Anyway as the VM is not recreated, the running
VM doesn't represents the params from 2nd test.

With my modification the preprocess would always handle VM properly. The
only problem might be, when someone uses vm.create() directly without
preprocess in the 2nd test. Anyway it's a bad practise and I haven't found
it in upstream tests. We always use preprocess to prepare the VM.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_devices: Fix DevContainer.remove() issues

Fix issues of DevContainer.remove() and add support for
non-recursive removal.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_devices: Add calls to handle QBaseDevice.child_bus

To simplify and unify usage of QBaseDevice.child_bus I added
add/rm_child_bus functions.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_devices: Hotplug/unplug support

This patch adds the possibility to safely hotplug/unplug devices from
running VM.

Additionally it adds another VM state and VM param. When the test
requires clean VM, you might specify "allow_hotplugged_vm = no" and
when VM used hotplug it will be recreated.

For hotplugging you might specify monitor, which should be used and
whether to verify results. This is not supported by all devices, but
when there is a method to automatically verify hotplug results, it'll
do it for you and cleans the qdev state for you. Otherwise it's upto the
user to do it by qdev.hotplug_verified().

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_devices: Add support for hotpluggable drives

Add support for QDrive, which supports drive_add (QHPDrive) or
__com.redhat_drive_add (QRHDrive).

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>