bhouse-nexthop commented on PR #14131: URL: https://github.com/apache/cloudstack/pull/14131#issuecomment-5623444727
@weizhouapache good catch, thanks - added in the latest commit. `haproxy_check.py` knew about `maxconn` and the global idle timeout, so the new per rule settings could drift with nothing noticing. The health check data now carries all three, and the check validates them in that rule's own `listen` section: | data | checked | |---|---| | `ruleKeepAlive` | `option http-keep-alive`, or `option httpclose` | | `ruleIdleTimeout` | `timeout client`, `timeout server` | | `ruleKeepAliveTimeout` | `timeout http-keep-alive` | The http mode test needed widening as well, otherwise a rule that sets keepalive itself stopped being checked at all: ``` before port 80 and the offering has keepalive off after port 80 and (the rule sets keepalive, or the offering has it off) ``` Compatibility: an older management server sends none of these keys, and a rule that inherits sends them empty. Both read as nothing to check, so an updated system VM template against an older management server still passes. I ran the script against generated configs rather than only reading it - a matching config passes, and each of a wrong keepalive option, a drifted `timeout client` and a missing `timeout http-keep-alive` fails. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
