Package: haproxy Version: 1.5~dev19-2 Severity: normal Tags: ipv6 Dear Maintainer,
I have haproxy to do some TCP HA forwarding to LDAP and Exchange Servers. I also have deployed native IPv6 which works nicely with keepalived and haproxy. When the system runs and I restart haproxy I never see any issues. When I reboot the system (kernel update), I see that haproxy fails to start due to 2 failures: * haproxy logs to a socket, rsyslogd provides. rsyslogd isn't running, when haproxy is started per default. I needed to add $syslogto the Required-Start section of the init.d file. * haproxy doesn't start due to IPv6 host address not set when haproxy is starting. I have IPv6 running in production and when haproxy tries to start, it needs the host IPv6 address to configure the stick-table. This fails, and haproxy fails to start. my fast-solution is now to add a "sleep 10" to the top of the init.d file, but I think a more proper solution would be better. Also I have changed to init.d file to source a second config file, where I have the config which both nodes share, so I can easily copy one file. If you need the config of the global file, please tell me. thanks Philipp -- System Information: Debian Release: 7.2 APT prefers stable APT policy: (900, 'stable'), (800, 'unstable'), (500, 'stable-updates'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages haproxy depends on: ii adduser 3.113+nmu3 ii init-system-helpers 1.11 ii libc6 2.17-93 ii libpcre3 1:8.30-5 ii libssl1.0.0 1.0.1e-2 ii zlib1g 1:1.2.7.dfsg-13 haproxy recommends no packages. Versions of packages haproxy suggests: pn vim-haproxy <none> -- Configuration Files: /etc/default/haproxy changed: ENABLED=1 /etc/haproxy/haproxy.cfg changed: global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy user haproxy group haproxy daemon stats socket /var/run/haproxy.sock user root group nagios mode 0660 stats socket /var/run/haproxy-admin.sock user root group root mode 0600 level admin stats bind-process 1 maxconn 40000 tune.bufsize 24576 tune.chksize 24576 defaults log global mode http option httplog option dontlognull option socket-stats option redispatch # Try another server in case of connection failure option contstats # Enable continuous traffic statistics updates option abortonclose timeout client 7200s #alctl: client inactivity timeout server 7200s #alctl: server inactivity timeout timeout connect 5s # 5 seconds max to connect or to stay in queue timeout queue 30s # 30 seconds max queued on load balancer errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http listen stats bind 128.130.30.11:80 name IPv4 bind 2001:629:1005:30::11:80 transparent name IPv6 mode http stats enable stats realm Haproxy\ Statistics stats uri / acl stats-access src 127.0.0.1 acl stats-access src 128.130.30.11 acl stats-access src 128.130.30.12 acl stats-access src 128.130.36.60 acl stats-access src 128.130.36.61 acl stats-access src 128.131.225.234 acl stats-access src 128.131.35.153 acl stats-access src 2001:629:3800:36:82ee:73ff:fe00:b11c block if ! stats-access /etc/init.d/haproxy changed: sleep 10 PATH=/sbin:/usr/sbin:/bin:/usr/bin PIDFILE=/var/run/haproxy.pid CONFIG=/etc/haproxy/haproxy.cfg GLOBALCONFIG=/etc/haproxy/haproxy-global.cfg HAPROXY=/usr/sbin/haproxy EXTRAOPTS= ENABLED=0 test -x $HAPROXY || exit 0 if [ -e /etc/default/haproxy ]; then . /etc/default/haproxy fi test -f "$CONFIG" || exit 0 test -f "$GLOBALCONFIG" || exit 0 test "$ENABLED" != "0" || exit 0 [ -f /etc/default/rcS ] && . /etc/default/rcS . /lib/lsb/init-functions haproxy_start() { start-stop-daemon --start --pidfile "$PIDFILE" \ --exec $HAPROXY -- -f "$CONFIG" -f "$GLOBALCONFIG" -D -p "$PIDFILE" \ $EXTRAOPTS || return 2 return 0 } haproxy_stop() { if [ ! -f $PIDFILE ] ; then # This is a success according to LSB return 0 fi for pid in $(cat $PIDFILE) ; do /bin/kill $pid || return 4 done rm -f $PIDFILE return 0 } haproxy_reload() { $HAPROXY -f "$CONFIG" -f "$GLOBALCONFIG" -p $PIDFILE -D $EXTRAOPTS -sf $(cat $PIDFILE) \ || return 2 return 0 } haproxy_status() { if [ ! -f $PIDFILE ] ; then # program not running return 3 fi for pid in $(cat $PIDFILE) ; do if ! ps --no-headers p "$pid" | grep haproxy > /dev/null ; then # program running, bogus pidfile return 1 fi done return 0 } case "$1" in start) log_daemon_msg "Starting haproxy" "haproxy" haproxy_start ret=$? case "$ret" in 0) log_end_msg 0 ;; 1) log_end_msg 1 echo "pid file '$PIDFILE' found, haproxy not started." ;; 2) log_end_msg 1 ;; esac exit $ret ;; stop) log_daemon_msg "Stopping haproxy" "haproxy" haproxy_stop ret=$? case "$ret" in 0|1) log_end_msg 0 ;; 2) log_end_msg 1 ;; esac exit $ret ;; reload|force-reload) log_daemon_msg "Reloading haproxy" "haproxy" haproxy_reload ret=$? case "$ret" in 0|1) log_end_msg 0 ;; 2) log_end_msg 1 ;; esac exit $ret ;; restart) log_daemon_msg "Restarting haproxy" "haproxy" haproxy_stop haproxy_start ret=$? case "$ret" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; 2) log_end_msg 1 ;; esac exit $ret ;; status) haproxy_status ret=$? case "$ret" in 0) echo "haproxy is running." ;; 1) echo "haproxy dead, but $PIDFILE exists." ;; *) echo "haproxy not running." ;; esac exit $ret ;; *) echo "Usage: /etc/init.d/haproxy {start|stop|reload|restart|status}" exit 2 ;; esac : -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org