boottool: build from local tarball if possible

In our environment, there is a firewall between client machines and the
outside world, downloading the grubby tarball from github will fail. But
we have the tarball in the autotest tree on the server. So push it out
as part of the set of files sent to the client. In bootool, look for the
tarball in the current directory, the autotest top directory (if running
under autotest) and fallback to the remote tarball if neither of those
work.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
install_server: default profile to an empty-string

Profiles are strings and should not be treated like objects. Let's
default them to empty-strings.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
hosts/remote: add install_server_is_configured

Extend the install-server configuration functionality to have a boolean check
of whether the backend has an install-server configured at all. This is mostly
to make future changes smaller.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
database: add profile column to afe_host_queue_entries_table

Store the profile as a string in the database.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
frontend: add XMLRPC lookup of profile information from install server to get_hosts

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
frontend: add profiles parameter to job creation interface

When we get a new job from afe, we might also get a list of profiles to
go with the hosts, and need to pass this down into the HostQueueEntry
logic eventually.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
hosts: add profile to the remote class

The initial implementation of this code added a subclass of SSHHost, but
that is not strictly necessary. Cleber Rosa had this to say:

	Instead of adding yet another inheritance level, simply add a
	optional profile attribute and argument to the remote class.
	This is preferrable IMHO this flattens the class inheritance,
	makes it easier to understand, and adds profile support to both
	SSHHost and ParamikoHost.

	Also, the fact the the current host installation code lives on
	Hosts.Remote, is another great motivator.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
autoserv: append profile selection to hostname parameter

I spent much time going back and forth trying to find the smallest
impact way to present installer server profiles to autoserv for control
file usage. Eventually, I decided that appending it to the hostname
makes sense, as it's a parameter of the host selection -- i.e., I want
UserW on HostX installed with ProfileY.

'#' is not a valid character in hostnames, afaik, so I think it should
be safe to use as a separator. Update the parse_machine to know about
this separator. Now, create_host() automatically puts in a profile
object, if the host is of type InstallableHost.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
frontend/afe: add current profile to host view

Now that we have a backend link between hosts and profiles, it makes
some sense to list the current value of the property in the View Host
tab.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
frontend/afe: add profile used to job view

Each HostQueueEntry in the database has a profile stored with it. Show
this in the Job View tab to indicate what profile was used in that job.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
frontend/afe: add listbox widget support

To facilitate profile selection in the Create Job view, we need to add a
new widget type. Currently, all widgets are assumed to be checkboxes.
Extend the createWidget API to take a type, as a well-defined enum.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
frontend/afe: add profile to host tables

In general, whenever we have a table of hosts, we should be able to show
some profile information. There are 3 cases that I think are worth
supporting:

1) No checkbox, No profile information (HostTable.java)
        Used on the Available Host sub-tab of Create Job
2) No checkbox, profile listbox (ProfileSelectTable.java)
        Used on the Selected Host sub-tab of Create job
3) Checkbox, current profile statically listed (SelectableProfileStaticTable.java)
        Used on the View Host tab
4) Checkbox, no profile information (SelectableHostTable.java)
        Kept for backwards compatibility/support

Add the corresponding classes as sub-classes of HostTable.

Populate the data appropriately in SelectionManager and show the data to
the end user.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
frontend/afe: add support for do_not_install profile

Insert a dummy profile name in the Python code so that the end user can
indicate no installation should occur before the job runs.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
virt: Add get_status function for kvm_monitor QMP class

Human monitor have get_status() function, but QMP class do not
have.  So some case fail with QMP monitor

Signed-off-by: Feng Yang <fyang@redhat.com>
KVM: Fix extranious calls to add_netdev when netdev_id already set

Signed-off-by: Chris Evich <cevich@redhat.com>
install-autotest-server.sh: Introduce Ubuntu support

I have noticed recently lots of people having trouble
to install the autotest server on Ubuntu (11.10, 12.04).
As we have a large user base, it became obvious that we
need to cater to these new users by making things easier
to install.

Therefore, I've expanded the install server script to
also work with Ubuntu. It's important to note that the
only version tested was 12.04, and it seems to be working
pretty well. It's a fact that later we'll have to refactor
the script and add more features, but this is a good first
pass.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
frontend: Update HTML templates

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>