virt.kvm_monitor: Rename command to cmd in hmp.cmd method

To keep the arguments same as qmp's interface, rename hmp's
'command' argument to 'cmd'.

Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
virt.kvm_monitor: Fallback to hmp when cmd isn't existed in qmp

Since some query commands are only existed in hmp,
fallback to hmp for these cmd when using qmp monitor.

Signed-off-by: Feng Yang <fyang@redhat.com>
Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
virt.kvm_monitor: Get supported monitor cmd list when monitor initiation

Also add a method "_has_command" to check if human/qmp
monitor support a cmd.

Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
virt.kvm_monitor: Add debug/fd argument for human_monitor_cmd interface

Also set 'cmd' argument's default value to "",
because qmp monitor can't accept 'None' string
as a command line option.

Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
virt.kvm_monitor: Update monitor log print functions

This patch introduces 2 methods to log monitor log.
 - _log_command is used to log which cmd would
   be sent to monitor.
 - _log_response is used to record response
   from monitor. In qmp monitor, json string
   will be decode into multiple lines.

There is a member "debug_log" in monitor class,
which is used to enable/disable debug log in
the whole class.

Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
virt.kvm_monitor: Use qmp's screendump cmd if qmp support it

New qemu-kvm version supports 'screendump' cmd
in qmp monitor, thus we can use it directly.

Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
install-autotest-server.sh: Add java-1.7.0-openjdk-devel to pkg list

This way, the appropriate java tools will be installed
to compile the web interface on Fedora 17.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
frontend.db: Pass connection to DatabaseOperations

In Django 1.4, the DatabaseOperations constructor takes
a mandatory connection argument, so let's handle the
TypeError, and make the application compatible with both
Django 1.3 and 1.4.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
frontend.afe.feeds: Update use of deprecated code

In Django 1.2, the access to the feeds object was moved
to from django.contrib.feeds from django.contrib.syndication
and marked it as deprecated. Django 1.4 removed it entirely,
so this change makes the web app actually compatible with
both versions of Django.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
frontend.afe.feeds: Fix coding style

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
apache/django-directives: Update to Django 1.4

Django 1.4 does change the location of the CSS files for
the admin interface, so let's add an extra rule for
that.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
utils/external_packages.py: Update Django built to 1.4

But stablish a minimum version of 1.3. This way systems
with Django at least 1.3 can use the distro installed
django instead of a newer one.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
frontend.settings: Add MessageMiddleware among the middleware classes

So we can effectively show up popup messages in the Django
admin view. As this class was introduced in 1.2, this change
should also allow to use Django 1.3 as a supported dep.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
install-autotest-server.sh: Fix IP grabbing expression

So the IP displays correctly on Fedora 17.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
KVM Test: Add qemu_has_option() helper function in kvm_utils

Same function with has_option() in vm.make_qemu_command.

Signed-off-by: Feng Yang <fyang@redhat.com>
KVM-test: Add '-soundhw' into guest booting command line

We can specify multiple sound cards seperated by comma
in config file, like:

soundcards = sb16,adlib

or assign 'all' by:
soundcards = all

By default it's ac97.

Signed-off-by: Yolkfull Chow <yzhou@redhat.com>
KVM-test: Add more cpu parameters to qemu-kvm cmd line

Add support for things like,
"-smp 4,cores=2,threads=1,socket=2"

Changes from v2:
 - Cleanup add_smp function.

Changes from v1:
 - Set the default value of cores and threads to 1,
   and the value of sockets equal to smp.

   Check the value of the parameter, if it's none,
   the vaule will be calculated.
   eg. cores=smp/cores/threads

   1). if smp >8 and threads=1, set threads=2
   2). if one of the vaule is not set in config file,
       it will be calculated with other params.

Signed-off-by: Chen Cao <kcao@redhat.com>
Signed-off-by: Suqin Huang <shuang@redhat.com>
Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
KVM Test: Add support for the new rtc cmdline

Newer qemu support a -rtc option, this patch enable
it when qemu binary supports it.

The rtc_base option is use to specify for base of
rtc (utc|localtime|date)
The rtc_clock is specified the clock (host|vm)

Changes from v2:
 - Check if qemu-kvm binary supports '-rtc-td-hack'
   option.

Changes from v1:
 - Remove -rtc-td-hack and add option driftfix
   According to bug 611229, -rtc-td-hack can not be
   used anymore, it is replaced by
   "-rtc base=xxx,clock=yy,driftfix=xx"
 - 'driftfix=slew' is used to test timedrift,
    in other cases set driftfix=none.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Suqin Huang <shuang@redhat.com>
Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
KVM-test: update command line for monitor

Changes from V4:
 - Code cleanup.
 - Add 'monitor_name' argument.
 - Use '_add_option' function to paste option.
 - Create human monitor if qmp is unsupported
   in VM.create method.

Changes from V3:
 - Fix of random monitor id
    Random serial/monitor id causes qemu cmdline
    comparison always failed, we could not combin
    many tests together.
    Add unique monitor_name to monitor ID

Changes from V2:
 - Create human monitor when host doesn't
   support qmp monitor

Changes from V1:
 - Check qmp option support when dealing with
   qmp monitor. Some qemu-kvm do not support
   qmp option. So we should check qmp option
   support first.

Signed-off-by: Chen Cao <kcao@redhat.com>
Signed-off-by: Feng Yang <fyang@redhat.com>
Signed-off-by: Amos Kong <akong@redhat.com>
Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
KVM-test: update command line for serial

tested with unattened_install.*

Changes from V2:
 - Code cleanup.
 - Use '_add_option' function to paste option.

Changes from V1:
 - Fix of random serial id
    Random serial/monitor id causes qemu cmdline
    comparison always failed, we could not combin
    many tests together.
    Guest only has one serial, so replace randome
    string in serial_id with 'self.instance'.

Signed-off-by: Chen Cao <kcao@redhat.com>
Signed-off-by: Amos Kong <akong@redhat.com>
Signed-off-by: Qingtang Zhou <qzhou@redhat.com>