Drop service* tables only if they exist

Tables servicedefinitions and servicetypes are not used by neutron but
created using db migration tool. If quantum-server in grizzly was
started without using migration tool then tables mentioned above are not
created. During migration from grizzly to havana alembic attempts to
drop these unused tables. This patch uses "IF EXISTS" clause when
dropping mentioned tables.

Closes-bug: #1273355
Change-Id: I33fcb3e1dc96ce37ec9c00987cb5a3a953ca691d
Reference new get_engine() method from wsgi.py

wsgi.py referenced get_engine in neutron.openstack.common.db.sqlalchemy.session.
This method was removed from that file in commit 53609f29f3c8fcadc545afb891189253c07b33c3
change-id I0e1d86878d3eb924b01e04dced0f90b4e57757d8. This patch references the
replacement method added to neutron.db.api.

Closes-Bug: #1314850
Change-Id: Ifd4db5f49e2aaebc67eccb8bdcef8eea54983112
Remove duplicate module-rgx line in .pylintrc

The correct neutron configuration will no longer be overwritten by
the old quantum configuration.

Change-Id: I4923ad4e35a5053966edb307587c72c0b684d149
Closes-Bug: 1316334
Revert "Disable debug messages when running unit tests"

This reverts commit 56edda0d1840da1ccfcd7c35df397251ddb779db.

Another patch (commit-id: df96a03e6c74f1fceb4525900bca885307907b79) to
fix the same issue with less intrusive consequences was already merged
into master. There's still benefit to have debug logs if this does not
make gate jobs fail, so revert to previous setting value.

Related-Bug: 1316610
Change-Id: I9b57369027e1e43bed1bde4d971dee9fb7a26a47
Make VPNaaS 'InUse' exception more clear

In case IpSecPolicy or IKEPolicy is updated while VPN connection that uses it
is already established, IPsecPolicyInUse or IKEPolicuInUse is raised.
Need to clarify their messages to emphasize that policies can't be updated
because they are used by established connection.

Change-Id: I259f9b8bcff7f8ec13ac630285f6e881c6653309
Closes-Bug: #1315809
NSX: ensure that no LSN is created on external networks

Logical Service Nodes (LSN) are those that provide dhcp
and metadata services to networks when the NSX plugin is
used without the openstack dhcp and metadata proxy
agents. External networks do not work with Neutron's
dhcp and metadata services, therefore there is no need
to provision a LSN in this case.

Added UT to avoid regression.

Closes-bug: #1316795

Change-Id: I3dab0c9cbecdd9296466c991d02d590d6bd5bd49
Merge "Reference new get_engine() method from wsgi.py"
Merge "Remove duplicate module-rgx line in .pylintrc"
Merge "Drop service* tables only if they exist"
Revert "Big Switch: Check source_address attribute exists"

This reverts commit 0dde14c0cd6ffea8ebff715342852ef17a9c0b70.

This fix only addressed part of the problem. The socket call
in python 2.6 does not accept an extra source address arg
either.

Change-Id: I4df4f66e9db0da1a8923ee37e918718f3bcf26ee
Partial-Bug: #1316382
Big Switch: Check source_address attribute exists

Check that the source_address attribute exists on
HTTPSConnection objects before referencing it since
it's not present on python 2.6 deployments. If it
does not exist, create a socket connection without
specifying the source.

Closes-Bug: #1316382
Change-Id: Ica10d23cc6de81ae56f711937f208c7321c77f36
Merge "Make VPNaaS 'InUse' exception more clear"
Merge "Revert "Disable debug messages when running unit tests""
Merge "NSX: ensure that no LSN is created on external networks"
Merge "Revert "Big Switch: Check source_address attribute exists""
Merge "Big Switch: Check source_address attribute exists"