vmware-nsx/neutron/services/loadbalancer
Oleg Bondarev 916d97b5d6 LBaaS: unify haproxy-on-host plugin driver and agent
Unifies haproxy reference implementation to make common agent based plugin driver
which is suitable for all vendors who wants to use async mechanism.

 - Agent API as well as device driver API changed to handle
   loadbalancer objects individually;
 - Agent loads device drivers according to config;
 - LogicalDeviceCache class was removed from agent as it was used only
   as a list - to put and remove entries ant check whether entry is in or not.
   It was replaced with instance_mapping dict in agent to store known instances and
   corresponding device_drivers;
 - Agent reports which device drivers are supported (needs for scheduling on plugin side);
 - Agent-to-plugin API was extended to provide an ability for agent to update
   statuses of pools/vips/members/health_monitors;
 - Vendor should only implement device driver; plugin driver just needs
   to inherit AgentBasedPluginDriver and override device_driver member;
 - This patch doesn't move files to make review easier;
   all rename/replace will be done in a subsequent patch;

DocImpact

NOTE: Since the change in the agent RPC API is backward-incompatible
(major RPC version change), LBaaS server-agent communications will be
completely broken until both sides are upgraded so users will be unable to
create new or update existing HAProxy loadbalancer instances during upgrade

Implements blueprint lbaas-common-agent-driver

Change-Id: I9fd90a1321611d202ef838681273081fa6c1686a
2013-12-10 12:08:03 +04:00
..
drivers LBaaS: unify haproxy-on-host plugin driver and agent 2013-12-10 12:08:03 +04:00
__init__.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
agent_scheduler.py LBaaS: unify haproxy-on-host plugin driver and agent 2013-12-10 12:08:03 +04:00
constants.py LBaaS: update status of members according to health statistics 2013-09-03 10:14:14 +00:00
plugin.py LBaaS: unify haproxy-on-host plugin driver and agent 2013-12-10 12:08:03 +04:00