Cisco: logging incorrectly called with (fmt, arg) tuple

cisco.db.n1kv_db_v2._validate_segment_range_uniqueness() includes these
lines:

   msg = (_("NetworkProfile name %s already exists"),
          net_p["name"])
   LOG.error(msg)
   raise n_exc.InvalidInput(error_message=msg)

As written, msg is a tuple, and the various logging lines below print
the tuple members without properly expanding the format string as
intended.

The format in msg should have been expanded using % - as was presumably
the intention.  This change fixes this and a similar example elsewhere
in this file.

Change-Id: I993245a18ff3db5d5700fb1298ffc958d5827736
Closes-Bug: #1404785
csr1kv_hd_driver: Improve exception handling

When logging exceptions the exception handling should make use
of save_and_reraise.

Partial-bug: #1305032

Change-Id: I316417f3c9cbb28ea0cf2cd24a1f5b2b803b5a95
Do not count dvr agents while creating HA ports

Presently dvr agents are not excluded when a
ha router interface is created, because of which
an interface is created even in the dvr agent namespace.

This patch fixes the issue by supporting a filter - 'agent_modes'
in the function L3AgentSchedulerDbMixin.get_l3_agents.
If this filter is defined, only the l3 agents whose modes
defined in this filter are returned

Change-Id: I9383e2a30ddc4f2c3e04ff0821726b8dc3ec89a0
Closes-bug: #1397209
Retry on unassigned ofport instead of treating it as a failure

Open vSwitch will return '[]' when querying an interface's ofport
when the ofport has not yet been assigned. This doesn't signal a
failure, but the get_port_ofport code was treating it as such.
This patch uses a decorator from python-retrying which has been
added as a dependency of oslo_concurrency and therefore packaged
everywhere. The call to fetch the ofport is retried until the
vsctl_timeout is reached and, on failure, INVALID_OFPORT is
returned.

The add_port function will attempt to delete the port if
INVALID_OFPORT is returned from get_port_ofport. add_port is also
extended to take optional Interface options so that the
add_tunnel_port and add_patch_port functions can reuse it instead
of just duplicating its functionality.

Closes-Bug: #1341020
Change-Id: Ifc52d8589c7aafd360893cb9c1cdcbf43b04ee2c
Add support for flat networks in SRIOV Mechanism Driver

Allow flat network segment to be bound by SRIOV Mechanism Driver.
Populate vif_details with vlan_id = 0 to support flat networking
(according to man page of ip command).

Change-Id: Ibbe2db51ed370f416e81d90d203049e7c39eff5b
Closes-Bug: 1403626
Merge "Retry on unassigned ofport instead of treating it as a failure"
Merge "Add support for flat networks in SRIOV Mechanism Driver"
Merge "Do not count dvr agents while creating HA ports"
ovs_dvr: Use lazy logging interpolation

There are a small number of examples of "eager" interpolation in
neutron:
  logging.debug("foo %s" % arg)

These should be converted to perform the interpolation lazily within
the logging function, since if the severity is below the logging level
then the interpolation can be skipped entirely.

This change addresses all such examples found in ovs agent via a pylint
test.  Other occurrences are addressed elsewhere.

Change-Id: Ie215f33818cc5c16e570ace4c750df5371d27e09
Partial-Bug: #1404788
Merge "csr1kv_hd_driver: Improve exception handling"
Merge "Cisco: logging incorrectly called with (fmt, arg) tuple"
Merge "ovs_dvr: Use lazy logging interpolation"
Merge branch 'master' of https://github.com/openstack/quantum