Remove SELECT FOR UPDATE use in ML2 type driver release_segment

SELECT FOR UPDATE expression, which is triggered with the use of the
SQLAlchemy Query object's with_lockmode('update') method, is
detrimental to performance and scalability of the database
performance code in Neutron due to the lock contention it produces.

SELECT FOR UPDATE can be entirely avoided in release_segment methods
with the use of single-shot UPDATE and DELETE expressions, and this
patch clears a number of uses of SELECT FOR UPDATE by consolidating
multiple SQL expressions into one.

Partial-Bug: #1330562
Change-Id: I29ffcafc8d4d73ac1cb50c94df5da85514d47a3f
Big Switch: Lock consistency table for REST calls

Adds a new class to hold an SQL table lock throughout
a REST call to prevent servers in an HA deployment from
using a stale consistency hash value.

Also passes the current context down to the server manager
for every request since the consistency hash will need to
be read from the database instead of from a variable on the
server pool object.

Closes-Bug: #1328331
Change-Id: I5f8402c076d7732742c0ae4d9b9d6833d42a0b7b
Updated neutron.conf to reflect new RPC options

After oslo.messaging port, some option became unavailable to set, some
of them changed description or default values. Make sure we don't leave
anything related to old RPC layer there.

New entries are generated by calling the following from inside
oslo-incubator:

$ python openstack/common/config/generator.py -l oslo.messaging

blueprint oslo-messaging

Change-Id: I1523309cf0cd92a5d5f0b265f49979b3e47c2afa
Pass newly created router to _update_router_gw_info

pass it to _update_router_gw_info as last parameter to save
retrieving it again from the session.

Change-Id: I7fbbd675839c2874578c62dfed390d86e3b4801a
Synced log module and its dependencies from olso-incubator

Old version of 'log' module depended on oslo-incubator RPC layer
implementation. This sync is intended to copy the following fix that
makes log module use oslo.messaging.notify.log_handler if available:

  * 109e325e: Use oslo.messaging to publish log errors

blueprint oslo-messaging

Change-Id: Ieb26df4e9fbb2aa4d319c79be7510006fc8461ab
validate flat networks physical name

Modified flat driver to validate the physical network
name - we make sure that empty names are deducted.

unit test changes:
- added two tests to make sure that we detect empty
  physnet names
- fix bug in existing unit-tests
-- flat_networks should be a list of string and not string
- use conf to setup flat_network

Change-Id: Ib7cfbd3c97d2e95c82044a2cba683c917ea54a84
Partial-bug: #1325664
LBaaS new object model logging no-op driver

Implements: bp/lbaas-objmodel-driver-changes
Change-Id: I39dccb93c6f9bd3264afbf0acc55a56fc6fd05a1
Fix re-creation of the pool directory

Whenever vip is deleted the complete pool directory
is deleted, but since pool is still alive the get_stats
function recreates the directory. The fix prevents the
re-creation of the directory. Respective unit test case
is also modified

Change-Id: I577e8e3a51db361210aa83a6c7f9b4f61210e924
Closes-Bug: #1317871
changes ovs agent to get bridges via ovs_lib

ip_lib is currently used to list the bridges
in the Open vSwitch neutron agent.

use of ip_lib blocks reuse of the Open vSwitch agent
with userspace only open vSwitchs implementations.

this patch replaces calls to ip_lib with ovs_lib.get_bridges

Closes-Bug: #1331569
Change-Id: I5935d39b314055063a64266bda0cc4c2d1ac05fc
Add sanity check for nova notification support

Since nova notification support adds a runtime dependency on
novaclient, add an external sanity check testing the system's
ability to import neutron.notifiers.nova

Change-Id: I8a72c8763bb69a01178fc4ec91071a64a4648aab
Closes-bug: #1334412
Merge "Synced log module and its dependencies from olso-incubator"
Merge "Pass newly created router to _update_router_gw_info"
Merge "Add sanity check for nova notification support"
Merge "Updated neutron.conf to reflect new RPC options"
Merge "Big Switch: Lock consistency table for REST calls"
Imported Translations from Transifex

Change-Id: I5bcbd94a8df99b5fe3125e1dee45cfceeeb29ac6
lb-agent: ensure removed devices get treated on resyncs

The previous exception handling in daemon_loop reprocessed all existing
devices as if they were new devices. However, it did not ensure that
any removed devices got cleaned up properly. This could result in
leftover security group iptables rules from deleted instances.

This patch refactors daemon_loop and scan_devices so devices that were
flagged for cleaning will get retreated in the next iteration if there
is an exception.

Change-Id: Ieada34ad315c0c29aa8462ebf041a448fde007b8
Closes-Bug: 1145610
Merge "Fix re-creation of the pool directory"
Replace occurences of 'test_tenant' with 'test-tenant' in tests

tenant_id will now be consistent among all resources created.
This is important when getting or listing resources by tenant_id.
Most resources are created under the 'test-tenant', while
metering and security groups were created under 'test_tenant'.

Closes-Bug: #1335821
Change-Id: Ifde22814ab5c302e751f2102f6fd7ef52c932126
Switch to using of oslo.db

oslo.db first stable release has been cut and we can start using it
instead of openstack/common/db/* code which is now marked obsolete.

Change-Id: I1ccf896922a5a762d37a1a3b93c56c8b8ae8c085