Bug 1791277

Summary: Kuryr is forcing DNS over TCP even if octavia supports TCP/UDP listeners on the same port
Product: OpenShift Container Platform Reporter: Luis Tomas Bolivar <ltomasbo>
Component: NetworkingAssignee: Luis Tomas Bolivar <ltomasbo>
Networking sub component: kuryr QA Contact: GenadiC <gcheresh>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: high CC: juriarte
Version: 4.3.0   
Target Milestone: ---   
Target Release: 4.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of:
: 1791278 (view as bug list) Environment:
Last Closed: 2020-05-04 11:24:44 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:
Bug Depends On:    
Bug Blocks: 1791278    

Description Luis Tomas Bolivar 2020-01-15 12:20:50 UTC
Previous version of Octavia did not support TCP and UDP listeners on the same port. That forces Kuryr to only create TCP listeners and to deploy an admission controller that forces created pods to use TCP for DNS resolution by injecting use-vc configuration into their resolv.conf

For the OSP version with a recent octavia version that allows that, this should not be enforced and UDP should be used for DNS resolution

Comment 2 Jon Uriarte 2020-01-27 11:44:15 UTC
Verified in 4.4.0-0.nightly-2020-01-24-141203 build on top of OSP 16 RHOS_TRUNK-16.0-RHEL-8-20191224.n.0 puddle.

The OCP installer finishes successfully:

 $ oc get clusterversion
 NAME      VERSION                             AVAILABLE   PROGRESSING   SINCE   STATUS
 version   4.4.0-0.nightly-2020-01-24-141203   True        False         8m21s   Cluster version is 4.4.0-0.nightly-2020-01-24-141203

There are no kuryr-admission-controller pods any more (for configuring DNS resolution through TCP):

 $ oc get pods -n openshift-kuryr
 NAME                               READY   STATUS    RESTARTS   AGE
 kuryr-cni-9d4k2                    1/1     Running   0          57m
 kuryr-cni-hhc67                    1/1     Running   0          57m
 kuryr-cni-mns86                    1/1     Running   1          89m
 kuryr-cni-nrpjc                    1/1     Running   0          89m
 kuryr-cni-px92t                    1/1     Running   1          89m
 kuryr-cni-v6lwv                    1/1     Running   0          57m
 kuryr-controller-f678bfcdd-fk22f   0/1     Running   4          89m

And both TCP and UDP (on same port) can be used now for DNS resolution:

 $ openstack loadbalancer listener list | grep dns
 | fbf1a2fa-a3ab-4b66-a624-a9109d8b72cf | openshift-dns-operator/metrics:TCP:9393  | 968cd882ee5145d4a3e30b9612b0cae0 | TCP      |          9393 | True           |
 | 40aef1cf-46ec-40e5-b0c6-d5fa8bb8d47a | openshift-dns/dns-default:TCP:53         | 968cd882ee5145d4a3e30b9612b0cae0 | TCP      |            53 | True           |
 | b51d9331-258b-4513-bc42-f5030715985c | openshift-dns/dns-default:TCP:9153       | 968cd882ee5145d4a3e30b9612b0cae0 | TCP      |          9153 | True           |
 | 3ea64dc0-0760-49c8-bb9e-f8e1795849bd | openshift-dns/dns-default:UDP:53         | 968cd882ee5145d4a3e30b9612b0cae0 | UDP      |            53 | True           |

Comment 4 errata-xmlrpc 2020-05-04 11:24:44 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/RHBA-2020:0581