Bug 1807638

Summary: [4.5]Minimize disruption of new and existing connections while OVS is being upgraded
Product: OpenShift Container Platform Reporter: Clayton Coleman <ccoleman>
Component: NetworkingAssignee: Aniket Bhat <anbhat>
Networking sub component: openshift-sdn QA Contact: zhaozhanqi <zzhao>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: unspecified CC: anbhat, igreen, markus.frahm, pamoedom
Version: 4.4   
Target Milestone: ---   
Target Release: 4.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of:
: 1807648 (view as bug list) Environment:
Last Closed: 2020-07-13 17:21:42 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: 1807648    

Description Clayton Coleman 2020-02-26 19:53:40 UTC
During OVS shutdown and startup new and reused connections are being impacted (in upgrade).

We should attempt to preserve all existing flows in the kernel while the OVS daemon is offline, and during startup avoid clearing those flows.

While this does not completely mitigate dropped / failed connections while OVS is upgrading, it dramatically reduces the amount of time user applications are impacted both by upgrades or by unexpected disruption (an OOM kill or OVS crash). Future changes will build on this to try to make OVS upgrade completely transparent to end user applications.

Known gaps:

ARP flows are potentially still being lost for new connections (workarounds being investigated with OVS team).

After testing in 4.5, we will consider back porting this to all active releases.

Comment 3 zhaozhanqi 2020-03-06 08:46:24 UTC
run this on 4.5.0-0.nightly-2020-03-05-190442

seems this not work well using the current version, see following:

#oc rsh -n openshift-sdn ovs-c9mmk
sh-4.2#/usr/share/openvswitch/scripts/ovs-save save-flows br0
ovs-ofctl add-tlv-map br0 '2020-03-06T08:38:41Z|00001|vconn|WARN|unix:/var/run/openvswitch/br0.mgmt: version negotiation failed (we support version 0x01, peer supports version 0x04)
ovs-ofctl: br0: failed to connect to socket (Broken pipe)
'
ovs-ofctl -O OpenFlow13 add-groups br0               "/tmp/ovs-save.Nk93bxOLHn/br0.groups.dump" 
ovs-ofctl -O OpenFlow13 replace-flows br0               "/tmp/ovs-save.Nk93bxOLHn/br0.flows.dump" 
rm -rf "/tmp/ovs-save.Nk93bxOLHn"

Comment 6 zhaozhanqi 2020-04-01 07:37:24 UTC
verified this bug on 4.5.0-0.nightly-2020-04-01-015139

Comment 7 Tomas Smetana 2020-05-26 13:29:25 UTC
*** Bug 1803188 has been marked as a duplicate of this bug. ***

Comment 9 errata-xmlrpc 2020-07-13 17:21:42 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

Comment 12 Red Hat Bugzilla 2023-09-14 05:53:27 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days