Bug 2004269

Summary: [4.8z] external gateway pod deletes may not clean up ECMP routes
Product: OpenShift Container Platform Reporter: Tim Rozet <trozet>
Component: NetworkingAssignee: Tim Rozet <trozet>
Networking sub component: ovn-kubernetes QA Contact: Ross Brattain <rbrattai>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: high CC: aconstan, akaris, bhershbe, dblack, kholtz, rbrattai, surya, zzhao
Version: 4.6Keywords: FastFix
Target Milestone: ---   
Target Release: 4.8.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1978797
: 2005913 (view as bug list) Environment:
Last Closed: 2021-09-27 19:53:12 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: 1978797    
Bug Blocks: 2005913    

Comment 2 Ross Brattain 2021-09-17 02:38:27 UTC
Deleted pod with annotations

    annotations:
      k8s.ovn.org/routing-namespaces: exgw
      k8s.ovn.org/routing-network: blah
      k8s.v1.cni.cncf.io/network-status: '[{"name":"blah","interface":"net1","ips":["fd2e:6f44:5dd8::6a"],"mac":"da:32:0c:8a:42:47","dns":{}}]'

Routes deleted

I0917 02:27:03.790614       1 egressgw.go:52] External gateway pod: testpod1, detected for namespace(s) exgw
I0917 02:27:03.790674       1 egressgw.go:83] Adding routes for external gateway pod: testpod1, next hops: "fd2e:6f44:5dd8::6a", namespace: exgw, bfd-enabled: false
2021-09-17T02:27:03.793Z|32338|unixctl|DBG|received request run["--may-exist","--policy=src-ip","--ecmp-symmetric-reply","--","lr-route-add","GR_master-0-2","fd01:0:0:3::49/128","fd2e:6f44:5dd8::6a"], id=0
2021-09-17T02:27:03.793Z|32339|nbctl|INFO|Running command run --may-exist --policy=src-ip --ecmp-symmetric-reply -- lr-route-add GR_master-0-2 fd01:0:0:3::49/128 fd2e:6f44:5dd8::6a
2021-09-17T02:27:03.793Z|32340|unixctl|DBG|replying with success, id=0: ""

I0917 02:27:03.790614       1 egressgw.go:52] External gateway pod: testpod1, detected for namespace(s) exgw
I0917 02:27:03.790674       1 egressgw.go:83] Adding routes for external gateway pod: testpod1, next hops: "fd2e:6f44:5dd8::6a", namespace: exgw, bfd-enabled: false
2021-09-17T02:27:03.793Z|32338|unixctl|DBG|received request run["--may-exist","--policy=src-ip","--ecmp-symmetric-reply","--","lr-route-add","GR_master-0-2","fd01:0:0:3::49/128","fd2e:6f44:5dd8::6a"], id=0
2021-09-17T02:27:03.793Z|32339|nbctl|INFO|Running command run --may-exist --policy=src-ip --ecmp-symmetric-reply -- lr-route-add GR_master-0-2 fd01:0:0:3::49/128 fd2e:6f44:5dd8::6a
2021-09-17T02:27:03.793Z|32340|unixctl|DBG|replying with success, id=0: ""
I0917 02:27:03.798037       1 egressgw.go:153] Deleting routes for external gateway pod: testpod1, for namespace(s) exgw
2021-09-17T02:27:03.803Z|32341|unixctl|DBG|received request run["--if-exists","--policy=src-ip","--","lr-route-del","GR_master-0-2","fd01:0:0:3::49/128","fd2e:6f44:5dd8::6a"], id=0
2021-09-17T02:27:03.803Z|32342|nbctl|INFO|Running command run --if-exists --policy=src-ip -- lr-route-del GR_master-0-2 fd01:0:0:3::49/128 fd2e:6f44:5dd8::6a
2021-09-17T02:27:03.807Z|32343|unixctl|DBG|replying with success, id=0: ""
2021-09-17T02:27:03.811Z|32344|unixctl|DBG|received request run["--format=csv","--data=bare","--no-headings","--columns=bfd","--","find","Logical_Router_Static_Route","output_port=rtoe-GR_master-0-2","nexthop=\"fd2e:6f44:5dd8::6a\"","bfd!=[]"], id=0
2021-09-17T02:27:03.811Z|32345|nbctl|DBG|Running command run --format=csv --data=bare --no-headings --columns=bfd -- find Logical_Router_Static_Route output_port=rtoe-GR_master-0-2 "nexthop=\"fd2e:6f44:5dd8::6a\"" bfd!=[]
2021-09-17T02:27:03.811Z|32346|unixctl|DBG|replying with success, id=0: ""
I0917 02:27:03.815558       1 egressgw.go:490] Did not find bfd entry for rtoe-GR_master-0-2 fd2e:6f44:5dd8::6a
2021-09-17T02:27:03.814Z|32347|unixctl|DBG|received request run["--format=csv","--data=bare","--no-headings","--columns=_uuid","--","find","BFD","logical_port=rtoe-GR_master-0-2","dst_ip=\"fd2e:6f44:5dd8::6a\""], id=0
2021-09-17T02:27:03.815Z|32348|nbctl|DBG|Running command run --format=csv --data=bare --no-headings --columns=_uuid -- find BFD logical_port=rtoe-GR_master-0-2 "dst_ip=\"fd2e:6f44:5dd8::6a\""
2021-09-17T02:27:03.815Z|32349|unixctl|DBG|replying with success, id=0: ""

