This needs a rebase because commit
413cf9864024c4ef253ea177435161af198d5784 changed the way that the ovsdb
server is started.
On 9/3/20 9:04 AM, [email protected] wrote:
From: Numan Siddique <[email protected]>
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
Signed-off-by: Numan Siddique <[email protected]>
---
utilities/ovn-ctl | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/utilities/ovn-ctl b/utilities/ovn-ctl
index 8afe68a0ad..dee58d9a36 100755
--- a/utilities/ovn-ctl
+++ b/utilities/ovn-ctl
@@ -288,7 +288,19 @@ $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.
+ run_ovsdb_in_bg="yes"
+ "$@" $file &
+ process_id=$!
+ else
+ "$@" $file
+ fi
# Initialize the database if it's NOT joining a cluster.
if test -z "$cluster_remote_addr"; then
@@ -298,6 +310,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() {
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev