Adds macvtap support

The current logic handles only VFs with direct vnic-type.
This fix will add support for VFs with macvtap vnic-type,
By checking the relevant upper_macvtap directory.

Change-Id: Id69b7e64858020682fd0f68b0e162e5e8022eea3
Closes-Bug: 1383098
BSN: Add network to ext_gw_info sent to backend

Include the full network info in the external gateway info
sent to the backend controller. This alleviates a very expensive
query across all tenants on the backend controller.

Closes-Bug: #1393991
Change-Id: If3601ccbce21e683924a7056cdfe4e3c2d4d4a93
Delete FIP namespace when last VM is deleted

On a compute node when the last VM with a floating IP association
is deleted, the L3 agent did not delete the fip namespace. However
the api server has already deleted the fip agent external gateway
port from the database.

This problem is happening on DVRs because the deletion of a VM port,
in addition to a floating IP disassociation, may also result in the
removal of the external gateway port binding AND the removal of the
fip agent external gateway port.

When the L3 agent is handling a routers_updated notification, it is
not processing floating ip address updates when the router has both
a floating ip disassociated and a external gateway port deleted.
This patch corrects this problem.

Closes-bug: #1377156
Change-Id: I86bdef7c9d988cb9d87c88adde55548d459f29a5
test_dhcp_agent: Fix no-op tests

Fix some uses of assertCalledOnceWith, which seems like a mistake of
assert_called_once_with.

Also, add a hacking check to prevent the mistake.

Closes-Bug: #1397184
Change-Id: I12d077e2724d52eff65d55aff1130fbbb69671b1
iptables_manager: Fix get_binary_name for eventlet

The inspect trick used by get_binary_name does not work for
eventlet non-main threads.  It's actually the case for ofagent
and in that case it yields something like "greenthread.py",
which is not desirable because this module assumes it different
for each programs.  This commit fixes the problem by switching
to use sys.argv.

Closes-Bug: #1367075
Change-Id: I8e765882c58d9991a37f0bbb52cdccc406e287bd
Update i18n translation for BigSwitch plugin log msg's

All the log messages now have the required hints. In addition to this
debug messages are not translated.

This is done for the plugins/bigswitch and plugins/common directories

Change-Id: If661fcfac3b22c8cffee65c3e8073e746ef3468e
Use oslo function for parsing bool from env var

The tests were previously defining their own way of parsing booleans
from strings.  This change switches to using a function defined in
the oslo.utils.strutils module.

Implements: bp retargetable-functional-testing

Change-Id: Ic06de1ed67dd9cc762415d362a928a89da0ce2f0
Fix base test class for functional api testing

To support in-tree functional api testing, the test class common
across all types of testing can't import modules that define
configuration that Tempest also defines because duplicate
configuration definitions result in runtime errors.  A previous change
(I44251db399cd73390a9d1931a7f253662002ba10) moved conflicting imports
to a separate module, but subsequent additions have added new conflicting
imports.

This change creates a new test class that is safe to use for all types
of testing (neutron.tests.sub_base.SubBaseTestCase), ensures that the
existing existing base test class (neutron.tests.base.BaseTestCase)
extends it, and documents their respective responsibilities.  This
will hopefully make it less likely that the functional api job will be
broken by changes to the base test class.

Implements: bp retargetable-functional-testing

Change-Id: Ifa270536481fcb19c476c9c62d89e6c5cae36ca1
Merge "Use oslo function for parsing bool from env var"
Drop RpcProxy usage from DhcpAgentNotifyAPI

Remove usage of the RpcProxy compatibility class from the
DhcpAgentNotifyAPI class.  The equivalent oslo.messaging APIs are now
used instead.

Part of blueprint drop-rpc-compat.

Change-Id: Ib658a0d67da1af3b009bc6df9a7c8ec08c04897b
Merge "Update i18n translation for BigSwitch plugin log msg's"
Merge "iptables_manager: Fix get_binary_name for eventlet"
Imported Translations from Transifex

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I2ebc99dd90316bc903778ee7d092870f26841fff
Merge "Delete FIP namespace when last VM is deleted"
Merge "Fix base test class for functional api testing"
Merge "test_dhcp_agent: Fix no-op tests"
Enforce log hints in neutron.plugins.hyperv

This change enforces log hints use and removes debug level log
translation, modifications are validated through a hacking rule and
the change respects loggging guidelines.

Validate that hacking rules apply to directories:
    - neutron/plugins/hyperv

Change-Id: Iea2d63a4e74bf824ee308057570c980c50e937bc
Partial-bug: #1320867
Enforce log hints in neutron.plugins.sriovnicagent

This change enforces log hints use and removes debug level log
translation, modifications are validated through a hacking rule and
the change respects loggging guidelines.

Validate that hacking rules apply to directories:
    - neutron/plugins/sriovnicagent

Partial-bug: #1320867

Change-Id: Idde3d69c982db49e6b1510d6a6094af82fa25b13
Merge "Adds macvtap support"
Merge "Imported Translations from Transifex"