Comment 4 Ross Brattain 2021-09-20 10:35:29 UTC
Verified on 4.8.0-0.nightly-2021-09-18-202713


Deleted pod with:

Annotations:  k8s.ovn.org/routing-namespaces: exgw
              k8s.ovn.org/routing-network: blah
              k8s.v1.cni.cncf.io/network-status:
                [{"name":"blah","interface":"net1","ips":["172.31.249.174", "192.168.15.5"],"mac":"da:32:0c:8a:42:47","dns":{}}]


I0920 10:28:09.558354       1 egressgw.go:153] Deleting routes for external gateway pod: testpod1, for namespace(s) exgw
2021-09-20T10:28:09.561Z|01341|unixctl|DBG|received request run["--if-exists","--policy=src-ip","--","lr-route-del","GR_ip-10-0-180-61-2.compute.internal","10.128.10.18/32","172.31.249.174] id=0
2021-09-20T10:28:09.561Z|01342|nbctl|INFO|Running command run --if-exists --policy=src-ip -- lr-route-del GR_ip-10-0-180-61-2.compute.internal 10.128.10.18/32 172.31.249.174
2021-09-20T10:28:09.565Z|01343|unixctl|DBG|replying with success, id=0: ""
2021-09-20T10:28:09.568Z|01344|unixctl|DBG|received request run["--format=csv","--data=bare","--no-headings","--columns=bfd","--","find","Logical_Router_Static_Route","output_port=rtoe-GR_ip-10-0-180-61-2.compute.internal","nexthop=\"172.31.249.174\"","bfd!=[] i>
2021-09-20T10:28:09.568Z|01345|nbctl|DBG|Running command run --format=csv --data=bare --no-headings --columns=bfd -- find Logical_Router_Static_Route output_port=rtoe-GR_ip-10-0-180-61-2.compute.internal "nexthop=\"172.31.249.174\"" bfd!=[]
2021-09-20T10:28:09.569Z|01346|unixctl|DBG|replying with success, id=0: ""
I0920 10:28:09.574851       1 egressgw.go:490] Did not find bfd entry for rtoe-GR_ip-10-0-180-61-2.compute.internal 172.31.249.174
2021-09-20T10:28:09.574Z|01347|unixctl|DBG|received request run["--format=csv","--data=bare","--no-headings","--columns=_uuid","--","find","BFD","logical_port=rtoe-GR_ip-10-0-180-61-2.compute.internal","dst_ip=\"172.31.249.174\] id=0
2021-09-20T10:28:09.574Z|01348|nbctl|DBG|Running command run --format=csv --data=bare --no-headings --columns=_uuid -- find BFD logical_port=rtoe-GR_ip-10-0-180-61-2.compute.internal "dst_ip=\"172.31.249.174\""
2021-09-20T10:28:09.574Z|01349|unixctl|DBG|replying with success, id=0: ""
2021-09-20T10:28:09.577Z|01350|unixctl|DBG|received request run["--if-exists","--policy=src-ip","--","lr-route-del","GR_ip-10-0-180-61-2.compute.internal","10.128.10.18/32","192.168.15.5] id=0
2021-09-20T10:28:09.577Z|01351|nbctl|INFO|Running command run --if-exists --policy=src-ip -- lr-route-del GR_ip-10-0-180-61-2.compute.internal 10.128.10.18/32 192.168.15.5
2021-09-20T10:28:09.580Z|01352|unixctl|DBG|replying with success, id=0: ""
2021-09-20T10:28:09.584Z|01353|unixctl|DBG|received request run["--format=csv","--data=bare","--no-headings","--columns=bfd","--","find","Logical_Router_Static_Route","output_port=rtoe-GR_ip-10-0-180-61-2.compute.internal","nexthop=\"192.168.15.5\"","bfd!=[] id=>
2021-09-20T10:28:09.584Z|01354|nbctl|DBG|Running command run --format=csv --data=bare --no-headings --columns=bfd -- find Logical_Router_Static_Route output_port=rtoe-GR_ip-10-0-180-61-2.compute.internal "nexthop=\"192.168.15.5\"" bfd!=[]
2021-09-20T10:28:09.584Z|01355|unixctl|DBG|replying with success, id=0: ""
2021-09-20T10:28:09.588Z|01356|unixctl|DBG|received request run["--format=csv","--data=bare","--no-headings","--columns=_uuid","--","find","BFD","logical_port=rtoe-GR_ip-10-0-180-61-2.compute.internal","dst_ip=\"192.168.15.5\] id=0
2021-09-20T10:28:09.588Z|01357|nbctl|DBG|Running command run --format=csv --data=bare --no-headings --columns=_uuid -- find BFD logical_port=rtoe-GR_ip-10-0-180-61-2.compute.internal "dst_ip=\"192.168.15.5\""
2021-09-20T10:28:09.588Z|01358|unixctl|DBG|replying with success, id=0: ""

Comment 7 errata-xmlrpc 2021-09-27 19:53:12 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 (OpenShift Container Platform 4.8.13 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:3632