Cloned from launchpad blueprint https://blueprints.launchpad.net/neutron/+spec/lbaas-ha-haproxy.
Currently LBaaS haproxy driver launches a single haproxy process on one host for each loadbalancer instance. This blueprint proposes to back it up with a second haproxy process (possibly on the other host) in VRRP mode using keepalived under Linux.
The specification will be attached soon.
Specification URL (additional information):
Upstream directive is to put engineering resources in Octavia, which will have HA out of the gate. Adding HA to the haproxy implementations of lbaas v1/2 won't happen.
While our strategy is to move to Octavia in compliant with upstream, our current assessment shows that it will take more time to get it mature and ready for production use.
As a mid-term solution we are aiming to provide a better HA solution for LBaaS v2 using the HAProxy driver. This work is planned for Newton/RHOSP10 based on these two bugs:
I don't think it makes sense to add a keepalived based solution for LBaaS haproxy HA. We decided to go with a light weight HA solution for haproxy with https://bugzilla.redhat.com/show_bug.cgi?id=1325861 in the short term, and Octavia in the long term.