Custom LB Backend Corrupts HAProxy Config on Service Stop #8424
Labels
kind/bug
Issues that are defects reported by users or that we know have reached a real release
Milestone
Using Cattle, if you create a load balancer with custom backend names in order to customize the configuration, the haproxy config is corrupted and won't reload if one of the backends has no servers available. To replicate:
From this point forward, haproxy in the load balancers will not accept any config updates until all of the customized backend services are up and running again. In the haproxy config in the LB container(s) you will find the invalid config section:
It seems like if there are no servers available the parsing logic doesn't know what to do with it and just stuffs it into the config like that. This prevents HAProxy from reloading any new config changes, including new services that spin up or removing servers that have gone down. Effectively, haproxy is stuck with the last good config it had before the customized-backend service went down. You can add new services, delete them, stop them, et cetera and the haproxy config in effect will remain unchanged. I've tested this back to Rancher 1.2 (when the custom backends were introduced) and it seems to be the same behavior there.
v1.5.3
Cattle:v0.177.10
UI:v1.5.8
Disabled
Cattle
service.containers
The text was updated successfully, but these errors were encountered: