ofagent: Enable local arp responder for TYPE_FLAT

handling TYPE_FLAT is particularly useful because,
as stated in README, a flat provider network is
the recommended way to provide public network connectivity
for ofagent.

Related: blueprint ofagent-l2pop
Related: blueprint ofagent-merge-bridges
Change-Id: I4f9145ecb6ade44fc884ce7f8842f5e33385391e
ofagent: Enable local arp responder for TYPE_LOCAL

Related: blueprint ofagent-l2pop
Related: blueprint ofagent-merge-bridges
Change-Id: I838917ffffff8fd52c68b4633bd84dccdfe656de
Merge "ofagent: Enable local arp responder for TYPE_FLAT"
Merge "ofagent: Enable local arp responder for TYPE_LOCAL"
Cleanup rename of get_compute_ports_on_host_by_subnet

A recent merge renamed this method to remove "compute_" from the name.
Unfortunately, the rename was not done thoroughly.  This patch cleans
that up.  No bug is referenced since this is an obvious ommission in a
recent patch.

Change-Id: I8320bc8deb6dcda586ccff01120270b3ce257ea2
Add scheduler unit tests to enable bug fixes and refactoring

Improves the coverage for DVR scheduling and will allow safer bug
fixes and refactoring in follow-on patches.

Change-Id: I02d0126e31adcab88a7ee82ba1cb76f952c9a68c
Partial-bug: #1353266
Partial-bug: #1356639
Co-Authored-By: Swaminathan Vasudevan <swaminathan.vasudevan@hp.com>
Co-Authored-By: Carl Baldwin <carl.baldwin@hp.com>
Remove subnet_id from check_ports_exist_on_l3agent

Refactor check_ports_exist_on_l3agent so that subnet_id no longer
needs to be passed.  Instead it calls get_subnet_ids_on_router.  This
helps to pave the way for removing hints from schedule router.

Partial-bug: #1353266
Partial-bug: #1356639
Co-Authored-By: Swaminathan Vasudevan <swaminathan.vasudevan@hp.com>
Co-Authored-By: Carl Baldwin <carl.baldwin@hp.com>

Change-Id: I6e9dcb0b899294bb4cf3e3d616a0a690049c338e
Call unbind_snat_servicenode from schedule router

Refactor to move the call to plugin.unbind_snat_servicenode from
schedule_snat_router to _schedule_router.  This is a move to pave the
way for removing hints from schedule router.

Partial-bug: #1353266
Partial-bug: #1356639
Co-Authored-By: Swaminathan Vasudevan <swaminathan.vasudevan@hp.com>
Co-Authored-By: Carl Baldwin <carl.baldwin@hp.com>

Change-Id: I062d8cc3cb870bbaa033d5b107a7dd868dfafa19
Remove hints from schedule_router

Partial-bug: #1353266
Partial-bug: #1356639
Co-Authored-By: Swaminathan Vasudevan <swaminathan.vasudevan@hp.com>
Co-Authored-By: Carl Baldwin <carl.baldwin@hp.com>

Change-Id: Ie6b55e5d0d70be74b19c91994e52eb1719e32fef
Avoid an extra database query in schedule_snat_router

bind_snat_servicenode already knows the chosen_agent.  By waiting
until after it is called, we can use it to avoid another db query.

Partial-bug: #1353266
Partial-bug: #1356639
Co-Authored-By: Swaminathan Vasudevan <swaminathan.vasudevan@hp.com>
Co-Authored-By: Carl Baldwin <carl.baldwin@hp.com>

Change-Id: I7a7232010a63f8fd51fa9af9b3f38ca89fe2a4b8