Hide Forgot
Verified in "4.9.0-0.ci.test-2021-10-26-041049-ci-ln-3jsdntt-latest" release. With this payload, it is observed that LB algorithm now defaults to "leastconn" instead of "Random". The "random" algorithm can be invoked using the "unsupportedConfigOverrides" operator option. ----- oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.9.0-0.ci.test-2021-10-26-041049-ci-ln-3jsdntt-latest True False 3m33s Cluster version is 4.9.0-0.ci.test-2021-10-26-041049-ci-ln-3jsdntt-latest From inside the default router: env | grep -i ROUTER_LOAD_BALANCE_ALGORITHM ROUTER_LOAD_BALANCE_ALGORITHM=leastconn Haproxy configuration post deploying a test route: backend be_http:test1:service-unsecure mode http option redispatch option forwardfor balance leastconn <----- timeout check 5000ms http-request add-header X-Forwarded-Host %[req.hdr(host)] http-request add-header X-Forwarded-Port %[dst_port] http-request add-header X-Forwarded-Proto http if !{ ssl_fc } http-request add-header X-Forwarded-Proto https if { ssl_fc } http-request add-header X-Forwarded-Proto-Version h2 if { ssl_fc_alpn -i h2 } http-request add-header Forwarded for=%[src];host=%[req.hdr(host)];proto=%[req.hdr(X-Forwarded-Proto)] cookie e96c07fa08f2609cadf847f019750244 insert indirect nocache httponly server pod:web-server-rc-v5pfs:service-unsecure:http:10.129.2.12:8080 10.129.2.12:8080 cookie 54da8f055054764759dc581cc5af53d7 weight 256 check inter 5000ms server pod:web-server-rc-vffmf:service-unsecure:http:10.131.0.22:8080 10.131.0.22:8080 cookie 228dac422c1912e77ef56e94b8caf1de weight 256 check inter 5000ms Changes after applying the "unsupportedConfigOverrides" option to enable the "random" algorithm: oc -n openshift-ingress-operator patch ingresscontroller/internalapps --type=merge --patch='{"spec":{"unsupportedConfigOverrides":{"loadBalancingAlgorithm":"random"}}}' ingresscontroller.operator.openshift.io/internalapps patched sh-4.4$ env | grep -i ROUTER_LOAD_BALANCE_ALGORITHM ROUTER_LOAD_BALANCE_ALGORITHM=random backend be_http:test1:service-unsecure mode http option redispatch option forwardfor balance random <----- timeout check 5000ms http-request add-header X-Forwarded-Host %[req.hdr(host)] http-request add-header X-Forwarded-Port %[dst_port] http-request add-header X-Forwarded-Proto http if !{ ssl_fc } http-request add-header X-Forwarded-Proto https if { ssl_fc } http-request add-header X-Forwarded-Proto-Version h2 if { ssl_fc_alpn -i h2 } http-request add-header Forwarded for=%[src];host=%[req.hdr(host)];proto=%[req.hdr(X-Forwarded-Proto)] cookie e96c07fa08f2609cadf847f019750244 insert indirect nocache httponly server pod:web-server-rc-v5pfs:service-unsecure:http:10.129.2.12:8080 10.129.2.12:8080 cookie 54da8f055054764759dc581cc5af53d7 weight 256 check inter 5000ms server pod:web-server-rc-vffmf:service-unsecure:http:10.131.0.22:8080 10.131.0.22:8080 cookie 228dac422c1912e77ef56e94b8caf1de weight 256 check inter 5000ms -----
This is a high-severity issue, but I'm marking as blocker- because (1) there is a workaround and (2) the issue in 4.9 also exists in 4.8, and therefore this isn't a regression.
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.9.6 bug fix 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/RHBA-2021:4119