Thanks Numan!

regards,
Vladislav Odintsov

> On 15 May 2024, at 23:55, Numan Siddique <[email protected]> wrote:
> 
> On Fri, May 3, 2024 at 2:05 AM Ales Musil <[email protected]> wrote:
>> 
>>> On Tue, Apr 23, 2024 at 6:43 PM Vladislav Odintsov <[email protected]>
>>> wrote:
>>> 
>>> Since OVS 3.3.0 ovsdb-server accepts databases and remotes configuration
>>> via JSON text file.  This patch adds support for such option.
>>> 
>>> Signed-off-by: Vladislav Odintsov <[email protected]>
> 
> Thanks for the patch.
> 
> I applied this with the below changes
> 
> -------------------------------------------------------------
> diff --git a/utilities/ovn-ctl b/utilities/ovn-ctl
> index fd1ae12567..a4f410e4f7 100755
> --- a/utilities/ovn-ctl
> +++ b/utilities/ovn-ctl
> @@ -1242,8 +1242,7 @@ File location options:
>   --db-sb-relay-sock=SOCKET  OVN_IC_Northbound db socket (default:
> $DB_SB_RELAY_SOCK)
>   --db-sb-relay-pidfile=FILE OVN_Southbound relay db pidfile
> (default: $DB_SB_RELAY_CTRL_PIDFILE)
>   --db-sb-relay-ctrl-sock=SOCKET OVN_Southbound relay db control
> socket (default: $DB_SB_RELAY_CTRL_SOCK)
> -  --db-sb-relay-config-file=FILE OVN_IC_Northbound ovsdb-server
> configuration file
> -                                 Mutually exclusive with
> --db-ic-nb-use-remote-in-db=yes.
> +  --db-sb-relay-config-file=FILE OVN_Southbound relay ovsdb-server
> configuration file.

Oops, copy-paste typo.

