Preserve floating ips when initializing l3 gateway interface

Change-Id: I5a88225d291538cb9db0f8f4afa348192b8b984d
Closes-Bug: #1233271
Fixes missing method in Hyper-V Utils (Metering)

Change-Id: I2beecfd13617fb243008016b810f49db5593fc65
Closes-Bug: 1252712
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
Add missing quota flags in the config file sample

l3 extensions don't set quota flags in the config sample file
etc/neutron.conf.
Quota is unlimited if its value is minus and not only if it's -1.

Closes-Bug: #1250574
Change-Id: I76c8d1e2676d4e9b0feeed6e504e759fe736a0db
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
Switch to using spawn to properly treat errors during sync_state

Changes f1b9ac5a and 9f6ff7e3 were aimed at improving the robustness
of the sync_state method. However both missed switching from spawn_n
to spawn to properly deal with raised exceptions.

Change-Id: Ieda4a5ecca63de67d8a9757962e7e3383fd9c9ea
Related-bug: #1257514
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
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"