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
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 "Remove mlnx plugin"
Merge "Replace non-ovs_lib calls of run_vsctl with libary functions"
Merge "Add functional test for l3-agent metadata proxy"
Correct arguments to logging function

ofctl_arg_supported contains a bad call to LOG.debug in an exception
path.

    LOG.debug("...%s. Exception: %s", (full_args, e))

This throws "TypeError: not enough arguments for format string" and
should be:

    LOG.debug("...%s. Exception: %s", full_args, e)

(Found via pylint)

Change-Id: Ib14666f60b16584f225b1e0c4fed82ef7e941aac
Closes-Bug: #1403296
Merge "Correct arguments to logging function"