-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
Currently Luotsi updates it's checksum state before:
a) rendering the new haproxy config
b) replacing the config at HAPROXY_CONF
c) reloading haproxy
As any any of a,b,c could fail, we have a problem: Luotsi can be in an erroneous state, with haproxy running an older config than what the checksum would make us believe. However, HAPROXY_CONF would always show the correct state, as would be expected.
TODO
- Luotsi should have an internal state machine:
STANDBY | PROCESSING | ERROR, where:STANDBY: Luotsi/haproxy is running the most recent settings from Halti master normallyPROCESSING: Luotsi has received a new config and is performing steps a,b,c (and possibly SSL related tasks in the future)ERROR: Luotsi PROCESSING failed and the most recent settings from Halti master are NOT being run by haproxy (it is running the previous settings)
luotsiPollshould set the internal state machine accordingly:PROCESSINGwhen checksum changes and we start processing the new settingsSTANDBYif processing is successfulERRORif standby is not successful