virttest.aexpect: Support commands longer than 2MB

Current kernels support unlimited argument length, the only limit is
stack size. The default stack size is usually 8KB which is sufficient
for ~2MB commands. Use ulimit to increase these limits. The multi_disk
in some configurations attacks the 2MB barier and in the future we
might see this comming (unless we switch to -readconfig).

NOTE: Only superuser can increase the hard limit, anyway if the command
      fails the test continues and tries to execute the cmd anyway.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.env_process: Parallelize the image processing

Some cases create many disks, which takes a long time, where most
time consumes the handling around cmd execution. This patch parallelize
the image processing in case we deal with over 20 disks. It spawns
$no_cpus * 2 threads (or less in case it would be inefficient).

The performance improvement was significant (30=>12s on 4CPU system).

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
qemu.tests.multi_disk: Tweak the config file of virtio_scsi_variants

Use the unified configs (scsiid=>unit, lun=>port) and store the images
in the usual location. The location '/tmp/%s' was used before because
python was unable to execute that long command and this prefix shorten
it significantly. Now autotest supports the way to deal with long
commands so we can finally store the images in the right location.

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

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
virttest.qemu_devices: Fix boot=on not being passed to RHEL5 qemu

On RHEL5, we were not passing boot=on properly to the
qemu-kvm binary. Fix the heuristics to detect whether
the binary uses this ancient syntax to define virtio
disks as bootable.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
qemu.tests.physical_resources_check: Fix RHEL5 compatibility

Turns out RHEL5 qemu does not support the 'info qtree'
command, therefore an attempt to parse the output of
this command will fail. So skip that particular check
when running on this particular qemu version.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
Add attach_disk and dettach_disk in VM class.

Signed-off-by: yangdongsheng <yangds.fnst@cn.fujitsu.com>
Add a method named 'sync' to VMXML class.

Lots of times to call vmxml.undefine() and vmxml.define(), to
make our config in vmxml take effect in vm.

Signed-off-by: yangdongsheng <yangds.fnst@cn.fujitsu.com>
Add test for svirt attach disk.

Signed-off-by: yangdongsheng <yangds.fnst@cn.fujitsu.com>
virttest.test_setup: Improve error message

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
virttest.qemu_vm: Fix coding style

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
virttest.qemu_vm: Fix error in string repr of MigrateError

The problem was that the arguments for the string interpolation
were not passed as a tuple, as they should. When hitting
an unknown migration protocol error, the return would raise
a TypeError. Let's fix it.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
physical_resources_check: Convert exceptions to strings before concatenation

There might be an occasion where we get the following
error:

TypeError: unsupported operand type(s) for +: 'MonitorProtocolError' and 'str'

So let's try to convert the exception class to a string
first.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
Merge pull request #4 from autotest/next

Merge latest changes from autotest