Bug 1649041 - HAProxy 1.8: Seamless reload does not work with send-/accept-proxy
Summary: HAProxy 1.8: Seamless reload does not work with send-/accept-proxy
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Software Collections
Classification: Red Hat
Component: haproxy
Version: rh-haproxy18
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
: 3.3
Assignee: Ryan O'Hara
QA Contact: Brandon Perkins
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-11-12 18:44 UTC by SHAURYA
Modified: 2019-06-11 12:58 UTC (History)
2 users (show)

Fixed In Version: rh-haproxy18-haproxy-1.8.15-1.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-06-11 12:01:34 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2019:1436 0 None None None 2019-06-11 12:01:48 UTC

Description SHAURYA 2018-11-12 18:44:46 UTC
Description of problem:

If we use send-proxy and accept-proxy in our HAProxy 1.8 configuration, reloads stop working. The following is enough to trigger the issue:

backend app_test_backend
    server app_test_frontend abns@app_test_frontend send-proxy
    
frontend app_test_frontend
    bind abns@app_test_frontend accept-proxy

During reload we get log messages like these:

Nov 01 09:47:38 hap-test02.test.sparebank1.no haproxy[8701]: [WARNING] 304/094738 (8701) : server-state application failed for server 'app_test_backend/app_test_frontend', invalid srv_f_forced_id value '-'
Nov 01 09:47:41 hap-test02.test.sparebank1.no haproxy[8701]: [ALERT] 304/094738 (8701) : Starting frontend app_test_frontend: cannot listen to socket []
Nov 01 09:47:41 hap-test02.test.sparebank1.no haproxy[8701]: [WARNING] 304/094738 (8701) : Reexecuting Master process in waitpid mode
Nov 01 09:47:41 hap-test02.test.sparebank1.no haproxy[8701]: [WARNING] 304/094738 (8701) : Reexecuting Master process

There might be multiple issues here: a problem with values set for non-TCP addresses in server-state, and a problem listening to the sockets after reload (cannot listen to socket []).

After the reload command is completed the HAProxy instance no longer accepts any connections.

These issues seems to have been fixed in later 1.8 versions. When I tried 1.8.14 compiled from source the problem went away.

Version-Release number of selected component (if applicable):

RHEL 7.6
rh-haproxy18-runtime-3.1-2.el7.x86_64
rh-haproxy18-3.1-2.el7.x86_64
rh-haproxy18-haproxy-1.8.4-3.el7.x86_64

Comment 3 Ryan O'Hara 2018-12-01 19:44:45 UTC
Moving to RHSCL since this is not RHEL.

Comment 4 Ryan O'Hara 2018-12-01 19:45:50 UTC
Planning to rebase haproxy in RHSCL-3.3, so that should fix this.

Comment 9 errata-xmlrpc 2019-06-11 12:01:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2019:1436


Note You need to log in before you can comment on or make changes to this bug.