Bug 1846452

Summary: Kuryr blocks the usage of tcp and udp listeners on the same port for ovn-octavia provider
Product: OpenShift Container Platform Reporter: OpenShift BugZilla Robot <openshift-bugzilla-robot>
Component: NetworkingAssignee: Luis Tomas Bolivar <ltomasbo>
Networking sub component: kuryr QA Contact: GenadiC <gcheresh>
Status: CLOSED ERRATA Docs Contact:
Severity: low    
Priority: medium CC: rlobillo
Version: 4.4   
Target Milestone: ---   
Target Release: 4.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Feature: Not blocking having several listeners (on different protocols) on the same port for ovn-octavia driver. Reason: This was not supported previously on the ovn octavia driver, but now it is supported and there is no need to block it Result: Several listeners on different protocols can be exposed in the same port. This means that we can have, for instance, the dns service to expose port 53 in both tcp and udp protocols when using ovn-octavia
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-07-13 17:43:59 UTC Type: ---
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: 1846396    
Bug Blocks: 1847558    

Description OpenShift BugZilla Robot 2020-06-11 15:38:18 UTC
+++ This bug was initially created as a clone of Bug #1846396 +++

Ovn-octavia provider now supports listeners on the same port
for different protocols and kuryr should not block its usage

Comment 4 rlobillo 2020-06-24 16:42:01 UTC
Verified on OCP4.5.0-0.nightly-2020-06-24-055959 over OSP16 (RHOS_TRUNK-16.0-RHEL-8-20200513.n.1) with OVN.

No admission controllers observed on openshift-kuryr namespace with normal operation:

# openshfit-kuryr namespace:

(overcloud) [stack@undercloud-0 ~]$ oc get all -n openshift-kuryr
NAME                                    READY   STATUS    RESTARTS   AGE
pod/kuryr-cni-74f2p                     1/1     Running   0          22m
pod/kuryr-cni-chp7j                     1/1     Running   0          25m
pod/kuryr-cni-h9rbt                     1/1     Running   0          24m
pod/kuryr-cni-mmjdt                     1/1     Running   0          23m
pod/kuryr-cni-mqh89                     1/1     Running   0          23m
pod/kuryr-cni-q88qs                     1/1     Running   0          24m
pod/kuryr-controller-575d4b686f-cxf9h   1/1     Running   0          25m

NAME                       DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/kuryr-cni   6         6         6       6            6           <none>          104m

NAME                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/kuryr-controller   1/1     1            1           104m

NAME                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/kuryr-controller-575d4b686f   1         1         1       25m
replicaset.apps/kuryr-controller-6b6dc6df9d   0         0         0       104m
(overcloud) [stack@undercloud-0 ~]$ oc get all
NAME                      READY   STATUS    RESTARTS   AGE
pod/demo                  1/1     Running   0          40m
pod/demo-allowed-caller   1/1     Running   0          40m
pod/demo-caller           1/1     Running   0          40m

NAME           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
service/demo   ClusterIP   172.30.90.154   <none>        80/TCP    40m

# test namespace:

(overcloud) [stack@undercloud-0 ~]$ oc get all -n test
NAME                      READY   STATUS    RESTARTS   AGE
pod/demo                  1/1     Running   0          42m
pod/demo-allowed-caller   1/1     Running   0          42m
pod/demo-caller           1/1     Running   0          42m

NAME           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
service/demo   ClusterIP   172.30.90.154   <none>        80/TCP    42m
(overcloud) [stack@undercloud-0 ~]$ oc rsh pod/demo-caller curl 172.30.90.154
demo: HELLO! I AM ALIVE!!!

# OVN-Octavia provider on use:

(overcloud) [stack@undercloud-0 ~]$ openstack loadbalancer provider list
+---------+-------------------------------------------------+
| name    | description                                     |
+---------+-------------------------------------------------+
| amphora | The Octavia Amphora driver.                     |
| octavia | Deprecated alias of the Octavia Amphora driver. |
| ovn     | Octavia OVN driver.                             |
+---------+-------------------------------------------------+

(overcloud) [stack@undercloud-0 ~]$ openstack loadbalancer show test/demo
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| admin_state_up      | True                                 |
| created_at          | 2020-06-24T16:15:00                  |
| description         |                                      |
| flavor_id           | None                                 |
| id                  | d8bf3c32-e109-489e-8229-568256c72a10 |
| listeners           | 9ab7a1a6-23f7-4f52-8b48-33a6c675c31b |
| name                | test/demo                            |
| operating_status    | ONLINE                               |
| pools               | 32e15583-d2a3-4107-9338-7133782fbd29 |
| project_id          | 8c46f20cb5904470bc031b0e456886f0     |
| provider            | ovn                                  |
| provisioning_status | ACTIVE                               |
| updated_at          | 2020-06-24T16:15:19                  |
| vip_address         | 172.30.90.154                        |
| vip_network_id      | 400e219d-3a53-469c-9564-9b8ea31d4676 |
| vip_port_id         | 860eefe2-86e7-40c1-8e4b-6ec2f6c30bed |
| vip_qos_policy_id   | None                                 |
| vip_subnet_id       | 44587d38-563c-4b26-a02f-9d3a325883f5 |
+---------------------+--------------------------------------+

Comment 5 errata-xmlrpc 2020-07-13 17:43:59 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:2409