Removes unnecessary Embrane module-level mocks

The embrane unit tests install a magicmock into
the system modules at the module level which
persists across all unit tests and isn't required.
This patch removes the unnecessary and limits the
life of the module mocks where they are necessary.

Partial-Bug: #1316401
Change-Id: Iaa38ee0c6821d46a6d78eefef39006df2c1c47e5
Return no active network if the agent has not been learnt yet

Sometimes the agent message to get the active networks is
processed before the agent is learnt by Neutron. Neutron throws an
error, but it should simply return no network

Change-Id: I6da0ca578cfe1fe0885138a5e2da76278f791491
Closes-bug: #1302838
Big Switch: Add missing data to topology sync

Adds data to the topology sync function that was
missing in the case where it is called from the
ML2 driver.

Closes-Bug: #1328222
Change-Id: I1cc3b0430f63f62c881f28139d1e5ebf22766357
Increase default metadata_workers, backlog to 4096

While deployment tools might want to change the number of workers
to match the number of cores (Or some fraction of it), any default
other than 1 should be outright better.

Inspired from 19:34:
https://www.youtube.com/watch?v=AF9r_VQrcJ0

DocImpact
Closes-Bug: #1323005
Change-Id: Ie90000183ae67ff391a23ca3213fd23aef5f4dc5
Check NVP router's status before deploying a service

With NVP advanced service plugin, router creation is asynchronous while
all service call is synchronous, so it is possible that advanced service
request is called before edge deployment completed.
The solution is to check the router status before deploying an advanced service.
If the router is not in ACTIVE status, the service deployment request would return
"Router not in 'ACTIVE' status" error.

Change-Id: Idde71c37f5d5c113ac04376ed607e0c156b07477
Closes-Bug: #1298865
Big Switch: Catch exceptions in watchdog thread

Catch and log exceptions in the watchdog greenthread to prevent
them from stopping the periodic consistency checks.

Closes-Bug: #1330135
Change-Id: I6834c0fee0429bb72b8c61307be7bdca77f6de9b
Control update, delete for cisco-network-profile

Add new behavior to control update and delete operations for the
cisco-network-profile resource extension.
The new behavior is to allow update and delete operations only if
there are no neutron networks associated with a particular
cisco-network-profile instance

Change-Id: I000a03c1ffd5c02e7b827ec757287633e5a5dd64
Closes-Bug: #1323867
Fix invalid IPv6 address used in FakeV6 variables

Uses RFC 5180 benchmark scope to change bad IPv6 addresses

Closes-Bug: #1328889
Change-Id: I224ec8db28d62484f5f4142cfd361162fb37e1b6
When l2-pop ON, clean stale ports in table0 br-tun

When l2-pop is turned ON, the tunnels towards a
specific node are created and torn down by other nodes,
based on availability of ports on that specific node in
specific networks. This generally reclaims the resources
used for such tunnels in all the nodes.

Under such conditions, in the current code (without this
fix), the cleaned up ports continue to be present in
rules of table0 of br-tun, resulting in flow explosion.

This fix adds cleanup-logic to remove such rules that
continue to use l2-pop cleaned up ports, from table0 of
br-tun.

Change-Id: I2639ff6432a13320adcadbcc0841319a99ce8c24
Closes-Bug: #1318261
Add 'ip rule ...' support to ip_lib

This change adds 'ip rule add', 'ip rule delete' and extends the IpRoute
class to support more ip commands

Change-Id: I8ba2f2d2ee896d9f4a378570be1524077d5b663c
Partially-Implements: blueprint neutron-ovs-dvr
Merge "Check NVP router's status before deploying a service"
Merge "Removes unnecessary Embrane module-level mocks"
Merge "When l2-pop ON, clean stale ports in table0 br-tun"
Merge "Add 'ip rule ...' support to ip_lib"
Merge "Fix invalid IPv6 address used in FakeV6 variables"
Merge "Control update, delete for cisco-network-profile"
Merge "Big Switch: Catch exceptions in watchdog thread"
Merge "Increase default metadata_workers, backlog to 4096"
Fix opt helpstring for dhcp_lease_duration

Recently (https://review.openstack.org/#/c/92453), the
functionality of dhcp_lease_duration was changed to support
infinite lease times.

However, this change failed to update the associated help text
with the option declaration. This patch simply updates the text
so that the new functionality can be understood by the user.

Change-Id: Id9dbe11599c55b447387df4a2d6639b7e8dba6ce
Introduce RpcCallback class

This class will be used to create proper self.target with appropriate
API version once we migrate to oslo.messaging.

blueprint oslo-messaging

Change-Id: I1fb5eb0aaac0d115fd84630e58b333e695ad4f5f