Validate loadbalancing method when updating a pool

Validate the input for the lb_method and avoid DBIntegrityError.

Change-Id: Iea3d464abdeb1ed377db2453581124742f9fb0ac
Closes-Bug: #1390078
Implement migration of legacy routers to distributed

This patch addresses the necessary changes required
for the router migration or conversion from legacy
to distributed.

The _update_router_db() method was modified to add
logic to support the SNAT functionality of DVR by
calling create_snat_intf_ports_if_not_exists().  A
call to _unbind_router() was also called to force
the scheduling of the router with 'distributed'
enabled.

Right now we will be supporting migration from legacy
to distributed only.

Closes-bug: #1348309
Partially-implements: blueprint neutron-ovs-dvr
Co-Authored-By: Michael Smith <michael.smith6@hp.com>
Change-Id: I6f252271bb5b52ce57184ad7b0bf1ce280b965fb
Drop RpcProxy usage from metering_agent

Drop one more use of the RpcProxy compatibility class in favor of
direct use of oslo.messaging APIs.

Part of blueprint drop-rpc-compat.

Change-Id: I3c68aa246d88447f793aa9890f10f5043a41338d
Drop RpcProxy usage from VPNaaS code

Drop the usage of the RpcProxy compatibility class from the VPNaaS
code.  The equivalent direct usage of oslo.messaging APIs is now used
instead.

Part of blueprint drop-rpc-compat.

Change-Id: I4ff0bfe0b5e909bfe088f4059d85aa6366526dad
Enforce log hints in neutron.services.metering

This change enforces log hints use and removes debug level log
translation, modifications are validated through a hacking rule.

Validate that hacking rules apply to directories:
    - neutron/services/metering

Change-Id: Ic763e81e8b06973013115af45c7c09a3e69c673b
Partial-bug: #1320867
Enforce log hints in neutron.services

This change enforces log hints use and removes debug level log
translation, modifications are validated through a hacking rule.

Validate that hacking rules apply to directories:
    - neutron/services

Change-Id: Ib744b7a94705afbefeb50b5dce933d226831f580
Partial-bug: #1320867
Imported Translations from Transifex

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I5c09254010381a649e732982a8a2462802c379ee
Updated from global requirements

Change-Id: I74345f78a169282b99ed3575f19afa3ca0548839
Merge "Drop RpcProxy usage from metering_agent"
Merge "Drop RpcProxy usage from VPNaaS code"
Merge "Enforce log hints in neutron.services.metering"
Merge "Enforce log hints in neutron.services"
Merge "Imported Translations from Transifex"
Merge "Validate loadbalancing method when updating a pool"
Merge "Implement migration of legacy routers to distributed"