Brocade mechanism driver depends on the brocade plugin templates

This causes problems when the customer installs the ml2
plugin/mechanism driver without the Brocade plugin.

Fixes bug: #1326937

Change-Id: I2d0dfda2cdfbdfd8503351b191151cb02104dcce
Adding static routes data for members

Adding extra data on member entities for routing.
Subnet, mask and gateway data is attached to each member.
Default values are:
 subnet=255.255.255.255
 mask=255.255.255.255
 GW=255.255.255.255

Only in case when LB is connected to both, pool sub-net and vip sub-net
and member is not on pool's sub-net, routing info will be determined
instead of setting to default values:

1. In case when member's port is found, member's subnet and mask
   data will be set to those of the port, gateway will be set to pool's
   gateway address

2. In case when no port found or more than one port found for member's IP address,
   member's subnet will be set to member's IP address value , gateway will be set
   to pool's gateway value, and mask will be set to default 255.255.255.255

New unit tests were added for testing following scenarios:
1. Adding 3 members on 3 different sub-nets, vip's, pool's and other sub-net
2. Adding member on other than pool's sub-net with no port
3. Adding member on other than pool's sub-net with multiple ports with same IP address
   but on different sub-nets

Internal vip graph building function was added (_populate_vip_graph)
for more convenient code re-use and better structure

Change-Id: I6d592ffe8ee3f82f56a4bfbe1d420541871dad2d
Closes-Bug: 1291417
ValueError should use '%' instead of ','

The method _load_service_plugins() in /neutron/neutron/managers.py
 throw a ValueError using ',' to connect log and variables.
ValueError do not support using ',' to connect log and variables,
we should use '%' instead of ','

Change-Id: Ic9b3756ac2bc36ddc689a66c078e205e0674f513
Closes-Bug:#1264210
Fix auto_schedule_networks to resist DBDuplicateEntry

This exception may happen if API and RPC workers are in different
processes.
Also make minor refactoring of auto_schedule_networks method
to avoid unnecessary db queries.
Add missing unit tests and adjust unit test naming style

Change-Id: I6460744e2cffec0b9f009da071597374d8c027f6
Closes-Bug: #1331456
Pass serializer to oslo.messaging Notifier

oslo.messaging has a workaround [1] that requires context to be
transformed to pure dict before passing into amqpdriver.

Renamed serializer class to reflect its broader usage.

Updated FakeNotifier to expect serializer and other keyword arguments
supported by oslo.messaging Notifier class.

[1]: oslo/messaging/_drivers/amqpdriver.py#L337

blueprint oslo-messaging

Closes-Bug: #1332412
Change-Id: I7e7658d03639afae7bf6d3ad71445cb5b6459c09
Remove the useless vim modelines

Change-Id: I41286e0b8f74c90b7078c3d3fb041b6586d95ab0
Closes-Bug: #1229324
Merge "Brocade mechanism driver depends on the brocade plugin templates"
Merge "Adding static routes data for members"
Revert "Check NVP router's status before deploying a service"

This reverts commit 25103df197c1f366eac8dd3069fabc01d3bd18e9.
Since it always leads to an gate failure filed on https://bugs.launchpad.net/neutron/+bug/1332502 although can't find the reason until now.

Change-Id: I45cb2b5b82b421c016dcc9603b04edb638ff84cf
Merge "Fix auto_schedule_networks to resist DBDuplicateEntry"
Merge "ValueError should use '%' instead of ','"
Imported Translations from Transifex

Change-Id: I94beb2180703a323d6751df9b31602f6f88eb340
Merge "Remove the useless vim modelines"
Merge "Imported Translations from Transifex"
Merge "Revert "Check NVP router's status before deploying a service""
Merge "Pass serializer to oslo.messaging Notifier"