Preserve floating ips when initializing l3 gateway interface

Change-Id: I5a88225d291538cb9db0f8f4afa348192b8b984d
Closes-Bug: #1233271
l3_agent: make process_router more robust

If internal_network_added/removed fails, _sync_routers_task will call
process_router to do fault recovery. Because the port is already
added/removed to/from ri.internal_ports, internal_network_added or
internal_network_removed will not be called again.

The patch fix this issue by calling ri.internal_ports.append/removed
only if internal_network_added/removed succeed. Without the patch,
the added testcases would fail.

Change-Id: I2d2e004caa670c1624257c1d7ccc900438b42d08
Co-Authored-By: Hirofumi Ichihara <ichihara.hirofumi@lab.ntt.co.jp>
Closes-Bug: #1255871
Add request timeout handling for Mellanox Neutron Agent

Add request timeout handling for messages sent to eswitch Daemon.
Using configurable number of retries and increasing waiting interval
between retries resend the message.
If request timeout persists, eswitch daemon is not reachable.
In such case, exit the agent process.

Closes-Bug: #1228827

Change-Id: If1290bedafe7a0dd8a61cbe328510075edeb1e5b
Improve unit test coverage for Cisco plugin common code

Closes-Bug: #1190615

This fix improves the unit test coverage for the Cisco Nexus plugin
common modules (directory neutron/plugins/cisco/common) from:
--- cisco_credentials_v2.py 82%
--- cisco_faults.py 0%
--- config.py 84%
To:
--- cisco_credentials_v2.py 100%
--- cisco_faults.py 76%
--- config.py 100%

Change-Id: Id1ccfee1317309039fab83f622ced58efc3b2ae7
Fix str2dict and dict2str's incorrect behavior

Closes-bug: #1258065

Change-Id: Idf14c077eeeda6f18f534ad8f62cd741d0c0a2eb
Removed erronus config file comment

The comment stating 'DHCP agents needs it.' with regards to the
rpc_notifier notification_driver is incorrect.  Looking through
the code, I see no place this is true.  I believe it to be an
error.

Closes-Bug: #1258390

Change-Id: I58c2f9290731f3e88e4b4a5bdb600aa5bac1a12b
Add fwaas_driver.ini to setup.cfg

Change-Id: Ie8157c0df343fb1009e7bc5b3ed2f2d4b0d0afec
Closes-Bug: 1258585
Remove dead code _arp_spoofing_rule()

This code should have been removed when the allowed_address_pair
extension was added here (0efce6195fa7be80e110bd841dc9b3537a94c376).
The arp spoofing rules are handled in the method _setup_spoof_filter_chain().

Reported by: Amir Sadoughi that this was crud I left behind :)

Change-Id: Ib0e2e2a5c13fb8fa7af1f988510143f40ac335e2
Closes-bug: #1258629
Merge "Improve unit test coverage for Cisco plugin common code"
Imported Translations from Transifex

Change-Id: I6f89af93f175d2de8eb2e00b08217a0b29e44385
Merge "Add request timeout handling for Mellanox Neutron Agent"
Merge "Removed erronus config file comment"
Merge "Imported Translations from Transifex"
Merge "Add fwaas_driver.ini to setup.cfg"
Merge "Preserve floating ips when initializing l3 gateway interface"
Imported Translations from Transifex

Change-Id: I8899e6ade1eb38e6d183cb35a509fcbecdc04b47
Add LeastRouters Scheduler to Neutron L3 Agent

Allow scheduling of a virtual router on an L3 Agent node with the least
number of routers currently scheduled. This scheduler can be used
instead of the default random scheduler.

Also refactor the l3_agent_scheduler to allow for adding new schedulers.

Implement blueprint lessrouter-scheduler
Change-Id: Ie539c08bdc8a6e1430a106f77d08f15abd0903e7
Merge "Remove dead code _arp_spoofing_rule()"
Merge "l3_agent: make process_router more robust"
Merge "Add LeastRouters Scheduler to Neutron L3 Agent"