Difference between revisions of "Neutron/LBaaS/HAProxyDriver"
m (ThierryCarrez moved page Quantum/LBaaS/HAProxyDriver to Neutron/LBaaS/HAProxyDriver) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | ||
/!\ '''Draft''' | /!\ '''Draft''' | ||
Line 10: | Line 10: | ||
The driver is implemented according to [[Quantum/LBaaS/DriverAPI]]. It supports version 1.4. | The driver is implemented according to [[Quantum/LBaaS/DriverAPI]]. It supports version 1.4. | ||
− | Features | + | == Features == |
− | * Protocols: HTTP, TCP | + | * Protocols: HTTP, TCP |
− | * LB algorithms: round-robin, source | + | * LB algorithms: round-robin, least-connections, hash-source, hash-uri |
− | * Session persistence: cookie | + | * Session persistence: source ip, http cookie, application cookie |
− | * Health monitoring: | + | * Health monitoring: TCP, HTTP, HTTPS (Note: HAProxy config allows only one health monitor per pool) |
− | * Stats retrieval per pools | + | * 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 |
Latest revision as of 15:54, 21 June 2013
/!\ 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