UTs: Disable auto deletion of ports/subnets/nets

Change the behavior of the unit test context managers
for ports, networks, and subnets to skip the deletion
of the objects they create.

Adds explicit delete calls to the tests that require
deletion of the objects.

This is the first patch in a series to eliminate the
automatic deletion of objects created during tests to
improve test performance and make testing more explicit.

Implements: blueprint remove-unit-test-autodeletion
Change-Id: Ifc4490b121310ad64e18936e6fd94a2c9a1e36f2
ofagent: Clean up logging

- Use _LI, _LW, _LE
- Remove localization from debug logs
- Replace LOG.debug calls with @log.log decorator where appropriate

Change-Id: I9c80c556003db7b0b8e99da0340a26beb1e00e16
Add L3 VRRP HA base classes

Add L3 HA base classes on the plugin side. A new admin-only ha
attribute is added to the API router resource. Conversion from
or to HA router is possible. Each tenant gets a single network
used for HA traffic. The tenant_id for that network is set to
'' so that it isn't visible via the CLI or GUI. A new table
is added to map a tenant to its HA network. Specific HA
attributes are added to the extra router attributes table.
Finally, each HA router gets a port on the HA network, per
l3 agent it is scheduled on. A new table is added to track
these bindings. A new table is added in order to track
VRID allocations.

DVR integration is not expected to work. Any issues will
be reported as bugs and handled after the feature merges.
Migrating a router to HA or from HA works server side
but is not expected to work (Yet) agent side. This will be
dealt with as a bug in the future.

DocImpact
Partially-implements: blueprint l3-high-availability
Change-Id: I9d935cf5e0c231e8cb7af5f61b9a9fc552c3521e
Co-Authored-By: Assaf Muller <amuller@redhat.com>
Use renamed _fail_second_call() in cisco nexus tests

In commit 5e4b0c6fc6670ea036d801ce53444272bc311929 NeutronDbPluginV2TestCase
_do_side_effect() was renamed to _fail_second_call(), but the nexus test cases
were not updated. The tests still worked because they check for
HTTPInternalServerError which is the end result of the server encountering
"AttributeError: object has no attribute '_do_side_effect'". So the fault
injection still worked, but not in the way intended.

Note: the monolithic nexus plugin is not updated here since it is being
removed from the tree.

Closes-bug: #1367552

Change-Id: I083285fff5144d8dc35bd5b64faa7e400c68bcff
Remove useless check in _rpc_update_firewall

Firewall_db_mixin.update_firewall returns an updated firewall or raises
an error (if the firewall is not found), that's why checking if its
result is evaluated to False is not required

Change-Id: Ib4e2fa0920783728b8e1cc8597b3edf78e098b52
Passing admin tenant name to EOS

The Arista ML2 plugin was not passing the admin tenant name to EOS without which
it is not possible to authenticate with keystone using just the admin name
and password. This patch passes the admin tenant name along with the admin
credentials.

Change-Id: I6c8b872087d17da2c3de43186d1916fc368dd786
Closes-Bug: 1359417
ofagent: Remove broken XenAPI support

ofagent has code for agent-on-DomU support inherited from OVS agent.
However, it's incomplete and broken.  Because ofagent uses a direct
OpenFlow channel instead of ovs-ofctl command to program a switch,
the method to use the special rootwrap can not work.

Closes-Bug: #1368006
Change-Id: I0bb25a296d1f1e65c233ece6deaef6c095d78707
Merge "ofagent: Clean up logging"
Merge "ofagent: Remove broken XenAPI support"
Merge "UTs: Disable auto deletion of ports/subnets/nets"
Merge "Add L3 VRRP HA base classes"
Merge "Use renamed _fail_second_call() in cisco nexus tests"
Merge "Passing admin tenant name to EOS"
Merge "Remove useless check in _rpc_update_firewall"
Merge branch 'master' of https://github.com/openstack/quantum