Merge LibvirtBridgeDriver class into LibvirtGenericVIFDriver

This introduces the LibvirtGenericVIFDriver class which uses
the 'vif_type' mapping field to determine what type of host
network configuration is required.

The LibvirtBridgeDriver class functionality is merged into
LibvirtGenericVIFDriver. For backwards compatibility with
the Folsom release, the existing LibvirtBridgeDriver class
is made to inherit from LibvirtGenericVIFDriver and directly
call the bridge specific setup APIs. This eases migration to
the new VIF impl during the Grizzly deployment lifecycle, with
an expectation that the LibvirtBridgeDriver stub will be
deleted in the Hxxxxx release.

DocImpact
Blueprint: libvirt-vif-driver
Change-Id: I948158b5ee0a97f666bb4d21020b552d3475b6d3
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
VMware Compute Driver Host Ops

blueprint vmware-compute-driver

Host power action and maintenance mode
Get host stats and update host status

Change-Id: I88eff5482ad50a8ffa262dd015d2395fe2095fba
VMware Compute Driver OVF Support

blueprint vmware-compute-driver

Launch OVF disk image
DocImpact
Add support for VMware disk and adapter type

vmware_disktype: eagerZeroedThick, preallocated and sparse
Default value is 'preallocated'.
'sparse' disk refers to OVF supported VMDK format
(sparse or streamOptimized).
A sparse disk is copied to thin disk upon deployment.

vmware_adaptertype: ide, busLogic and lsiLogic
Default value is 'lsiLogic'.

Usage:
glance add name="Ubuntu" disk_format=vmdk container_format=ovf
is_public=true vmware_adaptertype="lsiLogic"
vmware_ostype="ubuntuGuest" vmware_disktype="sparse"
 < ubuntu-disk1.vmdk

Add support for VNC console

Nova conf:
vnc_enabled=[true|false] defaults to true
vnc_port=[port #] defaults to 5900
vnc_port_total=[total port #] defaults to 10000,
the actual VM VNC port is vnc_port + VM ID % vnc_port_total
vnc_password=[optional]

Change-Id: I912b46b9f72f9089b448e03a04327fb79b9f0f3f
Strip out Traceback from HTTP response

We should not let stack traces leak to the REST API users

Fixes LP# 1103324
Fixes LP# 1092610

Change-Id: Ic1208bfeb7d44e672f8b8d3a4004a9802c14e7b9
iptables-restore error when table not loaded.

When adding openstack rules, if a table module is not loaded,
the resulted file doesn't include the section for the missing
table, making new rules added to it, out of place and
a no valid file for iptables-restore

Fixes bug #1103436

Change-Id: I34ae51a23efec57bfec37b8fa378d043fcf62d70
Avoid hard dependency on python-coverage.

Updates the coverage extension in the OpenStack Compute API to
avoid a hard dependency on the python coverage module. We now
try to import 'coverage' and if it isn't present we return
an HTTP 503 (service unavailable error).

This gets rid of WARNING errors which occur when running Nova API
when the 'coverage' module is not available:

2013-01-27 17:10:28.938 16018 WARNING nova.api.openstack.compute.contrib
[-] Failed to load extension
nova.api.openstack.compute.contrib.coverage_ext.Coverage_ext: No module
named coverage

Fixes LP Bug #1101057.

Change-Id: I573180aead44d68b8377cd66f30fc6ac849d0272
Allow users to specify a tmp location via config

Fixes bug 981104

Although the temporary directory used can be controlled via
environment variables, this patch provides a way to define it
explicitly via a config option.

The default value is None, which behaves per the doc below:
http://docs.python.org/2/library/tempfile.html#tempfile.tempdir

Flags: DocImpact
Change-Id: I47b6d8bac734f453c80d541b46086a30e847c859
Fix a typo of log message in _poll_unconfirmed_resizes

That is just a negligible typo issue, so I have not filed a bug on LP.
The typo log message is like "notRESIZED/None", and should be
"not RESIZED/None".

Change-Id: I6137b477185419b1e638be3ed5310644aff96d76
Merge "Avoid hard dependency on python-coverage."
Merge "Fix a typo of log message in _poll_unconfirmed_resizes"
Merge "Strip out Traceback from HTTP response"
Merge "Allow users to specify a tmp location via config"
Merge "VMware Compute Driver Host Ops"
Merge "VMware Compute Driver OVF Support"
Make sure there are no unused import

Remove all currently unused imports
Prevent future unused imports

Change-Id: I6ac26d5c71b79952a7732db300355a00310c712e
Stop including full service catalog in each RPC msg

The service catalog is included in the context to get the cinder API
endpoints.  Instead of passing entire service catalog just for cinder
endpoint, just include cinder endpoint in context.service_catalog

Change-Id: Ic39173f0a2f330dbd78daa786b269f29ac4abf33
refactored data upgrade tests in test_migrations

The one off testing in test_migrations was starting to get obtuse
enough that it was possible for bugs to slip through (which they
did already). Create a more general framework for testing data
transitions at any db migration.

Hook the walk_versions code so as we are about to upgrade to a
migration point, attempt to run a _prerun_### function, then follow
it up with a _check_### function afterwards. Create some utility
functions to make doing things in these _prerun and _check functions
pretty concise.

This makes these checks db independent, and has it so they'll run
however we are running the walk_versions.

In doing so, this uncovered a bug in the 147 migration, which is
fixed inline. There is no retroactive fix, as 147 was destructive to
data, so would have nuked anyone that hit it already.

Updated to remove safe_getattr, thanks to jerdfelt for pointer on
doing that right.

Partially implements blueprint migration-testing-with-data

Fixes bug #1108448

Change-Id: I8bd92e3688109bfbdf1da21a175055b7263abf45
Merge "Stop including full service catalog in each RPC msg"
Merge "Make sure there are no unused import"
Merge "iptables-restore error when table not loaded."