5 ms·
> haproxy can now be built with native systemd support using USE_SYSTEMD=1 and starting it with -Ws (systemd-aware master-worker mode). What features/integrati
by fermuch 9y ago
> haproxy can now be built with native systemd support using USE_SYSTEMD=1 and starting it with -Ws (systemd-aware master-worker mode).
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.
- TimWolla 9y agoI 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/haproxy@formilux.org/msg27874.html https://www.mail-archive.com/haproxy@formilux.org/msg27874.h... [1] https://www.freedesktop.org/software/systemd/man/sd_notify.html https://www.freedesktop.org/software/systemd/man/sd_notify.h...
- KamiNuvini 9y agoI 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/haproxy@formilux.org/msg27404.html https://www.mail-archive.com/haproxy@formilux.org/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)