Bug 1866575
| Summary: | Default spec.httpHeaders.uniqueId.format value breaks HAProxy | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | Miciah Dashiel Butler Masters <mmasters> |
| Component: | Networking | Assignee: | Miciah Dashiel Butler Masters <mmasters> |
| Networking sub component: | router | QA Contact: | Arvind iyengar <aiyengar> |
| Status: | CLOSED ERRATA | Docs Contact: | |
| Severity: | high | ||
| Priority: | unspecified | CC: | aiyengar, aos-bugs, bperkins, hongli |
| Version: | 4.6 | ||
| Target Milestone: | --- | ||
| Target Release: | 4.6.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: | 2020-10-27 16:25:22 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: | |||
The PR merged and made into "4.6.0-0.nightly-2020-08-10-200500". With this payload, the configuration files gets generated properly:
- Payload version:
---
$ oc get clusterversion
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS
version 4.6.0-0.nightly-2020-08-10-200500 True False 24h Cluster version is 4.6.0-0.nightly-2020-08-10-200500
- spec configuration:
-----
$ oc -n openshift-ingress-operator get ingresscontroller internalapps -o yaml | grep -i "spec" -A6
spec:
domain: internalapps.oc46-1108-patched.qe.devcluster.openshift.com
endpointPublishingStrategy:
type: NodePortService
httpHeaders:
uniqueId:
name: abcd
-----
- Inside the router:
----
$ cat haproxy.config | grep -i unique
unique-id-format "%{+X}o %ci:%cp_%fi:%fp_%Ts_%rt:%pid"
unique-id-header abcd
----
- Router logs:
----
$ oc -n openshift-ingress logs deployment/router-internalapps -c router --tail 10
I0812 04:47:49.947269 1 router.go:566] template "msg"="router reloaded" "output"=" - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"
I0812 04:48:00.209896 1 router.go:566] template "msg"="router reloaded" "output"=" - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"
I0812 04:48:05.190617 1 router.go:566] template "msg"="router reloaded" "output"=" - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"
I0812 04:49:42.086777 1 router.go:566] template "msg"="router reloaded" "output"=" - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"
I0812 04:49:47.072492 1 router.go:566] template "msg"="router reloaded" "output"=" - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"
I0812 04:49:52.068477 1 router.go:566] template "msg"="router reloaded" "output"=" - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"
I0812 04:49:57.075789 1 router.go:566] template "msg"="router reloaded" "output"=" - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"
I0812 04:50:05.941089 1 router.go:566] template "msg"="router reloaded" "output"=" - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"
I0812 04:50:10.943427 1 router.go:566] template "msg"="router reloaded" "output"=" - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"
I0812 04:50:15.940164 1 router.go:566] template "msg"="router reloaded" "output"=" - Checking http://localhost:80 ...\n - Health check ok : 0 retry attempt(s).\n"
----
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 (OpenShift Container Platform 4.6 GA Images), 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/RHBA-2020:4196 |
Description of problem: Creating a IngressController that specifies spec.httpHeaders.uniqueId.name and omits spec.httpHeaders.uniqueId.format produces an invalid HAProxy configuration. Version-Release number of selected component (if applicable): 4.6.0-0.ci-2020-08-05-165313 How reproducible: 100%. Steps to Reproduce: 1. Create a new IngressController that specifies spec.httpHeaders.uniqueId.name and omits spec.httpHeaders.uniqueId.format: % oc create -f - <<'EOF' apiVersion: operator.openshift.io/v1 kind: IngressController metadata: name: uniqueid namespace: openshift-ingress-operator spec: replicas: 1 domain: abc.com endpointPublishingStrategy: type: Private httpHeaders: uniqueId: name: foo EOF 2. Check the logs for the router deployment created by Step 1: % oc -n openshift-ingress logs -c router deploy/router-uniqueid Actual results: The output of Step 2 reports errors in haproxy.config: I0805 23:23:03.435104 1 template.go:403] router "msg"="starting router" "version"="majorFromGit: \nminorFromGit: \ncommitFromGit: 658c67c\nversionFromGit: v0.0.0-unknown\ngitTreeState: clean\nbuildDate: 2020-08-04T23:40:51Z\n" I0805 23:23:03.437857 1 metrics.go:154] metrics "msg"="router health and metrics port listening on HTTP and HTTPS" "address"="0.0.0.0:1936" I0805 23:23:03.441690 1 reflector.go:175] Starting reflector *v1.Service (30m0s) from github.com/openshift/router/pkg/router/template/service_lookup.go:33 I0805 23:23:03.446518 1 router.go:183] template "msg"="creating a new template router" "writeDir"="/var/lib/haproxy" I0805 23:23:03.446578 1 router.go:259] template "msg"="router will coalesce reloads within an interval of each other" "interval"="5s" I0805 23:23:03.447002 1 router.go:321] template "msg"="watching for changes" "path"="/etc/pki/tls/private" E0805 23:23:03.448368 1 haproxy.go:416] can't scrape HAProxy: dial unix /var/lib/haproxy/run/haproxy.sock: connect: no such file or directory error: error reloading router: exit status 1 [ALERT] 217/232303 (20) : parsing [/var/lib/haproxy/conf/haproxy.config:70] : unique-id-format expects only one argument, don't forget to escape spaces! [ALERT] 217/232303 (20) : parsing [/var/lib/haproxy/conf/haproxy.config:128] : unique-id-format expects only one argument, don't forget to escape spaces! [ALERT] 217/232303 (20) : parsing [/var/lib/haproxy/conf/haproxy.config:167] : unique-id-format expects only one argument, don't forget to escape spaces! [ALERT] 217/232303 (20) : Error(s) found in configuration file : /var/lib/haproxy/conf/haproxy.config [ALERT] 217/232303 (20) : Fatal errors found in configuration. Expected results: The output of Step 2 should not report any errors in haproxy.config.