>   --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
> diff --git a/utilities/ovn-ctl.8.xml b/utilities/ovn-ctl.8.xml
> index c0fbb0792d..4f21ba4ea3 100644
> --- a/utilities/ovn-ctl.8.xml
> +++ b/utilities/ovn-ctl.8.xml
> @@ -86,6 +86,11 @@
>     <p><code>--db-ic-sb-schema=<var>FILE</var></code></p>
>     <p><code>--db-ic-sb-create-insecure-remote=<var>yes|no</var></code></p>
>     <p><code>--db-ic-nb-create-insecure-remote=<var>yes|no</var></code></p>
> +    <p><code>--db-nb-config-file=<var>FILE</var></code></p>
> +    <p><code>--db-sb-config-file=<var>FILE</var></code></p>
> +    <p><code>--db-ic-nb-config-file=<var>FILE</var></code></p>
> +    <p><code>--db-ic-sb-config-file=<var>FILE</var></code></p>
> +    <p><code>--db-sb-relay-config-file=<var>FILE</var></code></p>
>     <p><code>--ovn-controller-ssl-key=<var>KEY</var></code></p>
>     <p><code>--ovn-controller-ssl-cert=<var>CERT</var></code></p>
>     <p><code>--ovn-controller-ssl-ca-cert=<var>CERT</var></code></p>
> 
> -------------------------------------------------------------
> 
> 
> Numan
> 
>>> ---
>>> NEWS              |  1 +
>>> utilities/ovn-ctl | 39 +++++++++++++++++++++++++++++++++++----
>>> 2 files changed, 36 insertions(+), 4 deletions(-)
>>> 
>>> diff --git a/NEWS b/NEWS
>>> index 9adf6a31c..39ea88d78 100644
>>> --- a/NEWS
>>> +++ b/NEWS
>>> @@ -16,6 +16,7 @@ Post v24.03.0
>>>   - Remove "ovn-set-local-ip" config option from vswitchd
>>>     external-ids, the option is no longer needed as it became effectively
>>>     "true" for all scenarios.
>>> +  - Add support for ovsdb-server `--config-file` option in ovn-ctl.
>>> 
>>> OVN v24.03.0 - 01 Mar 2024
>>> --------------------------
>>> diff --git a/utilities/ovn-ctl b/utilities/ovn-ctl
>>> index dae5e22f4..fd1ae1256 100755
>>> --- a/utilities/ovn-ctl
>>> +++ b/utilities/ovn-ctl
>>> @@ -169,6 +169,7 @@ start_ovsdb__() {
>>>     local sync_from_port
>>>     local file
>>>     local schema
>>> +    local config_file
>>>     local logfile
>>>     local log
>>>     local sock
>>> @@ -199,6 +200,7 @@ start_ovsdb__() {
>>>     eval sync_from_port=\$DB_${DB}_SYNC_FROM_PORT
>>>     eval file=\$DB_${DB}_FILE
>>>     eval schema=\$DB_${DB}_SCHEMA
>>> +    eval config_file=\$DB_${DB}_CONFIG_FILE
>>>     eval logfile=\$OVN_${DB}_LOGFILE
>>>     eval log=\$OVN_${DB}_LOG
>>>     eval sock=\$DB_${DB}_SOCK
>>> @@ -281,7 +283,12 @@ $cluster_remote_port
>>> 
>>>     set ovsdb-server
>>>     set "$@" $log --log-file=$logfile
>>> -    set "$@" --remote=punix:$sock --pidfile=$db_pid_file
>>> +    set "$@" --pidfile=$db_pid_file
>>> +    if test X"$config_file" == X; then
>>> +        set "$@" --remote=punix:$sock
>>> +    else
>>> +        set "$@" --config-file=$config_file
>>> +    fi
>>>     set "$@" --unixctl=$ctrl_sock
>>> 
>>>     [ "$OVN_USER" != "" ] && set "$@" --user "$OVN_USER"
>>> @@ -297,7 +304,7 @@ $cluster_remote_port
>>>         set exec "$@"
>>>     fi
>>> 
>>> -    if test X"$use_remote_in_db" != Xno; then
>>> +    if test X"$use_remote_in_db" != Xno && test X"$config_file" == X; then
>>>         set "$@" --remote=db:$schema_name,$table_name,connections
>>>     fi
>>> 
>>> @@ -343,6 +350,11 @@ $cluster_remote_port
>>> 
>>>     local run_ovsdb_in_bg="no"
>>>     local process_id=
>>> +
>>> +    if test X$config_file = X; then
>>> +        set "$@" "$file"
>>> +    fi
>>> +
>>>     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
>>> @@ -351,10 +363,10 @@ $cluster_remote_port
>>>         # 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"
>>> +        start_wrapped_daemon "$wrapper" ovsdb-$db "" "$@"
>>>     fi
>>> 
>>>     # Initialize the database if it's NOT joining a cluster.
>>> @@ -776,6 +788,7 @@ set_defaults () {
>>>     DB_NB_SYNC_FROM_PORT=6641
>>>     DB_NB_PROBE_INTERVAL_TO_ACTIVE=60000
>>>     DB_NB_ELECTION_TIMER=
>>> +    DB_NB_CONFIG_FILE=
>>> 
>>>     DB_SB_SOCK=$OVN_RUNDIR/ovnsb_db.sock
>>>     DB_SB_PIDFILE=$OVN_RUNDIR/ovnsb_db.pid
>>> @@ -788,6 +801,7 @@ set_defaults () {
>>>     DB_SB_SYNC_FROM_PORT=6642
>>>     DB_SB_PROBE_INTERVAL_TO_ACTIVE=60000
>>>     DB_SB_ELECTION_TIMER=
>>> +    DB_SB_CONFIG_FILE=
>>> 
>>>     DB_IC_NB_SOCK=$OVN_RUNDIR/ovn_ic_nb_db.sock
>>>     DB_IC_NB_PIDFILE=$OVN_RUNDIR/ovn_ic_nb_db.pid
>>> @@ -798,6 +812,7 @@ set_defaults () {
>>>     DB_IC_NB_SYNC_FROM_PROTO=tcp
>>>     DB_IC_NB_SYNC_FROM_ADDR=
>>>     DB_IC_NB_SYNC_FROM_PORT=6645
>>> +    DB_IC_NB_CONFIG_FILE=
>>> 
>>>     DB_IC_SB_SOCK=$OVN_RUNDIR/ovn_ic_sb_db.sock
>>>     DB_IC_SB_PIDFILE=$OVN_RUNDIR/ovn_ic_sb_db.pid
>>> @@ -808,6 +823,7 @@ set_defaults () {
>>>     DB_IC_SB_SYNC_FROM_PROTO=tcp
>>>     DB_IC_SB_SYNC_FROM_ADDR=
>>>     DB_IC_SB_SYNC_FROM_PORT=6646
>>> +    DB_IC_SB_CONFIG_FILE=
>>> 
>>>     DB_NB_SCHEMA=$ovn_datadir/ovn-nb.ovsschema
>>>     DB_SB_SCHEMA=$ovn_datadir/ovn-sb.ovsschema
>>> @@ -951,6 +967,7 @@ set_defaults () {
>>>     OVN_SB_RELAY_DB_SSL_CERT=""
>>>     OVN_SB_RELAY_DB_SSL_CA_CERT=""
>>>     DB_SB_RELAY_USE_REMOTE_IN_DB="yes"
>>> +    DB_SB_RELAY_CONFIG_FILE=
>>> 
>>>     DB_CLUSTER_SCHEMA_UPGRADE="yes"
>>> }
>>> @@ -1124,12 +1141,16 @@ File location options:
>>>   --db-nb-create-insecure-remote=yes|no Create ptcp OVN Northbound remote
>>> (default: $DB_NB_CREATE_INSECURE_REMOTE)
>>>   --db-nb-probe-interval-to-active Active probe interval from standby to
>>> active ovsdb-server remote (default: $DB_NB_PROBE_INTERVAL_TO_ACTIVE)
>>>   --db-nb-election-timer=MS OVN Northbound RAFT db election timer to use
>>> on db creation (in milliseconds)
>>> +  --db-nb-config-file=FILE OVN_Northbound ovsdb-server configuration file
>>> +                           Mutually exclusive with
>>> --db-nb-use-remote-in-db=yes.
>>>   --db-sb-sync-from-addr=ADDR OVN Southbound active db tcp address
>>> (default: $DB_SB_SYNC_FROM_ADDR)
>>>   --db-sb-sync-from-port=ADDR OVN Southbound active db tcp port (default:
>>> $DB_SB_SYNC_FROM_PORT)
>>>   --db-sb-sync-from-proto=PROTO OVN Southbound active db transport
>>> (default: $DB_SB_SYNC_FROM_PROTO)
>>>   --db-sb-create-insecure-remote=yes|no Create ptcp OVN Southbound remote
>>> (default: $DB_SB_CREATE_INSECURE_REMOTE)
>>>   --db-sb-probe-interval-to-active Active probe interval from standby to
>>> active ovsdb-server remote (default: $DB_SB_PROBE_INTERVAL_TO_ACTIVE)
>>>   --db-sb-election-timer=MS OVN Southbound RAFT db election timer to use
>>> on db creation (in milliseconds)
>>> +  --db-sb-config-file=FILE OVN_Southbound ovsdb-server configuration file.
>>> +                           Mutually exclusive with
>>> --db-sb-use-remote-in-db=yes.
>>>   --db-nb-cluster-local-addr=ADDR OVN_Northbound cluster local address \
>>>   (default: $DB_NB_CLUSTER_LOCAL_ADDR)
>>>   --db-nb-cluster-local-port=PORT OVN_Northbound cluster local tcp port \
>>> @@ -1157,7 +1178,9 @@ File location options:
>>>   --ovn-northd-nb-db=NB DB address(es) (default: $OVN_NORTHD_NB_DB)
>>>   --ovn-northd-sb-db=SB DB address(es) (default: $OVN_NORTHD_SB_DB)
>>>   --db-nb-use-remote-in-db=yes|no OVN_Northbound db listen on target
>>> connection table (default: $DB_NB_USE_REMOTE_IN_DB)
>>> +                                  'yes' is mutually exclusive with
>>> --db-nb-config-file.
>>>   --db-sb-use-remote-in-db=yes|no OVN_Southbound db listen on target
>>> connection table (default: $DB_SB_USE_REMOTE_IN_DB)
>>> +                                  'yes' is mutually exclusive with
>>> --db-sb-config-file.
>>>   --db-ic-nb-sock=SOCKET  OVN_IC_Northbound db socket (default:
>>> $DB_IC_NB_SOCK)
>>>   --db-ic-sb-sock=SOCKET  OVN_IC_Southbound db socket (default:
>>> $DB_IC_SB_SOCK)
>>>   --db-ic-nb-file=FILE    OVN_IC_Northbound db file (default:
>>> $DB_IC_NB_FILE)
>>> @@ -1209,10 +1232,18 @@ File location options:
>>>   --ovn-ic-nb-db=IC NB DB address(es) (default: $OVN_IC_NB_DB)
>>>   --ovn-ic-sb-db=IC SB DB address(es) (default: $OVN_IC_SB_DB)
>>>   --db-ic-nb-use-remote-in-db=yes|no OVN_IC_Northbound db listen on
>>> target connection table (default: $DB_IC_NB_USE_REMOTE_IN_DB)
>>> +                                     'yes' is mutually exclusive with
>>> --db-ic-nb-config-file.
>>>   --db-ic-sb-use-remote-in-db=yes|no OVN_IC_Southbound db listen on
>>> target connection table (default: $DB_IC_SB_USE_REMOTE_IN_DB)
>>> +                                     'yes' is mutually exclusive with
>>> --db-ic-sb-config-file.
>>> +  --db-ic-nb-config-file=FILE OVN_IC_Northbound ovsdb-server
>>> configuration file
>>> +                              Mutually exclusive with
>>> --db-ic-nb-use-remote-in-db=yes.
>>> +  --db-ic-sb-config-file=FILE OVN_IC_Southbound ovsdb-server
>>> configuration file
>>> +                              Mutually exclusive with
>>> --db-ic-sb-use-remote-in-db=yes.
>>>   --db-sb-relay-sock=SOCKET  OVN_IC_Northbound db socket (default:
>>> $DB_SB_RELAY_SOCK)
>>>   --db-sb-relay-pidfile=FILE OVN_Southbound relay db pidfile (default:
>>> $DB_SB_RELAY_CTRL_PIDFILE)
>>>   --db-sb-relay-ctrl-sock=SOCKET OVN_Southbound relay db control socket
>>> (default: $DB_SB_RELAY_CTRL_SOCK)
>>> +  --db-sb-relay-config-file=FILE OVN_IC_Northbound ovsdb-server
>>> configuration file
>>> +                                 Mutually exclusive with
>>> --db-ic-nb-use-remote-in-db=yes.
>>>   --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
>>> --
>>> 2.44.0
>>> 
>>> _______________________________________________
>>> dev mailing list
>>> [email protected]
>>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>> 
>>> 
>> Looks good to me, thanks.
>> 
>> Acked-by: Ales Musil <[email protected]>
>> 
>> --
>> 
>> Ales Musil
>> 
>> Senior Software Engineer - OVN Core
>> 
>> Red Hat EMEA <https://www.redhat.com>
>> 
>> [email protected]
>> <https://red.ht/sig>
>> _______________________________________________
>> 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
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to