[ovs-dev] [PATCH ovn branch-20.03 01/16] ovn-ctl: Handle cluster db upgrades for run_(nb/sb)_ovsdb

Numan Siddique numans at ovn.org
Tue Mar 2 18:35:25 UTC 2021


On Thu, Feb 18, 2021 at 2:21 PM Frode Nordahl
<frode.nordahl at canonical.com> wrote:
>
> From: Numan Siddique <numans at ovn.org>
>
> when ovn-ctl run_(nb_sb)_ovsdb is called, the ovsdb-server is started without
> passing --detach and --monoitor and the process is exec'd.
>
> For cluster mode, upgrade_cluster is never called and hence the dbs are not upraded
> to new schema. CMS has to handle the db upgrade separately.
>
> This patch handles the db upgrade by starting ovsdb-server in background and then
> waits on ovsdb-server to complete.
>
> Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1868392
> Acked-by: Mark Michelson <mmichels at redhat.com>
> Signed-off-by: Numan Siddique <numans at ovn.org>
> (cherry picked from commit 67e2f386cc838d0b0f9b4b5da7fe611e1113b70c)
> Signed-off-by: Frode Nordahl <frode.nordahl at canonical.com>

Hi Frode,

Thanks for the backports to branch-20.03 and branch-20.06

I was able to apply all the patches and backport them to respective branches.
Few of the patches failed while applying. So I cherry-picked those
patches manually.

I also backported the recent bug fixes related to ofctrl code.

Please check out the branches 20.03 and 20.06 and see if they are fine.

All the test cases have passed for me.

Thanks
Numan

> ---
>  utilities/ovn-ctl | 20 +++++++++++++++++++-
>  1 file changed, 19 insertions(+), 1 deletion(-)
>
> diff --git a/utilities/ovn-ctl b/utilities/ovn-ctl
> index c7cb42bc1..7285c0533 100755
> --- a/utilities/ovn-ctl
> +++ b/utilities/ovn-ctl
> @@ -284,7 +284,21 @@ $cluster_remote_port
>          set "$@" --sync-from=`cat $active_conf_file`
>      fi
>
> -    "$@" "$file"
> +    local run_ovsdb_in_bg="no"
> +    local process_id=
> +    if test X$detach = Xno && test $mode = cluster && test -z "$cluster_remote_addr" ; then
> +        # When detach is no (for run_nb_ovsdb/run_sb_ovsdb commands)
> +        # we want to run ovsdb-server in background rather than running it in
> +        # foreground so that the OVN dbs are upgraded for the cluster mode.
> +        # Otherwise, CMS has to take the responsibility of upgrading the dbs.
> +        # Note: We run only the ovsdb-server in backgroud which created the
> +        # cluster (i.e cluster_remote_addr is not set.).
> +        run_ovsdb_in_bg="yes"
> +        "$@" $file &
> +        process_id=$!
> +    else
> +        start_wrapped_daemon "$wrapper" ovsdb-$db "" "$@" "$file"
> +    fi
>
>      # Initialize the database if it's running standalone,
>      # active-passive, or is the first server in a cluster.
> @@ -295,6 +309,10 @@ $cluster_remote_port
>      if test $mode = cluster; then
>          upgrade_cluster "$schema" "unix:$sock"
>      fi
> +
> +    if test $run_ovsdb_in_bg = yes; then
> +        wait $process_id
> +    fi
>  }
>
>  start_nb_ovsdb() {
> --
> 2.30.0
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


More information about the dev mailing list