Bug 1917979

Summary: [OVN] ovn-ctl should have an option to pass --disable-file-column-diff to ovsdb-server
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Ilya Maximets <i.maximets>
Component: OVNAssignee: Ilya Maximets <i.maximets>
Status: CLOSED ERRATA QA Contact: Ehsan Elahi <eelahi>
Severity: medium Docs Contact:
Priority: medium    
Version: FDP 21.BCC: ctrautma, dcbw, nusiddiq
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-15 14:36:03 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: 1908916    

Description Ilya Maximets 2021-01-19 18:52:43 UTC
There is a change of a database file format in OVS version 2.15 that
doesn’t allow older versions of ovsdb-server to read the database file
modified by the ovsdb-server version 2.15 or later.  This also affects
runtime communications between servers in active-backup and cluster
service models.

This means that cluster **upgrade is not safe** without taking extra
steps.  Full upgrade process described here:
  https://docs.openvswitch.org/en/latest/ref/ovsdb.7/#upgrading-from-version-2-14-and-earlier-to-2-15-and-later
This change was implemented in BZ 1906940.
 
OVN setups are using ovn-ctl to start/stop ovsdb-server clusters for
Southbound and Northbound databases, so, according to upgrade
documentation, it should be possible to pass '--disable-file-column-diff'
command line option to ovsdb-server processes via ovn-ctl command line in
order to perform upgrade correctly, e.g.:

  ovn-ctl --ovsdb-disable-file-column-diff <...>

Comment 1 Ilya Maximets 2021-01-22 13:45:32 UTC
Patch sent upstream for review:
https://patchwork.ozlabs.org/project/ovn/patch/20210121192327.418636-1-i.maximets@ovn.org/

Comment 3 Jianlin Shi 2021-02-01 06:18:57 UTC
Verified on 20.12.0-9:

[root@wsfd-advnetlab20 ovs2.15]# rpm -qa | grep -E "openvswitch2.15|ovn2.13"                                                                                                                               
openvswitch2.15-2.15.0-0.1.el7fdp.x86_64
ovn2.13-20.12.0-9.el7fdp.x86_64
ovn2.13-host-20.12.0-9.el7fdp.x86_64
ovn2.13-central-20.12.0-9.el7fdp.x86_64

[root@wsfd-advnetlab20 ovs2.15]# /usr/share/ovn/scripts/ovn-ctl --ovn-northd-nb-db=ptcp:127.0.0.1:6641 --ovn-northd-sb-db=ptcp:127.0.0.1:6642 --ovsdb-disable-file-column-diff=yes start_northd

[root@wsfd-advnetlab20 ovs2.15]# ps aux | grep ovs
root      33720  0.0  0.0  57552  1032 ?        Ss   01:16   0:00 ovsdb-server: monitoring pid 33721 (healthy)
root      33721  0.2  0.0  57824  2592 ?        S    01:16   0:00 ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-nb.log --remote=punix:/var/run/ovn/ovnnb_db.sock --pidfile=/var/run/ovn/ovnnb_db.pid --unixctl=/var/run/ovn/ovnnb_db.ctl --disable-file-column-diff --detach --monitor --remote=db:OVN_Northbound,NB_Global,connections --private-key=db:OVN_Northbound,SSL,private_key --certificate=db:OVN_Northbound,SSL,certificate --ca-cert=db:OVN_Northbound,SSL,ca_cert --ssl-protocols=db:OVN_Northbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Northbound,SSL,ssl_ciphers /etc/ovn/ovnnb_db.db
root      33739  0.0  0.0  57552  1028 ?        Ss   01:16   0:00 ovsdb-server: monitoring pid 33740 (healthy)
root      33740  0.0  0.0  57824  2588 ?        S    01:16   0:00 ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-sb.log --remote=punix:/var/run/ovn/ovnsb_db.sock --pidfile=/var/run/ovn/ovnsb_db.pid --unixctl=/var/run/ovn/ovnsb_db.ctl --disable-file-column-diff --detach --monitor --remote=db:OVN_Southbound,SB_Global,connections --private-key=db:OVN_Southbound,SSL,private_key --certificate=db:OVN_Southbound,SSL,certificate --ca-cert=db:OVN_Southbound,SSL,ca_cert --ssl-protocols=db:OVN_Southbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Southbound,SSL,ssl_ciphers /etc/ovn/ovnsb_db.db

<=== --disable-file-column-diff is set for ovsdb-server

Comment 6 Jianlin Shi 2021-02-23 02:31:34 UTC
set VERIFIED per comment 3

Comment 8 errata-xmlrpc 2021-03-15 14:36:03 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 (ovn2.13 bug fix and enhancement 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:0836