Remove pyudev dependency

pyudev was only used by the linuxbridge-agent to get the list
of virtual network devices. This can be got from /sys instead.
This patch fixes the problem where testr could not import the
lb-agent module because pyudev was not in requirements.txt.

Change-Id: I0a78c91e97de4413f2ecf6fb56d2ff61b36baa78
Closes-Bug: 1269040
Use database session from the context in N1kv plugin

Avoid inconsistencies by using context.session for database
transactions wherever possible in the Cisco N1KV plugin.

Change-Id: Ic0784cbbf50beae6bb3b124c959ae90f3affb604
Closes-Bug: #1285473
Implement Mellanox ML2 MechanismDriver

This commit adds support for currently provided Mellanox Plugin
embedded switch functionality as part of the VPI (Ethernet/InfiniBand)
HCA as an ML2 MechanismDriver.
MechanismDriver adds support for VNIC_DIRECT and VNIC_MACVTAP vnic types.
MechanismDriver provides configurable default vif_type for neutron port created
with default VNIC_NORMAL vnic type till nova api support for vnic_type is available.

Implements blueprint mlnx-ml2-support

Change-Id: I16ad318f095b7af879e1b99dcc7f5f9e92facd2b
replace rest of q_exc to n_exc in code base

The following patch renames the rest of q_exc to n_exc which were
left when quantum was renamed to neutron.

used: find . -name "*.py"  -print | xargs sed -i 's/q_exc/n_exc/g'

Change-Id: I04041030694b28c400b6c9c552433f2eaa4a37ba
Closes-bug: #1287462
Different class names for VPNaaS migrations

In migrations 52ff27f7567a_support_for_vpnaas.py and
338d7508968c_vpnaas_peer_address_.py different class names are set:
neutron.services.vpn.plugin.VPNDriverPlugin and ne
utron.services.vpn.plugin.VPNPlugin.

Closes-bug: #1285641

Change-Id: Ieda8d3a8a022179867010b6e47d09cf7f43f5da9
Imported Translations from Transifex

Change-Id: Ie6efde5d61d0c500fbbc45d715f605f4c316d166
Rename migration lb_stats_needs_bigint to match revision number

This patch renames the migration 77dfe0962bb3_lb_stats_needs_bigint so
that it matches the revision number abc88c33f74f_lb_stats_needs_bigint

Change-Id: If07fd5d0cec3e37e7dfb0c1e71dedc111d7870be
Merge "Rename migration lb_stats_needs_bigint to match revision number"
Merge "replace rest of q_exc to n_exc in code base"
Merge "Imported Translations from Transifex"
Merge "Implement Mellanox ML2 MechanismDriver"
Avoid unnecessarily checking the existence of a device

Plugging a device usually involves checking for the existence of the
device twice, once before calling plug and once after.  It turns out
that these calls are expensive, often taking a half second or more
each.  For that reason, it is worth the effort to make sure we check
only once.

The device driver is now responsible for cleanly plugging/unplugging
the device without knowing whether it exists or not.  Pushing this
responsibility to the device driver allows implementing it more
efficiently in terms of calls made out to the operating system.

This is targetted at the neutron-tempest-parallel bp because it shaves
time off the time to set up a router, something that hinders parallel
performance.

Change-Id: I391fafe68b76e1c620d2b25e8613ba507fd25dfd
Partial-Bug: #1287824
Merge "Different class names for VPNaaS migrations"
Merge "Remove pyudev dependency"
Merge "Use database session from the context in N1kv plugin"
Merge "Avoid unnecessarily checking the existence of a device"