Move db migration of ml2 security groups to havana

ml2 plugin is a havana feature. Currently securitygroups table are
created in chain of migration after havana release. It causes db
migration failure when migrating from havana to current head because
securitygroups table is attempted to be created although it was already
created by create_all().

Closes-bug: #1271231
Change-Id: If450bd95de7a5fdfdb2219cfbf7eb0c1323044bb
Fix class name typo in test_db_rpc_base

Change-Id: I23fd11fe4fdd2988463f2cf592d884cba72cdb41
Closes-Bug: #1281921
Make sure dnsmasq can distinguish IPv6 address from MAC address

Currrently, due to in dnsmasq host file, the IPv6 address does
not be wrapped with '[]', dnsmasq cannot distinguish IPv6 address
from MAC address, it will cause the deployed instances cannot get
IPv6 address via dnsmasq dhcp service.

Change-Id: I023e44667a238664d11f2ac2cc484432cd301bcc
Closes-Bug: #1281916
BigSwitch: Stop using external locks

Changes BigSwitch server manager REST lock
to an in-memory lock since the plugin isn't
expected to run in independent processes.

Closes-Bug: #1284881
Change-Id: I2fdd5ba79a0c4b94b2b410db54a63f7c0ca47525
Avoid using "raise" to reraise with modified exception

The code changes the exception and reraises it.
This commit changes the code to use the same way as
excutils.save_and_reraise_exception does to ensure
the exception context.

This is the last patch of reraise clean up series.

Closes-Bug: #1279813
Change-Id: I8787dcbdc8321f75964de26e97cae395707aafc2
Fix NVP FWaaS errors when creating firewall without policy

Change-Id: I7ced6fe91a2d27c3739c54aa90489976532b3ecc
Closes-Bug: #1282366
Improves Arista's ML2 driver's sync performance

In large scale deployments a full sync between Neutron and EOS can take minutes.
In order to cut that time, this patch batches multimle EOS CLI commands and
sends them to EOS instead of sending each command separately. For example, if a
tenant has 10 networks, instead of making 10 RPC calls to EOS to create those 10
networks, this patch builds a commands to create those 10 networks and makes
just one RPC call to EOS which cuts down sync times significantly. All the _bulk()
methods are added to batch such requests.

Another optimization is to timestamp when the Region data was modified (This
includes any tenant creation, their networks, VMs and ports). The sync gets the
timestamp from EOS and only if the timestamps do not match, the driver performs
a full sync.

Closes-Bug: 1279619
Change-Id: I7d17604a7088d7dbb6e3dbb0afdb8e6759c1f67d
Support advanced NVP IPsec VPN Service

The patch adds NVP advanced IPsec VPN Service support for NVP with VCNS:
    * NVP IPsec VPN is an  advanced Service depending on NVP
      advanced service router
    * NVP IPsec VPN Service will finally call VCNS IPsec VPN bulk
      reconfiguration to map to VPN DB logic

Implements: blueprint nvp-vpnaas-plugin
Change-Id: Ic8a96f5defc2b868c6f18fb4966b04079d3c781a
Remove unused 'as e' in exception blocks

Change-Id: I0bd26e1657a4e0ec40405d03d43aee9e10a13636
Closes-bug: #1287031
Remove nvplib and move utility methods into nsxlib

This patch completes the process of moving code from nvplib
to nsxlib. Utility methods such as do_request and get_all_query_pages
are transferred into nsxlib, so that nvplib can be safely removed.

Partially implements blueprint nicira-plugin-renaming

Change-Id: I43be18c89ac908ebae32b39a8508a7006b5fe328
Merge "Avoid using "raise" to reraise with modified exception"
Merge "Move db migration of ml2 security groups to havana"
Merge "Make sure dnsmasq can distinguish IPv6 address from MAC address"
Merge "Remove nvplib and move utility methods into nsxlib"
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
Merge "BigSwitch: Stop using external locks"
Embrane Plugin fails alembic migrations

Alembic migration from revision f44ab9871cd6 to 2eeaf963a447 is failing on
Embrane Plugin because the floatingips table doesn't exist.

The problem happens because the plugin is actually inheriting from OVS's Plugin,
and therefore it doesn't take part of the correct migration path at installation time.

As far as I have investigated, adding the support on ext_gw_mode and l3_support is enough to solve the problem.

Change-Id: Ide740df34d06d87fab50cf6468c5d753cb46f112
Closes-bug: 1287330
Merge "Fix NVP FWaaS errors when creating firewall without policy"
Merge "Support advanced NVP IPsec VPN Service"
Fix NVP/Nicira nits

Some references to NVP or Nicira went overlooked during
the rebranding exercise. This patch kills the last ones.

Implements blueprint nicira-plugin-renaming

Change-Id: I9f5e4f38246adbd6f821310a0bcfc3ad40c3ad38