virt.kvm_vm: don't limit all qemu threads to single numa node

numactl manpage:
  --cpunodebind=nodes, -N nodes
    Only execute command on the CPUs of nodes.  Note that nodes
    may consist of multiple CPUs.  nodes may be specified as
    noted above.

We just want to use numactl to limit memory usage, and set the
cpu affinity of vcpu threads by taskset.
'-N' would make other unimportant threads also execute in
assigned node, it would effect performance.

Reported-by: Wenli Quan <wquan@redhat.com>
Signed-off-by: Amos Kong <akong@redhat.com>
client/boottool: print exception information when grubby fails to install

Signed-off-by: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
frontend: Replaces mod_python by mod_wsgi apache module

This patch also repairs bug with readonly_connection to
mysql database.

Signed-off-by: Jiří Župka <jzupka@redhat.com>
install-autotest-server.sh: Repair bug in autotest install script

The patch corrects creation of directory for autotest git
and repairs some typo.

Signed-off-by: Jiří Župka <jzupka@redhat.com>
frontend: Disable i18n for rpc server

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
frontend: Change RPC server timezone to UTC

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
virt.virt_utils: Add new classes to handle VM nw info

Add new classes to handle VM networking related information in a
cleaner and more consistent way:

New Class: PropCan
    Allow container-like access to fixed set of items (__slots__)
    This allows NIC/Net handling code to lock-down a fixed set of
    parameters relevant to a vm_type / driver_type combination.

New Class: Base_VirtIface
    Networking information for single guest interface and host
    connection.  This is an abstract base-child-class of PropCan
    containing the minimal amount of networking keys needed, along
    with some basic name and mac address handling methods.

New Class: Libvirt_VirtIface & KVM_VirtIface
    Specializations of Base_VirtIface parent class (and PropCan)
    with networking keys specific to Libvirt or KVM respectively.

New Class: VMNet
    Abstract base-class collection of networking information, stored
    within a particular container class (e.g. a subclass of
    Base_VirtIface).

New Class: VMNet_Style
    Make decisions about needed info from vm_type and driver_type
params.

New Class: ParamsNet
    VMNet sub-class specialized for initialization from a Params
    dict-like instance.

New Class DbNet:
    VMNet sub-class specialized for initialization from a database.

New Class: VirtNet (Re-write former networking code)
    Multi-inheritance of the ParamsNet and DbNet classes providing
    mediated networking info. management behavior combination of both.

A more detailed description of each class can be found on the autotest
wiki and the class docstrings. All classes come together with unittests.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt.*_vm: Update VM base code to use the new networking code

Update the VM code to use the new network classes.
Now, all network related info, together with methods,
can be found on vm.virtnet. The libvirt_vm class in
particular now has a much better system to handle
nw cards and MAC addresses.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: Update tests to use the new vm.virtnet methods

Change the old functions to manipulate nw card
info and MAC addresses to the new vm.virtnet APIs.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: Update config files to display updated params

And also give a bit of context to the user through
comments.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: Make nic_hotplug work again

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
Add SCSI testuite test

Adding client test executing testsuite for testing SCSI. This suite tests
handling of various scsi commands using sg3_utils.

Control file allows:
- Choose between tarball distributed with autotest or original git repository
- Specifiy disk for test by scsi address, serial number or device file
- Choose which tests will be executed

Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
Add support for scsi_testsuite into virt.autotest

Make it possible to run scsi_testsuite test in the guest.
Test uses serial number for disk identification and run
testsuite from tarball.

Only scsi-disk variant added in this moment.

Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
client.virt.kvm_qtree: Add Qtree verification class

This patch adds a mechanism for verification of Qtree and other KVM
generated info.

Current release supports:
1) build representation of info qtree (QtreeContainer)
2) verification of disks from info block, guest OS and autotest params
   (QtreeDiskContainer)

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
client.virt.kvm_qtree_unittest: Add unittest for Qtree verificator

this is a unittest for classes from client.virt.kvm_qtree

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
kvm_tests: Use kvm_qtree library in multi_disk test

* This patch modifies multi_disk test to use Qtree verification class

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
client test: Add kernel install case in autotest

Autotest framework has great support in kernel compile and install.
Add this case to make it easier to compile kernel in guest.

This test supports 3 kinds of installation method.
 * rpm: install kernel with a local/remote rpm package.
 * git: checkout a git repo and compile kernel.
 * tar: compile kernel from a tarball and install it.

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
Virt: Add tag in run_sub_test

Add a tag to run_sub_test to get the params for sub_test.
Otherwise more than one sub_test in a test scripts may have
conflict params.

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
Acked-by: Qingtang Zhou <qzhou@redhat.com>
Acked-by: Feng Yang <fyang@redhat.com>
KVM Test: kernel_install.py: Add a kernel installation test

This test supports 4 kinds of installation method.
 * rpm: install guest kernel with a local/remote rpm package.
 * koji/brew: download packages via koji/brew and install kernel in
 * guest.
 * git: checkout a git repo and compile kernel.
 * tar: compile kernel from a tarball and install it in guest.

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
KVM Test: Add config for guest kernel install test

Signed-off-by: Qingtang Zhou <qzhou@redhat.com>