[ovs-dev] [PATCH ovn] ovn-ctl: Add support for ovsdb-server --disable-file-column-diff.

Han Zhou hzhou at ovn.org
Mon Jan 25 23:21:39 UTC 2021


On Mon, Jan 25, 2021 at 2:57 AM Ilya Maximets <i.maximets at ovn.org> wrote:
>
> On 1/25/21 3:11 AM, Han Zhou wrote:
> >
> >
> > On Thu, Jan 21, 2021 at 11:23 AM Ilya Maximets <i.maximets at ovn.org
<mailto:i.maximets at ovn.org>> wrote:
> >>
> >> 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.
> >>
> >> For the upgrade scenario OVS introduced special command line argument
> >> for ovsdb-server: --disable-file-column-diff.
> >> More datails in ovsdb(7) or here:
> >>
https://docs.openvswitch.org/en/latest/ref/ovsdb.7/#upgrading-from-version-2-14-and-earlier-to-2-15-and-later
<
https://docs.openvswitch.org/en/latest/ref/ovsdb.7/#upgrading-from-version-2-14-and-earlier-to-2-15-and-later
>
> >>
> >> In order to support upgrades of OVN databases introducing new option
> >> '--ovsdb-disable-file-column-diff' for ovn-ctl script that will pass
> >> aforementioned argument to ovsdb-server processes.
> >>
> >> To simplify upgrades for users, ovn-ctl will add requested argument
> >> to ovsdb-server only if ovsdb-server actually supports it.
> >>
> >> Signed-off-by: Ilya Maximets <i.maximets at ovn.org <mailto:
i.maximets at ovn.org>>
> >> ---
> >>  NEWS              |  3 +++
> >>  utilities/ovn-ctl | 12 ++++++++++++
> >>  2 files changed, 15 insertions(+)
> >>
> >> diff --git a/NEWS b/NEWS
> >> index e89c5f408..d4619dd74 100644
> >> --- a/NEWS
> >> +++ b/NEWS
> >> @@ -10,6 +10,9 @@ Post-v20.12.0
> >>      "ovn-installed".  This external-id is set by ovn-controller only
after all
> >>      openflow operations corresponding to the OVS interface being
added have
> >>      been processed.
> >> +  - ovn-ctl: Added new command line argument
'--ovsdb-disable-file-column-diff'
> >> +    to support ovsdb-server upgrades from version 2.14 and earlier to
> >> +    2.15 and later.  See ovsdb(7) for more details.
> >>
> >>  OVN v20.12.0 - 18 Dec 2020
> >>  --------------------------
> >> diff --git a/utilities/ovn-ctl b/utilities/ovn-ctl
> >> index 111930886..967db6d6c 100755
> >> --- a/utilities/ovn-ctl
> >> +++ b/utilities/ovn-ctl
> >> @@ -251,6 +251,11 @@ $cluster_remote_port
> >>
> >>      [ "$OVN_USER" != "" ] && set "$@" --user "$OVN_USER"
> >>
> >> +    if test X"$OVSDB_DISABLE_FILE_COLUMN_DIFF" = Xyes; then
> >> +        (ovsdb-server --help | grep -q disable-file-column-diff) \
> >
> > Do we really need this above line? The ovs-ctl tool is part of the OVS
release, so there shouldn't be a situation that ovs-ctl supports this new
option while the ovsdb-server doesn't, right? Of course it is not harmful
either, but we don't handle other options this way.
>
> That is true for ovs-ctl, but this change is for ovN-ctl which is part of
> OVN distribution and could be used with different versions of OVS, e.g
> with 2.13 LTS that doesn't support this option and doesn't need it for
> the upgrade scenario.
>
Ah, my bad. Thanks for explaining.

> > Other than this:
> > Acked-by: Han Zhou <hzhou at ovn.org <mailto:hzhou at ovn.org>>
> >
> >> +            && set "$@" --disable-file-column-diff
> >> +    fi
> >> +
> >>      if test X"$detach" != Xno; then
> >>          set "$@" --detach --monitor
> >>      else
> >> @@ -715,6 +720,8 @@ set_defaults () {
> >>      OVSDB_NB_WRAPPER=
> >>      OVSDB_SB_WRAPPER=
> >>
> >> +    OVSDB_DISABLE_FILE_COLUMN_DIFF=no
> >> +
> >>      OVN_USER=
> >>
> >>      OVN_CONTROLLER_LOG="-vconsole:emer -vsyslog:err -vfile:info"
> >> @@ -932,6 +939,11 @@ Options:
> >>    --ovs-user="user[:group]"      pass the --user flag to ovs daemons
> >>    --ovsdb-nb-wrapper=WRAPPER     run with a wrapper like valgrind for
debugging
> >>    --ovsdb-sb-wrapper=WRAPPER     run with a wrapper like valgrind for
debugging
> >> +  --ovsdb-disable-file-column-diff=no|yes
> >> +                                 Specifies whether or not ovsdb-server
> >> +                                 processes should be started with
> >> +                                 --disable-file-column-diff.
> >> +                                 More details in ovsdb(7).  (default:
no)
> >>    -h, --help                     display this help message
> >>
> >>  File location options:
> >> --
> >> 2.26.2


More information about the dev mailing list