Bump hacking to version 0.9.2

Change-Id: I871fba00fd2abc1ea24fcd44fbd7526ed1d40537
Fix ML2 Plugin binding:profile update

The current fix changes the logic for binding:profile
update. The binding:profile should be considered as changed
once it is present in the port attributes and differs from
existing binding:profile. The specified binding:profile with
None value should be treated as request to clear binding:profile.

Change-Id: Ibda9a1beec697fbee5be0ee379349035c3626509
Closes-Bug: 1338202
Call config_parse in base test setup

Some of the tests (e.g. NeutronDbPluginV2AsMixinTestCase) do not call
config_parse so if the database engine is not already been setup by another
test before the config object is reset on teardown, the database connection
will fail since the database config is then empty.

This patch adds a new setup_config method called during the base test case
setUp method which calls config_parse by default to load the default config.
Tests that couldn't use the default config were then modified to override the
setup_config method.

Some other unit tests were slightly adjusted to pass using the default config.

Closes-Bug: #1346673
Change-Id: I3724200fa932115c0a8c264640b1a9dbe431a1cc
Functional tests work fine with random PYTHONHASHSEED

Partial-bug: #1348818

Change-Id: Iccac403585635851c6d121d6e27c1c90b0de5acb
Make dvr_vmarp_table_update call conditional to dvr extension

Without making this call conditional, every l3plugin that
integrates with the ML2 plugin will need to implement this
method and this must not be necessary.

Closes-bug: #1349638

Change-Id: Ie9ba3bad4152810f5bfa530be54be70139cebc0c
Replaced the strings with respective constants

Change-Id: Ie36fde1307a75c1485120d848f8bdb182e5e1fc0
Closes-Bug: 1344497
Move ARP responder test to sanity command

Additionally, the patch improves the check itself:
To check if the currently installed OVS supports the ARP responder
feature, we try to add a flow that references an OpenFlow ARP
extension via ofctl. The test may fail due to an (expected)
Runtime error, or due to some other unexpected error.
In such a case the error was previously masked and tossed away.

* Clean up ARP responder unit test
* Extract ARP responder flow actions to be used by the unit
  tests, functional test as well as the ARP responder code itself

After this patch, if the sanity check returned False but the
user never ran it or ignored its results, the OVS agent will
output errors to the log every time an ARP entry is (attempted)
to be added or removed from the flow table.

Closes-Bug: #1323718
Change-Id: I428c954d6561cd398a1e580804a9482969a154af
Do not schedule network when creating reserved DHCP port

If device_id is DEVICE_ID_RESERVED_DHCP_PORT, do not schedule
network nor notify to dhcp-agent.

Closes-Bug: #1327000
Change-Id: Idf88767596bf0fc31bf856a423d35cb1575b57f3
Pass filters in arrays in get_agent_gw_ports_exist_for_network

Change-Id: I8925d7072b7cae7645e772b8a769a7e6f03ec64f
Closes-Bug: #1350119
Add L3 Scheduler Changes for Distributed Routers

This patch implements the L3 Scheduler changes for the
Distributed Virtual Routers.

Partially-implements: blueprint neutron-ovs-dvr

Change-Id: I407c3d639ebdf885b1418bceac7cfc251e7eba1f
Co-Authored-By: Carl Baldwin <carl.baldwin@hp.com>
Co-Authored-By: Armando Migliaccio <armamig@gmail.com>
Merge "Call config_parse in base test setup"
Merge "Replaced the strings with respective constants"
Merge "Functional tests work fine with random PYTHONHASHSEED"
Merge "Make dvr_vmarp_table_update call conditional to dvr extension"
Merge "Bump hacking to version 0.9.2"
Merge "Pass filters in arrays in get_agent_gw_ports_exist_for_network"
Merge "Fix ML2 Plugin binding:profile update"
Merge "Add L3 Scheduler Changes for Distributed Routers"
Merge "Move ARP responder test to sanity command"
Merge "Do not schedule network when creating reserved DHCP port"