Arista Layer 3 Sevice Plugin

This sevice plugin implements routing functions on Arista HW.

Change-Id: Ide411540254db015167111defee7d8c6c1c27347
Implements: blueprint arista-l3-service-plugin
Assign Cisco nw profile to multi-tenants in single request

Currently with Cisco N1kv plugin, user can assign cisco network
profile to only one tenant in a request. So user has to send
multiple requests to assign a cisco network profile to multiple
tenants.
This fix is going to add the support to assign to multiple tenants
in a single request

This fix has corresponding changes in neutron, python-neutronclient
and horizon. All the changes should be committed at the same time

Change-Id: I42ffbd17a80f741d9cf1094dc79b588444bd9d4b
Implements: blueprint cisco-network-profile-multi-tenants-support
Fix policy rules for adding and removing router interfaces

Currently "add_router_interface" and "remove_router_interface"
policy rules have the "update_router" prefix and thus are never
enforced. Removing the prefix activates the rules.

Also moved some rules, so that all router-related rules are
now grouped together.

Closes-Bug: 1356678
Change-Id: Ib6cc45f2c6d0c7ae394274d6196262529b9fd855
Do not log WARN messages about lack of L3 agents for DVR routers

DVR routers are scheduled only when there is need to: for instance when
there's an external gateway associated with it, or when there are
interfaces attached to subnets on which VM's are actually being deployed.

Therefore, do not log misleading messages that apply only to the
centralized case.

Closes-bug: 1358998

Change-Id: Ica7f0d25fe576f05a9adf8eb8239704f09c0b0ac
Minor refactoring of auto_schedule_routers

The method is more complicated than it needs to be, and it makes it difficult
to target fixes for it.

This is done in preparation of fix for DB lock timeout errors observed while
dealing with DVR routers.

Test coverage is already provided, and more granular coverage is added to
reflect the new structure being introduced.

Partial-bug: #1356121

Change-Id: Ifb7a742b64139f3a5d9b88c3c6261b1b890946f9
Do not explicitly set mysql_engine

Setting the mysql_engine when creating a table is not needed
anymore as this is automatically done by an event listener
added with commit 466e89970f11918a809aafe8a048d138d4664299

Change-Id: I0df978dbf2bb44f17102da3c17fd4e93c9e4df8d
Closes-Bug: #1361176
Updated from global requirements

Change-Id: I922b382fa75ecc6a8e14f25914c27e3eb245766e
Merge "Updated from global requirements"
Merge "Fix policy rules for adding and removing router interfaces"
Merge "Do not log WARN messages about lack of L3 agents for DVR routers"
Merge "Do not explicitly set mysql_engine"
Merge "Arista Layer 3 Sevice Plugin"
Merge "Assign Cisco nw profile to multi-tenants in single request"
Merge "Minor refactoring of auto_schedule_routers"