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

Reply via email to