Enables hairpin_mode for virtual bridge ports, allowing NAT reflection

* enables hairpin_mode on virtual bridge ports on instance spawn
* adds conntrack DNAT state criteria to fixed/fixed SNAT exception so reflected traffic SNATs
* updates get_interface ElementTree to work with Python 2.6/2.7
* fixes bug 933640

Change-Id: I63b3e91b41898fcffda8a288be503f9b740b4b4e
removed unused method and added another test

get_network_id_by_cidr is not used, I'm removing
it and it's tests.

get_tenant_id_by_net_id relies on catching 
exceptions as part of the happy path. I expanded
the tests to try to exemplify that.

Change-Id: Iaf973da1d176ba8ea89d0fd762e796936d056d0f
Remove instance_get stubs from server action tests

I noticed these stubs while reviewing the dependent branch. They aren't
needed anymore. I tried to clean up some of the stub helpers as well.

Change-Id: I41cf93da392f76c150da2fa3125cfe4930a76f11
Core modifications for future zones service.

Makes compute/network/volume API classes pluggable
Splits some code out in compute/api
Adds some race condition checking on deletes in compute/api
Make instance_delete support UUIDs
Add support to RPC to cast to specific servers
Migrations for future zones

Change-Id: Ibee126cd6d325e11770f27589e79dfd0e6104b99
Merge "Core modifications for future zones service."
The security_group name should be an XML attribute

It is everywhere apart from in servers.py.  We have to be backwards
compatible, so we check the attribute first, and then check the element.

Bug #933785

Change-Id: I66b96376043e665a026eff5c33aa0731a81730cc
Backslash continuations (nova.tests)

Fixes bug #925285

Backslash continuations removal for package nova.tests

Change-Id: I089dfb9a06a807e58ebb21329800a4eff40ed2bb
Syncs vncviewer mouse cursor when connected to Windows VMs

Fixes bug#885966

Change-Id: Ie78ab1fc265dda61ceb5553e3156d08902115a65
Adds back e2fsck exit code checking.

References bug 931743

Change-Id: Id9e71b722e2a3b18821bceffdf138ba3895cfcf1
Don't send a SQLAlchemy model over rpc.

Fix bug 933584.

I noticed this when Qpid blew up because it didn't know how to serialize
a SQLAlchemy model.  Fix it by making it only consist of primitive types
before sending it.

Change-Id: I63eb4bbabdb75fa7b277428bbd1aa2c2e1383383
Add RPC serialization checking, fix exposed problems.

Related to bug 933584.

In this bug, I hit a case where some code tried to send a SQLAlchemy
model over rpc, which failed since it couldn't be serialized by Qpid.
This patch adds a simple serialization check to the fake RPC driver
using json.  It also fixes problems that were exposed by adding this
check.

If json can't serialize a message sent through the fake RPC
driver, it will raise TypeError, causing unit tests to fail.  18 unit
tests failed with the check in place, but it was due to only 2 places
in the compute API.

Change-Id: I63f3077c0fa35097d4f5d2c485f4e48eede2c751
Merge "Don't send a SQLAlchemy model over rpc."
Merge "Remove instance_get stubs from server action tests"
Merge "Add RPC serialization checking, fix exposed problems."
Merge "Declare deprecated auth flag before its used."
Merge "bug 931604: improve how xenapi RRD records are retrieved"
Remove all uniqueness constraints in migration 76

Fixes bug 932867

Change-Id: I5b72af7c36cc07ee4f3e23566ed4e91c0c53b10b
Normalize odd date formats

The 'updated' value on the extension seems to be returned (in the XML) unaltered.
Some of the date values were 'untraditional', and this broke XML parsing.

Change-Id: I2803e19207af85207b4eca71e1e8b0d5bdcfa4b6
Fixes nova-volume support for multiple luns

 * stores lun in provider_location if specified
 * passes lun in iscsi_properties instead of hard coding
 * adds call to libvirt to list all used block devices
 * make sure to synchronize connect and disconnect commands
 * only disconnect from target if no luns are in use
 * allow double logins to targets
 * fixes typo in get_volume_connector in xenapi_connection
 * fixes bug 929790

Change-Id: I2466dc750a6fa5e0b07f94314d38873740aa6b29
Fix bug 933147 Security group trigger notifications.

Add a lightweight mechanism to allow security group trigger
notifications to be propagated to quantum security group handlers.

Add a global flag: "security_group_handler" to allow for runtime
selection of security group handler class.

Change-Id: I8a3768c26c97020071ad4e52d3a22d8898e72e9f