Neutron/LBaaS/HAProxyDriver
/!\ Draft
Scope
This document describes HAProxy driver for LBaaS.
Implementation Details
The driver is implemented according to Quantum/LBaaS/DriverAPI. It supports version 1.4.
Features
- Protocols: HTTP, TCP
- LB algorithms: round-robin, least-connections, hash-source, hash-uri
- Session persistence: source ip, http cookie, application cookie
- Health monitoring: TCP, HTTP, HTTPS (Note: HAProxy config allows only one health monitor per pool)
- Stats retrieval per pools, members
Config Life Cycle
The driver uses following algorithm when configuring HAProxy:
- fetch config file from remote device through SSH
- parse config file
- do appropriate changes in the config
- create tmp file with new config on the remote device
- check new config file with haproxy
- if valid - replace old config file with new one and restart haproxy service, otherwise raise error