Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1897039

Summary: router pod keeps printing log: template "msg"="router reloaded" "output"="[WARNING] 316/065823 (15) : parsing [/var/lib/haproxy/conf/haproxy.config:52]: option 'http-use-htx' is deprecated and ignored
Product: OpenShift Container Platform Reporter: Hongan Li <hongli>
Component: NetworkingAssignee: Miciah Dashiel Butler Masters <mmasters>
Networking sub component: router QA Contact: Hongan Li <hongli>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: medium CC: aos-bugs, bperkins, mmasters
Version: 4.7Keywords: UpcomingSprint
Target Milestone: ---   
Target Release: 4.7.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-02-24 15:32:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Hongan Li 2020-11-12 07:14:01 UTC
Description of problem:
router pod keeps print below logs:
I1112 06:58:23.724033       1 router.go:570] template "msg"="router reloaded"  "output"="[WARNING] 316/065823 (15) : parsing [/var/lib/haproxy/conf/haproxy.config:52]: option 'http-use-htx' is deprecated and ignored. The HTX mode is now the only supported mode.\n - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"
I1112 06:58:28.614293       1 router.go:570] template "msg"="router reloaded"  "output"="[WARNING] 316/065828 (27) : parsing [/var/lib/haproxy/conf/haproxy.config:52]: option 'http-use-htx' is deprecated and ignored. The HTX mode is now the only supported mode.\n - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"

Version-Release number of selected component (if applicable):
4.7.0-0.nightly-2020-11-11-220947

How reproducible:
always

Steps to Reproduce:
1. oc -n openshift-ingress logs deployment/router-default
2.


Actual results:
I1112 06:58:34.849354       1 router.go:570] template "msg"="router reloaded"  "output"="[WARNING] 316/065834 (38) : parsing [/var/lib/haproxy/conf/haproxy.config:52]: option 'http-use-htx' is deprecated and ignored. The HTX mode is now the only supported mode.\n - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"

Expected results:
the WARNING message for "http-use-htx" should be removed

Additional info:

Comment 1 Hongan Li 2020-11-12 07:48:51 UTC
# oc -n openshift-ingress rsh router-default-c8c944f77-bmgxw
sh-4.4$ env | grep -i http2
ROUTER_DISABLE_HTTP2=true
sh-4.4$ 
sh-4.4$ haproxy -v
HA-Proxy version 2.2.4-de45672 2020/09/30 - https://haproxy.org/
Status: long-term supported branch - will stop receiving fixes around Q2 2025.
Known bugs: http://www.haproxy.org/bugs/bugs-2.2.4.html
Running on: Linux 4.18.0-193.29.1.el8_2.x86_64 #1 SMP Thu Oct 22 10:09:53 EDT 2020 x86_64
sh-4.4$

Comment 2 Miciah Dashiel Butler Masters 2020-11-12 17:59:31 UTC
Need to investigate whether this affects OCP 4.6, OCP 4.6, and OCP 4.4 with the bump to HAProxy 2.2.

Comment 3 Miciah Dashiel Butler Masters 2020-11-14 00:58:38 UTC
I'll fix this in the upcoming sprint.

Comment 4 Miciah Dashiel Butler Masters 2020-11-17 18:28:44 UTC
(In reply to Miciah Dashiel Butler Masters from comment #2)
> Need to investigate whether this affects OCP 4.6, OCP 4.6, and OCP 4.4 with
> the bump to HAProxy 2.2.

We aren't backporting the change to the Dockerfiles that bumps the HAProxy version, so 4.4, 4.5, and 4.6 should fine fine.  

We need to discuss a solution for 4.7 though.  We have the following options:

1. Add an API to use HAProxy's h1-case-adjust option (unlikely at this point).

2. Revert OCP 4.7 to HAProxy 2.0 (undesirable and just defers the issue to OCP 4.8).

3. Add a release note warning that OCP 4.7 downcases HTTP header names (maybe OCP 4.4, 4.5, and 4.6 provide sufficient time to fix legacy clients and applications).

Comment 5 Miciah Dashiel Butler Masters 2020-12-07 03:30:26 UTC
For OpenShift 4.7, we are resolving this issue by downgrading back to HAProxy 2.0.

We are also introducing a new API in OpenShift 4.7 to make use of HAProxy's h1-case-adjust option:  https://github.com/openshift/enhancements/blob/27ae6cd5a4b51899c80ada244b902363893a8f44/enhancements/ingress/header-case-adjustment.md

This API gives us a path to upgrading to HAPRoxy 2.2.  OpenShift 4.7 will have a release note promoting the new API and advising administrators to configure HTTP header name case adjustments as needed for workloads on their clusters.  Then OpenShift 4.8 will upgrade to HAProxy 2.2, relying on administrators to have configured any required case adjustments.  

With regards to this Bugzilla report, HAProxy is back at version 2.0 now; please verify that the warnings regarding the http-use-htx option are gone.

Comment 6 Hongan Li 2020-12-07 11:32:03 UTC
verified with 4.7.0-0.nightly-2020-12-04-013308 and didn't see the error logs.

sh-4.4$ haproxy -v
HA-Proxy version 2.0.19-aceb6cb 2020/11/06 - https://haproxy.org/

Comment 9 errata-xmlrpc 2021-02-24 15:32:41 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 (Moderate: OpenShift Container Platform 4.7.0 security, bug fix, and enhancement update), 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-2020:5633