On Thu, Jan 11, 2024 at 9:49 AM Martin Kalcok <[email protected]> wrote: > > ovn-ctl script currently automatically attempts to perform clustered > database schema upgrade when starting OVN SB or NB clustered > database. To provide more control over this process a > `--db-cluster-schema-upgrade` option is added. > > Default value for this option is `yes`, to preserve current default > behavior. > > To start database without performing schema conversion, user can > provide either `--db-cluster-schema-upgrade=no` option or > `--no-db-cluster-schema-upgrade` flag to the ovn-ctl script. > > Signed-off-by: Martin Kalcok <[email protected]>
LGTM, thanks! Reviewed-by: Frode Nordahl <[email protected]> -- Frode Nordahl > --- > utilities/ovn-ctl | 7 ++++++- > utilities/ovn-ctl.8.xml | 21 +++++++++++++++++++++ > 2 files changed, 27 insertions(+), 1 deletion(-) > > diff --git a/utilities/ovn-ctl b/utilities/ovn-ctl > index 876565c80..50d588358 100755 > --- a/utilities/ovn-ctl > +++ b/utilities/ovn-ctl > @@ -184,6 +184,7 @@ start_ovsdb__() { > local ovn_db_ssl_cacert > local ovn_db_election_timer > local relay_mode > + local cluster_db_upgrade > eval db_pid_file=\$DB_${DB}_PIDFILE > eval cluster_local_addr=\$DB_${DB}_CLUSTER_LOCAL_ADDR > eval cluster_local_port=\$DB_${DB}_CLUSTER_LOCAL_PORT > @@ -212,6 +213,7 @@ start_ovsdb__() { > eval ovn_db_election_timer=\$DB_${DB}_ELECTION_TIMER > eval relay_mode=\$RELAY_MODE > eval relay_remote=\$DB_${DB}_REMOTE > + eval cluster_db_upgrade=\$DB_CLUSTER_SCHEMA_UPGRADE > > ovn_install_dir "$OVN_RUNDIR" > ovn_install_dir "$ovn_logdir" > @@ -347,7 +349,7 @@ $cluster_remote_port > $(echo ovn-${db}ctl | tr _ -) --no-leader-only --db="unix:$sock" init > fi > > - if test $mode = cluster; then > + if test $mode = cluster && test X"$cluster_db_upgrade" = Xyes; then > upgrade_cluster "$schema" "unix:$sock" > fi > > @@ -898,6 +900,8 @@ set_defaults () { > OVN_SB_RELAY_DB_SSL_CERT="" > OVN_SB_RELAY_DB_SSL_CA_CERT="" > DB_SB_RELAY_USE_REMOTE_IN_DB="yes" > + > + DB_CLUSTER_SCHEMA_UPGRADE="yes" > } > > set_option () { > @@ -1148,6 +1152,7 @@ File location options: > --ovn-sb-relay-db-ssl-key=KEY OVN_Southbound DB relay SSL private key file > --ovn-sb-relay-db-ssl-cert=CERT OVN_Southbound DB relay SSL certificate > file > --ovn-sb-relay-db-ssl-ca-cert=CERT OVN OVN_Southbound DB relay SSL CA > certificate file > + --db-cluster-schema-upgrade=yes|no (default: $DB_CLUSTER_SCHEMA_UPGRADE) > > Default directories with "configure" option and environment variable > override: > logs: /usr/local/var/log/ovn (--with-logdir, OVN_LOGDIR) > diff --git a/utilities/ovn-ctl.8.xml b/utilities/ovn-ctl.8.xml > index 01f4aa26b..3bab055e4 100644 > --- a/utilities/ovn-ctl.8.xml > +++ b/utilities/ovn-ctl.8.xml > @@ -156,6 +156,7 @@ > <p><code>--db-ic-sb-cluster-remote-addr=<var>IP ADDRESS</var></code></p> > <p><code>--db-ic-sb-cluster-remote-port=<var>PORT NUMBER</var></code></p> > <p><code>--db-ic-sb-cluster-remote-proto=<var>PROTO > (tcp/ssl)</var></code></p> > + <p><code>--db-cluster-schema-upgrade=<var>yes|no</var></code></p> > > <h1> Probe interval options </h1> > <p><code>--db-nb-probe-interval-to-active=<var>Time in > milliseconds</var></code></p> > @@ -324,4 +325,24 @@ > start_northd > </code> > </p> > + <h2>Avoiding automatic clustered OVN database schema upgrade</h2> > + <p> > + If you desire more control over clustered DB schema upgrade, you can > + opt-out of automatic on-start upgrade attempts with > + <code>--no-db-cluster-schema-upgrade</code>. > + </p> > + <h3>Start OVN NB and SB clustered databases on host with IP x.x.x.x > without schema upgrade</h3> > + <p> > + <code> > + # ovn-ctl start_nb_ovsdb --db-nb-cluster-local-addr=x.x.x.x > --no-db-cluster-schema-upgrade > + # ovn-ctl start_sb_ovsdb --db-sb-cluster-local-addr=x.x.x.x > --no-db-cluster-schema-upgrade > + </code> > + </p> > + <h3>Trigger clustered DB schema upgrade manually</h3> > + <p> > + <code> > + # ovsdb-client convert unix:/var/run/ovn/ovnnb_db.sock > /usr/local/share/ovn/ovn-nb.ovsschema > + # ovsdb-client convert unix:/var/run/ovn/ovnsb_db.sock > /usr/local/share/ovn/ovn-sb.ovsschema > + </code> > + </p> > </manpage> > -- > 2.40.1 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
