Auto allocate gateway_ip even for SLAAC subnets

For a SLAAC subnet that is created without specifying the gateway_ip,
Neutron currently allocates (If0c48a7287a828eef4a0f0b0859d4f898d2937bd)
the gateway_ip at a later stage (i.e., neutron router_interface_add).
In order to keep the API consistent between IPv4 and IPv6, it is
recommended to allocate the gateway_ip during subnet_create stage itself.

Closes-Bug: #1394112
Change-Id: I965232930502c21b605fe360bb138bb6ea73d2b0
Update rpc_api docs with example version update

Update the rpc api devref docs to include an example of what a change
that includes a minor version increment looks like.  I hope this will
help clarify for people what all is included in an API change that
requires a version bump.

Part of blueprint rpc-docs-and-namespaces.

Change-Id: I9c53d3518b200412701b19958d7cbf1ed03d643e
ofa_test_base: Fix NoSuchOptError in UT

Ensure setting up cfg.CONF.
Otherwise, depending on the execution order of tests,
some tests in test_ofa_neutron_agent can fail with
the following exception:

    NoSuchOptError: no such option: config_dir

The problem has been exposed by the recently merged change
for policy module, commit d83731a96d3b47fab1295de1fb53cfe30576619c .

Closes-Bug: #1392569
Change-Id: I0d38df0510b95160c67ea7b76ed413138fa3d770
Have L3 agent catch the correct exception

L3 agent imports the processutils module to catch exceptions that
wouldn't ever be thrown because the underlying execute() being
called is the one from neutron.agent.linux.utils which raises a
RuntimeError on failure.

Also, processutils is now part of oslo.concurrency. So when we
actually start using it, we'll use it from there.

Closes-Bug: 1401626
Change-Id: I43874e1b63a0ba7b01415cafe0538f4343057066
Replace non-ovs_lib calls of run_vsctl with libary functions

There is already an OVSBridge.set_controller() function, so replace
calls to run_vsctl(['set-controller', ...]) with calls to
OVSBridge.set_controller().

This is also the only non-ovs_lib call to run_vsctl. This change
will also make it easier to abstract out the ovsdb-related code in
the future.

Change-Id: Ia5a3e2c759d2479a2e7088a2ab7db1d4e17d1ae2
Fixed test test_update_port_security_off_address_pairs

This test checks that port-update fails with 409 return code when
port-security is turned off on a port which contains address-pairs.
The test had a typo ('security-groups' -> 'security-group') which would
have cause it to produce false-positive.
This change rewrites the test and eliminates the possibility of this
false-positive to occurs.

Change-Id: Ib54ad089872f28eb28a3d4d050ba0ee8fdc2bfe2
Closes-Bug: #1400725
Signed-off-by: Roey Chen <roeyc@vmware.com>
tests: initialize admin context after super().setUp call

New policy code requires that CONF is already initialized when policy
checks are invoked. It means that no Neutron context objects should be
created before BaseTestCase.setUp() is called that will set
configuration, among other things.

Ideally, we would just make sure that all test cases invoke
super().setUp() as the very first line of any subclass setUp() methods.
But since some of test cases require prior setup (like mocking extension
manager) before proceeding to base class, we end up with magically
shuffling context instantiations to occur below super() calls.

Change-Id: Ib1039ea1ff9480ca57f9cb0c917469d0d2ad28b8
Closes-Bug: #1400301
Enable test_migration

After splitting in neutron database was left a number of tables
that don't have any models. Test should be improved to skip these
tables from checking.

Closes-bug: #1401424

Partially-Implements: blueprint services-split

Change-Id: I201b4a310eb26a86765c8541fba6e2d42431cf2a
Set timeout for functional job

As functional jobs take more time to finish than unit tests and also
there is a chance that test will hang due to system interaction, this
patch sets maximum execution time to 90 seconds per test.

Change-Id: Ib58a1b53ace178e1bf99150628fa5576b079e8bc
Remove mlnx plugin

Mellanox plugin was marked deprecated in Juno.
This commit actually removes the code for Kilo.

Mellanox recommends users to use mlnx or SR-IOV MD

DocImpact
Closes-Bug: #1386539

Change-Id: I7d109bf62f71b2996aef4e0002f447ca3439a5cf
Signed-off-by: Moshe Levi <moshele@mellanox.com>
Add functional test for l3-agent metadata proxy

This change add a functional test for l3-agent metadata proxy to
verify:

 * iptables redirection from 169.254.169.254:80
 * headers added by the neutron-ns-metadata-proxy
 * proxy to the metadata_socket by the neutron-ns-metadata-proxy

Change-Id: I16f1269644a56d932426daa3a89dd5a8f747b314
Merge "Have L3 agent catch the correct exception"
Merge "Auto allocate gateway_ip even for SLAAC subnets"
Merge "Set timeout for functional job"
Merge "ofa_test_base: Fix NoSuchOptError in UT"
Merge "tests: initialize admin context after super().setUp call"
Merge "Fixed test test_update_port_security_off_address_pairs"
Merge "Enable test_migration"
Merge "Update rpc_api docs with example version update"
Merge "Remove mlnx plugin"