Cisco VPNaaS and L3 router plugin integration

This completes the blueprint effort to integrate the Cisco VPNaaS
drivers with the Cisco L3 router plugin for a VPN solution that
uses an in-band Cisco CSR (versus out-of-band, as is currently).

The VPNaaS service driver is modified to no longer read router
configuration from an INI file, but instead, will query the L3
router plugin for this information. The config loading logic is
removed. The router information is transformed and passed to the
device driver for use by the REST client.

The L3 router plugin now provides two methods to provide the needed
router and hosting device info. In addition, the template and
snippets used to provision the Cisco CSR are modified to have the
needed VPN settings and to change the VRF configuration to the new
style to support VPN REST API calls with VRF info.

The VPNaaS device driver was modified to provide the VRF name as
part of the URI for several VPN REST API calls, as needed for this
solution. The device driver uses the additional VRF and interface
information that is provided by the service driver.

The unit tests were updated to reflect the usage of VRF names, and
the new logic for checking router information.

Change-Id: I6ee17f91a25db7bff3ebbeb8d482de1c31a77035
Implements: blueprint cisco-vpnaas-and-router-integration
Remove neutron.common.rpc.RPCException

Remove RPCException, which was just mapped directly to
oslo.messaging.MessagingException for the purposes of minimizing the
impact to the code base when moving from openstack.common.rpc to
oslo.messaging.

Part of blueprint drop-rpc-compat.

Change-Id: Idc5af503f24217fbd2d982c338434c200d025521
Remove neutron.common.rpc.RemoteError

Remove RemoteError from neutron.common.rpc, which was just mapped
directly to oslo.messaging.RemoteError.

Part of blueprint drop-rpc-compat.

Change-Id: Ic4d7ea0adfd68eb56100e32ce0d8e59aa2aae5b1
Drop neutron.common.rpc.MessagingTimeout

Drop the last neutron.common.rpc exception mapping, MessagingHelper,
which wasn't actually used anywhere anyway.

Part of blueprint drop-rpc-compat.

Change-Id: I43b9b97accff9cc7684146076ba0b5d62302f06e
Resolving some spelling mistakes

Just resolve some spelling mistakes in the comments

Change-Id: I6eed9fbe73d6618b474395c8ca41460cdfbe08d4
Closes-Bug: #1365088
Merge "Remove neutron.common.rpc.RPCException"
Merge "Cisco VPNaaS and L3 router plugin integration"
Merge "Resolving some spelling mistakes"
switch to oslo.serialization

jsonutils has been moved to the oslo.serialization library. in this
patch we bring in oslo.serialization and switch all references to
the new library.

Closes-Bug: #1385353
Change-Id: I2898c4040abb2f208959049708e7bc093cfbaba7
Merge "Remove neutron.common.rpc.RemoteError"
Decrease policy logging verbosity

Log enforced rules only in case policy check has failed.

Change-Id: I1fe8cbc1c9b5084b9cef6aa8329780512d8c7ec2
Closes-Bug: #1385266
enable F811 check for flake8

This change incorporates two cleanups that do not change logic:
- Removes the shadowed unused imports by using the proper oslo.config import
mechanism
- duplicate unit tests have been removed
- duplicate unit test names have been corrected to reflect true test
  nature

Change-Id: Iad7a3373c1f787a2078b932c5f40bb718ad76767
Partial-Bug: 1329017
Merge "Drop neutron.common.rpc.MessagingTimeout"
Merge "switch to oslo.serialization"
Merge "Decrease policy logging verbosity"