I was the person creating the patch. For now all it does is compiling in support for `Type=notify` (using sd_notify [1]) in the unit file: haproxy is able to notify systemd when it completed the `start` or the `reload`.
In the future this could be extended to support systemd's socket passing and status messages. The latter allowing you to show a short string in `systemctl status haproxy`. See this example for php-fpm:
[root@example~]systemctl status php7.0-fpm.service
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled)
Active: active (running) since Sat 2017-11-25 13:28:22 CET; 1 day 8h ago
Docs: man:php-fpm7.0(8)
Main PID: 4624 (php-fpm7.0)
Status: "Processes active: 3, idle: 29, Requests: 1203613, slow: 545, Traffic: 10.1req/sec"
*snip*
See the mailing list thread for the full discussion of the feature: https://www.mail-archive.com/[email protected]/msg27874.h...[1] https://www.freedesktop.org/software/systemd/man/sd_notify.h...
Re:HAProxy 1.8.0
by KamiNuvini on Sunday November 26, 2017 @04:15PM
(#15783021)
I actually had/have an issue with the systemd-wrapper haproxy uses in 1.7 where systemd gets confused when doing a reload + a restart before all sessions are closed. This caused haproxy to completely stop accepting connections until the systemd timeout kicked in and sent a kill -9
I reported it and was told it might not affect 1.8 since the systemd-wrapper is removed there, so gonna give this a try soon. See this thread: https://www.mail-archive.com/[email protected]/msg27404.h...
(And I switched to only doing a reload notify in Ansible together with the hard-stop-after option in haproxy which is OK for me as well in 1.7)
What features/integrations make sense for a proxy with systemd? I'd assume it's only a unit that comes with the package, but that "-Ws" makes me wonder if there're deeper integrations.