Bug 1042432

Summary: [RFE][neutron]: LBaaS: make common agent based driver (unify haproxy reference impl)
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: openstack-neutronAssignee: RHOS Maint <rhos-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Ofer Blaut <oblaut>
Severity: medium Docs Contact:
Priority: low    
Version: unspecifiedCC: chrisw, markmc, mlopes, nyechiel, yeylon
Target Milestone: Upstream M3Keywords: FutureFeature, Triaged
Target Release: 5.0 (RHEL 7)   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/neutron/+spec/lbaas-common-agent-driver
Whiteboard: upstream_milestone_icehouse-3 upstream_status_implemented upstream_definition_approved
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-28 13:16:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 22:15:56 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/neutron/+spec/lbaas-common-agent-driver.

Description:

Current haproxy-on-host driver implementation which is using agents is quite specific:
 - with haproxy it is easier to deploy the whole loadbalancer config from scratch every time
   then to create/update/delete separate components
 - namespace driver needs virtual interface driver on init, 
   other drivers may have their own specific parameters

So it is useful to unify reference agent implementation to:
 - make it suite any driver which wants to use async mechanism
 - have single lbaas agent type and hense single agent scheduling mechanism

All we need is a small revision of agent API and agent mechanism of loading device driver(s)

Specification URL (additional information):

https://wiki.openstack.org/wiki/Neutron/LBaaS/CommonAgentDriver