Enable Quota DB driver by default

Closes-Bug: #1189671

Quota driver is now loaded in lazy mode, i.e. the driver is loaded
the first time the driver is accessed. This is to make unit tests
work. Some unit tests like extension test cases need to use Config
Quota driver (previous default) but QuotaEngine is initialized
when quota.py is imported. Thus the unit tests had no chance to
specify quota_driver.

Change-Id: I9e20961d5a6322361e3c0284b3c2a7ca86755c70
change port status only if port is bound to the good host

if host is set in the rpc message update_device_up/down sent by the agent,
the port status will be changed only if the port is bound to the host.

Change-Id: I0e607c734fbebf0b69f83c3bbd3e25a9783672dc
Closes-Bug: #1224967
BigSwitch: sync state on disassociate floating ip

Sends the state of port's parent network to the backend controller
when a floating IP is disassociated from a port.

Closes-Bug: #1235074
Change-Id: I8375e6564b5d08f1adc7e7aef6affc97c8d03c5e
(cherry picked from commit 0bae949eed229613c77c4943edbf68c1c140f977)
Avoid race with udev during ovs agent startup

After taking down the veth link between the physical bridge and the integration
bridge call udevadm settle to wait for any udev events to be completely
processed by the operating system before recreating the veth pair.

Some distributions (e.g. openSUSE) have udev rules installed by default that
call e.g. ifdown <interface> during the remove event. If that is processed
after the ovs agent already brought up the veth pair again the veth pair's
link will be down after the agent completed startup and networking will be
broken for all VM instances.

Change-Id: I95520ea96a9804c5261a0c994bbca137535cc37c
Closes-Bug: #1218556
(cherry picked from commit 8d88ee7411d43f148b45d0a145fe32a75765a3ac)
Prevent L3 agent looping calls from hanging

This patch adopts several measures to prevent _sync_routers_task
and _rpc_loop from hanging because of subprocess.Popen.communicate
not returning.

1) Perform a sleep everytime a command is completed, similarly to
what is done in openstack.common.processutils.execute
2) Disable by default GARP, as kernel crashes caused by arping
have been observed
3) Prevent a non-critical keyerror in _router_removed from triggering
again a full sync, which might put the system under significant load.

This patch also adds debug log statements aimed at improving the
ability of debugging similar failures.

Change-Id: I003316bce0f38b7d2ea7d563b5a0a58676834398
Partial-Bug: 1224001
(cherry picked from commit 591ee00a67fbbe5f106ba12140b9f9420dee5907)
Merge "Avoid race with udev during ovs agent startup" into milestone-proposed
Merge "Enable Quota DB driver by default" into milestone-proposed
Fix l2 pop doesn't propagate ip address updates

Propagates ip address changes when an ip address is :
added, removed, or changed.
Add a new rpc call for the updates of forwarding informations.

Fixes: Bug #1234137
Change-Id: Ib5b971bd02f20a0ea73f88ce9685e944226bb5a2
(cherry picked from commit e6a368a697e936f40a0882b236b2be17e1520436)
Set correct plugin support in Embrane based plugins

Change-Id: I87480415f55894e17458a85ef7918babaceb5e47
Closes-Bug: 1236627
(cherry picked from commit 15103e58443af95451a9ba22bc4a9083950d386e)
Merge "Set correct plugin support in Embrane based plugins" into milestone-proposed
Merge "BigSwitch: sync state on disassociate floating ip" into milestone-proposed
Merge remote-tracking branch 'upstream/milestone-proposed' into havana