Removed kombu from requirements

Since we've replaced oslo-incubator RPC layer with oslo.messaging, we
don't ship any code that uses kombu.

Change-Id: Ia8a74f1326ecd98c47cbe447f04d475bf61e19d3
Add missing methods to NoopFirewallDriver

The fix adds missing methods into generic Firewall class
and in NoopFirewall driver class.

Change-Id: I6402448075ed414434dc007f5c403fc85b6b1456
Closes-Bug: #1369685
Related-Bug: #1365806
Disallow unsharing used firewall policy

When admin policy p1 is shared and is used by firewall f1 of different tenant,
then updating p1 with shared=False should not be allowed as it is in use.

Change-Id: I7c753f9d8a25a7edc40233316398475c8ad3efe9
Closes-bug: #1334994
Implement ModelsMigrationsSync test from oslo.db

Add tests to verify that database migrations produce
the same schema as the database models.

Also for MySQL, check that all tables are configured to use InnoDB
as the storage engine.
These tests make use of the ModelsMigrationsSync test class from
oslo.db and the load_tests protocol from Python unittest.

Closes-bug: #1346444

Change-Id: Ic0e7eb37c30cc5e94cbdbddf07a6dc1ebf377c17
Fix sleep function call

Remove time.sleep method reference in class and use time.sleep directly.

Change-Id: Ib4c02061b29c0d584d603746a78ab50922f781c3
Closes-Bug: 1375698
Don't fail when trying to unbind a router

If a router is already unbound from an l3 agent, don't fail.  Log
the condition and go on.  This is harmless since it can happen
due to a delete race condition between multiple neutron-server
processes.  One delete request can determine that it needs to
unbind the router.  A second process may also determine that it
needs to unbind the router.  The exception thrown will result
in a port delete failure and cause nova to mark a deleted instance
as ERROR.

Change-Id: Ia667ea77a0a483deff8acfdcf90ca84cd3adf44f
Closes-Bug: 1367892
Iterate over same port_id if more than one exists

In certain cases where multiple ports can have the same
external_ids:iface_id property, the ovs agent will arbitrarily choose
one and ignore the rest. In case the chosen port isn't on the
integration bridge the ovs agent is managing, an error is returned to
the calling function. This is faulty since one of the other ports may
belong to the correct bridge and it should be chosen instead.

This is interesting for future L3 HA integration tests, where 2
different instances of l3 agents are needed to run on the same machine.
In this case, both agents will register ports which have the same
iface_id property, but obviously only one of the ports is relevant for
each agent.

Closes-bug: #1370914
Related-bug: #1374947
Change-Id: I05d70417e0f78ae51a9ce377fc93a3f12046b313
L3 agent should always use a unique CONF object

The l3 agent accepts an oslo configuration in its constructor and uses
it throughout the code, but there are some references to the global
configuration object held by the oslo library. Since HA functional
tests need to create two agents, the configuration should be consistent
throughout the code.

The important difference between the agents is their 'host' value so
that they create different namespaces, and 'state_path' value so the
agents get their own filesystem root.

Co-Authored-By: Assaf Muller <amuller@redhat.com>
Related-bug: #1374946
Change-Id: I3326889482681dd631ca59271ebd6a5d5129ae70
Merge "L3 agent should always use a unique CONF object"
Merge "Fix sleep function call"
Merge "Disallow unsharing used firewall policy"
Merge "Don't fail when trying to unbind a router"
Merge "Add missing methods to NoopFirewallDriver"
Merge "Removed kombu from requirements"
L3 Agent should generate ns_name in a single place

Currently the l3 agent has 2 places where it allows generating ns_name
of specific router_ids (ie. qrouter-<router_id>): in the RouterInfo's
constructor, and in _cleanup_namespaces. This patch proposes a
unification of this creation code with a property which lives in
RouterInfo's namespace. A simpler fix was also made for snat_ns_name.

This patch also offers a single way to initialize a new RouterInfo.

Related-bug: #1374946
Related-bug: #1374947
Change-Id: Ia028236b73a22ff534acee00b46c86b134dc987e
Divide _cleanup_namespaces for easy extensibility

This division of the function to 2 different functions allows for
easier overwriting in the l3 test agent used by the HA functional
tests, and later by the integration tests.

Related-bug: #1374947
Change-Id: I8f277759747c8a142f5c023aa3511b00a886348c
Merge "Iterate over same port_id if more than one exists"
Merge "Implement ModelsMigrationsSync test from oslo.db"
Merge "L3 Agent should generate ns_name in a single place"
Merge "Divide _cleanup_namespaces for easy extensibility"