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 <...>
Patch sent upstream for review: https://patchwork.ozlabs.org/project/ovn/patch/20210121192327.418636-1-i.maximets@ovn.org/
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
set VERIFIED per comment 3
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