a default haproxy install on noble is configured with:
global
        log /dev/log    local0
        log /dev/log    local1 notice
[...]

and this is a direct link to systemd-journald's socket.

/dev/log -> /run/systemd/journal/dev-log

which is managed by systemd-journald-dev-log.socket and does socket
activation to start systemd-journald. so i think this is set up
correctly (by dependencies & startup order).


BUT, haproxy runs chrooted in /var/lib/haproxy with an separate /dev/log socket:

rsyslog in /etc/rsyslog.d/49-haproxy.conf sets up a separate
/var/lib/haproxy/dev/log socket to "Create an additional socket in
haproxy's chroot in order to allow logging via /dev/log to chroot'ed
HAProxy processes". rsyslog then filters out haproxy messages from that
socket and logs them to /var/log/haproxy.log.

so this should thus be independent of systemd-journald, and the error
you're seeing should only be related to rsyslog.

haproxy.service has after=rsyslog.service, but doesn't "want=" it. so
rsyslog.service must be "enabled" (since haproxy doesn't start it) for
the log socket to be available at all.

since your output shows rsyslog.service is enabled, it seems there a race 
condition between rsyslog.service starting up (without being ready) and 
haproxy.service trying to use the socket before that?
in any case I don't see how systemd-journald interferes here.


I'd say the proper solution would be to get rid of rsyslog here, and just use 
journal logging + systemd service security confinements instead of the haproxy 
integrated chroot.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2133460

Title:
  haproxy for noble may start before systemd-journald

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/haproxy/+bug/2133460/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to