Disable dhcp_domain distribution when dhcp_domain is empty

fixes bug 1099625

Change-Id: Ib86770345c46a0dd8bb38a4c3e435420170828af
Bump version to 2012.2.4

Set version to 2012.2.4, but with final=False

Change-Id: I9dab1dc62e41cdb4143a3c8083e65c4b13a22eb4
Enable OVS and NETNS utilities to perform logging

Fixes bug 1118517

Change-Id: I041e61505475da2383b34eaeb16dd3b0e9750898
only destroy single namespace if router_id is set

Fixes bug 1122206

If multiple instances of l3_agent are running on the same host, all qrouter-
namespaces will be destroyed as new l3_agents are started.  This fix allows
for multiple l3_agents to be running on the same host when router_id is set
for each agent.

Change-Id: I879cdc6faba94900f831232232d67e471c70d778
Persist updated expiration time

Without creating a subtransaction, the database query wasn't actually
being run and the data was being lost.  This resulted in the case that
on termination of long running VMs, the VM IP address was immediately
available for reuse instead of being held as it should have been.

Fixes: bug #1116500

Change-Id: I7774273b8e799d945c27329e9da2dba34e39fdb8
Signed-off-by: Stephen Gran <stephen.gran@guardian.co.uk>
Merge "Enable OVS and NETNS utilities to perform logging" into stable/folsom
Shorten the DHCP default resync_interval

Fixes bug 1128180

Change-Id: Ie63ef674b5e05fab659e675774a1b25cd57d4c41
Merge "Disable dhcp_domain distribution when dhcp_domain is empty" into stable/folsom
Merge "Shorten the DHCP default resync_interval" into stable/folsom
Close file descriptors when executing sub-processes

Pass close_fds=True to subprocess.Popen(), as is currently done in
nova.utils.execute().

Note that this folsom-stable branch fix is not a cherry-pick of the
master branch fix at https://review.openstack.org/22486 due to prior
refactoring in grizzly.

Fixes bug #1130735

Change-Id: Ia7a889b21a8069b559cb4641480abf416dfc903c
Merge "Persist updated expiration time" into stable/folsom
L3 port delete prevention: do not raise if no IP on port

Bug #1104337

This patch alters the prevent_l3_port_deletion logic.
PortInUse is raised only if the port has a device owner in
(router_interface, router_gateway, floatingip) and an IP
address.
If no IP address is found on the port the port itself can
be considered stale and therefore deleted as any association
with l3 entities would be void.

Change-Id: I9d711b2a9d2cbcc8be481f1751f51fe5b9f01327
Lock tables for update on allocation/deletion

Allocating, creating and deleting port might happen
in parallel and we need to make sure we don't
assign same IP to multiple different requests.

Added treatment for vlan tags and tunnel ID's

Fixes: bug #1110807

Change-Id: Idbb04d3ce6eacd308b05536f1942a35a0792199e
Sets default MySql engine to InnoDB

Fixes bug 1153594

Change-Id: I4a3de87a99ca2d49b6a74d7104daf47f8f421a80
Ensure that l3 agent creates client session if necessary

Fixes bug 1157090

Change-Id: I2ead0ef949d272bd512c913b3be992f66ee99437
plugin/nec: Make sure resources on OFC is globally unique.

V3 and V4 of NEC ProgrammableFlow controller (PFC) generates a network ID
unique inside a tenant. On the other hand, ID mapping table in NEC plugin
expects ID on OFC is globally unique. As a result creation of a network
will fail. To fix it, quantum network ID is passed as ID on OFC.
The same issue happens in port creation too.

In Grizzly this bug was fixed in another way (to support shared network),
but this change is quite big and it cannot be backported.
The minimum way to fix this bug is to specify OFC network ID from Quantum.

Since V3 of PFC does not return network/port ID in the response when ID is
passed in the request, create_network/port is changed to return an ID
passed to the controller instead of extracting ID from the response.

Fixes bug #1127664

Change-Id: Iad1961ee2469b547598e87e63a4a3dc4ac9c6e97
plugin/nec: Drop description field from PFC create_tenant

Some version of PFC, one of OpenFlow controllers supported in NEC
plugin, does not accept "description" field in create_tenant().

Removes update_tenant() in pfc.py since it is not used anywhere.

Fixes bug #1166076

Change-Id: I817bb67465ff47df43ad2ea866e40c4413f29cbb
plugin/nec: Ensure ID on PFC is up to 31 chars

Some version of NEC ProgrammableFlow OpenFlow controller, one of
the OpenFlow controllers (OFCs), accepts the string up to 31 chars
as a network ID. NEC plugin now uses Quantum UUID as ID on OFC,
so this leads to failure on network creation. This commit changes
the plugin to generate a 31-char ID on OFC to keep its uniqueness.
The same thing can be said to port ID.

Similarly, the description field must be a string up to 127 chars
and consist of [A-Za-z0-9_] characters. This change also fixes it.

Bug #1166077

Change-Id: I0a879f5158a6ac0ce332e3698d42dd38d4283a60
Merge remote-tracking branch 'upstream/stable/folsom' into folsom