Message ID | 20230114092808.3538014-2-odivlad@gmail.com |
---|---|
State | Superseded, archived |
Headers | show |
Series | Add support for OVSDB Relay in OVN SB DB | expand |
Context | Check | Description |
---|---|---|
ovsrobot/apply-robot | warning | apply and check: warning |
ovsrobot/github-robot-_Build_and_Test | success | github build: passed |
ovsrobot/github-robot-_ovn-kubernetes | fail | github build: failed |
Bleep bloop. Greetings Vladislav Odintsov, I am a robot and I have tried out your patch. Thanks for your contribution. I encountered some error that I wasn't expecting. See the details below. checkpatch: WARNING: Line is 100 characters long (recommended limit is 79) #50 FILE: utilities/ovn-ctl:88: OVS_RUNDIR=${OVS_RUNDIR} stop_ovn_daemon ovnsb_relay $DB_SB_RELAY_PIDFILE $DB_SB_RELAY_CTRL_SOCK WARNING: Line is 80 characters long (recommended limit is 79) #153 FILE: utilities/ovn-ctl:937: start_sb_relay_ovsdb start ovn southbound db ovsdb-server relay process WARNING: Line is 82 characters long (recommended limit is 79) #169 FILE: utilities/ovn-ctl:959: restart_sb_relay_ovsdb restart ovn southbound db ovsdb-server relay process WARNING: Line is 89 characters long (recommended limit is 79) #177 FILE: utilities/ovn-ctl:1031: --db-sb-relay-remote Specifies upstream cluster/server remote for ovsdb relay WARNING: Line is 125 characters long (recommended limit is 79) #179 FILE: utilities/ovn-ctl:1033: OVN_Sorthbound db listen on target connection table (default: $DB_SB_RELAY_USE_REMOTE_IN_DB) WARNING: Line is 85 characters long (recommended limit is 79) #188 FILE: utilities/ovn-ctl:1149: --db-sb-relay-sock=SOCKET OVN_IC_Northbound db socket (default: $DB_SB_RELAY_SOCK) WARNING: Line is 97 characters long (recommended limit is 79) #189 FILE: utilities/ovn-ctl:1150: --db-sb-relay-pidfile=FILE OVN_Southbound relay db pidfile (default: $DB_SB_RELAY_CTRL_PIDFILE) WARNING: Line is 105 characters long (recommended limit is 79) #190 FILE: utilities/ovn-ctl:1151: --db-sb-relay-ctrl-sock=SOCKET OVN_Southbound relay db control socket (default: $DB_SB_RELAY_CTRL_SOCK) WARNING: Line is 88 characters long (recommended limit is 79) #193 FILE: utilities/ovn-ctl:1154: --ovn-sb-relay-db-ssl-ca-cert=CERT OVN OVN_Southbound DB relay SSL CA certificate file Lines checked: 230, Warnings: 9, Errors: 0 Please check this out. If you feel there has been an error, please email aconole@redhat.com Thanks, 0-day Robot
On Sat, Jan 14, 2023 at 10:28 AM Vladislav Odintsov <odivlad@gmail.com> wrote: > New ovn-ctl commands were added: > - start_sb_relay_ovsdb > - stop_sb_relay_ovsdb > - restart_sb_relay_ovsdb > > Required configuration parameters are: > --db-sb-relay-remote - needed to supply upstream cluster/server remote. > > Optionally user may pass next parameters: > --db-sb-relay-sock > --db-sb-relay-pidfile > --db-sb-relay-ctrl-sock > --db-sb-relay-use-remote-in-db > --ovn-sb-relay-db-ssl-key > --ovn-sb-relay-db-ssl-cert > --ovn-sb-relay-db-ssl-ca-cert > > Signed-off-by: Vladislav Odintsov <odivlad@gmail.com> > --- > NEWS | 1 + > utilities/ovn-ctl | 56 ++++++++++++++++++++++++++++++++++++++++++++++- > 2 files changed, 56 insertions(+), 1 deletion(-) > > diff --git a/NEWS b/NEWS > index 2e0d54ae6..9aeeac10b 100644 > --- a/NEWS > +++ b/NEWS > @@ -2,6 +2,7 @@ Post v22.12.0 > ------------- > - ovn-controller: Experimental support for co-hosting multiple > controller > instances on the same host. > + - Add ovn-ctl commands for (re)starting/stopping OVSDB relay for OVN SB > DB. > > OVN v22.12.0 - 16 Dec 2022 > -------------------------- > diff --git a/utilities/ovn-ctl b/utilities/ovn-ctl > index 93be9b84b..dc8865abf 100755 > --- a/utilities/ovn-ctl > +++ b/utilities/ovn-ctl > @@ -84,6 +84,10 @@ stop_ic_ovsdb () { > stop_ic_sb_ovsdb > } > > +stop_sb_relay_ovsdb() { > + OVS_RUNDIR=${OVS_RUNDIR} stop_ovn_daemon ovnsb_relay > $DB_SB_RELAY_PIDFILE $DB_SB_RELAY_CTRL_SOCK > +} > + > demote_xx_ovsdb () { > local sync_from_addr=$1 > local sync_from_proto=$2 > @@ -179,6 +183,7 @@ start_ovsdb__() { > local ovn_db_ssl_cert > local ovn_db_ssl_cacert > local ovn_db_election_timer > + local relay_mode > 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 > @@ -205,6 +210,8 @@ start_ovsdb__() { > eval ovn_db_ssl_cert=\$OVN_${DB}_DB_SSL_CERT > eval ovn_db_ssl_cacert=\$OVN_${DB}_DB_SSL_CA_CERT > eval ovn_db_election_timer=\$DB_${DB}_ELECTION_TIMER > + eval relay_mode=\$RELAY_MODE > + eval relay_remote=\$DB_${DB}_REMOTE > > ovn_install_dir "$OVN_RUNDIR" > ovn_install_dir "$ovn_logdir" > @@ -222,6 +229,8 @@ start_ovsdb__() { > mode=active_passive > echo "$sync_from_proto:$sync_from_addr:\ > $sync_from_port" > $active_conf_file > + elif test X"$relay_mode" != Xno; then > + mode=relay > else > mode=standalone > fi > @@ -245,6 +254,8 @@ $cluster_remote_port > else > create_cluster "$file" "$schema" "$local" > "$ovn_db_election_timer" > fi > + elif test $mode = relay; then > + local file="relay:${schema_name}:${relay_remote}" > else > upgrade_db "$file" "$schema" > fi > @@ -332,7 +343,7 @@ $cluster_remote_port > fi > > # Initialize the database if it's NOT joining a cluster. > - if test -z "$cluster_remote_addr"; then > + if test -z "$cluster_remote_addr" && test X$mode != Xrelay; then > $(echo ovn-${db}ctl | tr _ -) --no-leader-only --db="unix:$sock" > init > fi > > @@ -349,6 +360,11 @@ start_nb_ovsdb() { > start_ovsdb__ NB nb OVN_Northbound NB_Global "$OVSDB_NB_WRAPPER" > } > > +start_sb_relay_ovsdb() { > + RELAY_MODE=yes > + start_ovsdb__ SB_RELAY sb-relay OVN_Southbound SB_Global > +} > + > start_sb_ovsdb() { > # Increase the limit on the number of open file descriptors, because > # SB DB may connect to large number of chassises, on top of > connections > @@ -694,6 +710,11 @@ restart_ic_sb_ovsdb () { > start_ic_sb_ovsdb > } > > +restart_sb_relay_ovsdb() { > + stop_sb_relay_ovsdb > + start_sb_relay_ovsdb > +} > + > ## ---- ## > ## main ## > ## ---- ## > @@ -785,6 +806,8 @@ set_defaults () { > OVN_IC_SB_LOG="-vconsole:off -vfile:info" > OVN_IC_NB_LOGFILE="$ovn_logdir/ovsdb-server-ic-nb.log" > OVN_IC_SB_LOGFILE="$ovn_logdir/ovsdb-server-ic-sb.log" > + OVN_SB_RELAY_LOG="-vconsole:emer -vsyslog:err -vfile:info" > + OVN_SB_RELAY_LOGFILE="$ovn_logdir/ovsdb-server-sb-relay.log" > > OVN_CONTROLLER_SSL_KEY="" > OVN_CONTROLLER_SSL_CERT="" > @@ -867,6 +890,15 @@ set_defaults () { > OVN_IC_SB_DB_SSL_CERT="" > OVN_IC_SB_DB_SSL_CA_CERT="" > > + RELAY_MODE=no > + DB_SB_RELAY_REMOTE= > + DB_SB_RELAY_SOCK=$OVN_RUNDIR/ovnsb_relay_db.sock > + DB_SB_RELAY_PIDFILE=$OVN_RUNDIR/ovnsb_relay_db.pid > + DB_SB_RELAY_CTRL_SOCK=$OVN_RUNDIR/ovnsb_relay_db.ctl > + OVN_SB_RELAY_DB_SSL_KEY="" > + OVN_SB_RELAY_DB_SSL_CERT="" > + OVN_SB_RELAY_DB_SSL_CA_CERT="" > + DB_SB_RELAY_USE_REMOTE_IN_DB="yes" > } > > set_option () { > @@ -902,6 +934,7 @@ Commands: > start_ic_sb_ovsdb start ovn ic-southbound db ovsdb-server > process > start_controller start ovn-controller > start_controller_vtep start ovn-controller-vtep > + start_sb_relay_ovsdb start ovn southbound db ovsdb-server relay > process > stop_northd stop ovn-northd > stop_ovsdb stop ovn related ovsdb-server processes > stop_nb_ovsdb stop ovn northbound db ovsdb-server process > @@ -912,6 +945,7 @@ Commands: > stop_ic_sb_ovsdb stop ovn ic-southbound db ovsdb-server > process > stop_controller stop ovn-controller > stop_controller_vtep stop ovn-controller-vtep > + stop_sb_relay_ovsdb stop ovn southbound db ovsdb-server relay > process > restart_northd restart ovn-northd > restart_ovsdb restart ovn related ovsdb-server processes > restart_nb_ovsdb restart ovn northbound db ovsdb-server > process > @@ -922,6 +956,7 @@ Commands: > restart_ic_sb_ovsdb restart ovn ic-southbound db ovsdb-server > process > restart_controller restart ovn-controller > restart_controller_vtep restart ovn-controller-vtep > + restart_sb_relay_ovsdb restart ovn southbound db ovsdb-server > relay process > status_northd status ovs-northd > status_ovsdb status related ovsdb-server processes > status_ic status ovn-ic > @@ -993,6 +1028,10 @@ Options: > processes should be started with > --disable-file-column-diff. > More details in ovsdb(7). (default: no) > + --db-sb-relay-remote Specifies upstream cluster/server remote > for ovsdb relay > + --db-sb-relay-use-remote-in-db=no|yes > + OVN_Sorthbound db listen on target > connection table (default: $DB_SB_RELAY_USE_REMOTE_IN_DB) > + > --ovn-northd-ddlog=yes|no whether we should run the DDlog version > of ovn-northd. The default is "no". > -h, --help display this help message > @@ -1107,6 +1146,12 @@ File location options: > --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) > --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) > + --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) > + --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 > > Default directories with "configure" option and environment variable > override: > logs: /usr/local/var/log/ovn (--with-logdir, OVN_LOGDIR) > @@ -1204,6 +1249,9 @@ case $command in > start_ic_sb_ovsdb) > start_ic_sb_ovsdb > ;; > + start_sb_relay_ovsdb) > + start_sb_relay_ovsdb > + ;; > stop_northd) > stop_northd > ;; > @@ -1234,6 +1282,9 @@ case $command in > stop_ic_sb_ovsdb) > stop_ic_sb_ovsdb > ;; > + stop_sb_relay_ovsdb) > + stop_sb_relay_ovsdb > + ;; > restart_northd) > restart_northd > ;; > @@ -1264,6 +1315,9 @@ case $command in > restart_ic_sb_ovsdb) > restart_ic_sb_ovsdb > ;; > + restart_sb_relay_ovsdb) > + restart_sb_relay_ovsdb > + ;; > status_northd) > daemon_status $OVN_NORTHD_BIN || exit 1 > ;; > -- > 2.36.1 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > Looks good to me, thanks. Reviewed-by: Ales Musil <amusil@redhat.com>
diff --git a/NEWS b/NEWS index 2e0d54ae6..9aeeac10b 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,7 @@ Post v22.12.0 ------------- - ovn-controller: Experimental support for co-hosting multiple controller instances on the same host. + - Add ovn-ctl commands for (re)starting/stopping OVSDB relay for OVN SB DB. OVN v22.12.0 - 16 Dec 2022 -------------------------- diff --git a/utilities/ovn-ctl b/utilities/ovn-ctl index 93be9b84b..dc8865abf 100755 --- a/utilities/ovn-ctl +++ b/utilities/ovn-ctl @@ -84,6 +84,10 @@ stop_ic_ovsdb () { stop_ic_sb_ovsdb } +stop_sb_relay_ovsdb() { + OVS_RUNDIR=${OVS_RUNDIR} stop_ovn_daemon ovnsb_relay $DB_SB_RELAY_PIDFILE $DB_SB_RELAY_CTRL_SOCK +} + demote_xx_ovsdb () { local sync_from_addr=$1 local sync_from_proto=$2 @@ -179,6 +183,7 @@ start_ovsdb__() { local ovn_db_ssl_cert local ovn_db_ssl_cacert local ovn_db_election_timer + local relay_mode 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 @@ -205,6 +210,8 @@ start_ovsdb__() { eval ovn_db_ssl_cert=\$OVN_${DB}_DB_SSL_CERT eval ovn_db_ssl_cacert=\$OVN_${DB}_DB_SSL_CA_CERT eval ovn_db_election_timer=\$DB_${DB}_ELECTION_TIMER + eval relay_mode=\$RELAY_MODE + eval relay_remote=\$DB_${DB}_REMOTE ovn_install_dir "$OVN_RUNDIR" ovn_install_dir "$ovn_logdir" @@ -222,6 +229,8 @@ start_ovsdb__() { mode=active_passive echo "$sync_from_proto:$sync_from_addr:\ $sync_from_port" > $active_conf_file + elif test X"$relay_mode" != Xno; then + mode=relay else mode=standalone fi @@ -245,6 +254,8 @@ $cluster_remote_port else create_cluster "$file" "$schema" "$local" "$ovn_db_election_timer" fi + elif test $mode = relay; then + local file="relay:${schema_name}:${relay_remote}" else upgrade_db "$file" "$schema" fi @@ -332,7 +343,7 @@ $cluster_remote_port fi # Initialize the database if it's NOT joining a cluster. - if test -z "$cluster_remote_addr"; then + if test -z "$cluster_remote_addr" && test X$mode != Xrelay; then $(echo ovn-${db}ctl | tr _ -) --no-leader-only --db="unix:$sock" init fi @@ -349,6 +360,11 @@ start_nb_ovsdb() { start_ovsdb__ NB nb OVN_Northbound NB_Global "$OVSDB_NB_WRAPPER" } +start_sb_relay_ovsdb() { + RELAY_MODE=yes + start_ovsdb__ SB_RELAY sb-relay OVN_Southbound SB_Global +} + start_sb_ovsdb() { # Increase the limit on the number of open file descriptors, because # SB DB may connect to large number of chassises, on top of connections @@ -694,6 +710,11 @@ restart_ic_sb_ovsdb () { start_ic_sb_ovsdb } +restart_sb_relay_ovsdb() { + stop_sb_relay_ovsdb + start_sb_relay_ovsdb +} + ## ---- ## ## main ## ## ---- ## @@ -785,6 +806,8 @@ set_defaults () { OVN_IC_SB_LOG="-vconsole:off -vfile:info" OVN_IC_NB_LOGFILE="$ovn_logdir/ovsdb-server-ic-nb.log" OVN_IC_SB_LOGFILE="$ovn_logdir/ovsdb-server-ic-sb.log" + OVN_SB_RELAY_LOG="-vconsole:emer -vsyslog:err -vfile:info" + OVN_SB_RELAY_LOGFILE="$ovn_logdir/ovsdb-server-sb-relay.log" OVN_CONTROLLER_SSL_KEY="" OVN_CONTROLLER_SSL_CERT="" @@ -867,6 +890,15 @@ set_defaults () { OVN_IC_SB_DB_SSL_CERT="" OVN_IC_SB_DB_SSL_CA_CERT="" + RELAY_MODE=no + DB_SB_RELAY_REMOTE= + DB_SB_RELAY_SOCK=$OVN_RUNDIR/ovnsb_relay_db.sock + DB_SB_RELAY_PIDFILE=$OVN_RUNDIR/ovnsb_relay_db.pid + DB_SB_RELAY_CTRL_SOCK=$OVN_RUNDIR/ovnsb_relay_db.ctl + OVN_SB_RELAY_DB_SSL_KEY="" + OVN_SB_RELAY_DB_SSL_CERT="" + OVN_SB_RELAY_DB_SSL_CA_CERT="" + DB_SB_RELAY_USE_REMOTE_IN_DB="yes" } set_option () { @@ -902,6 +934,7 @@ Commands: start_ic_sb_ovsdb start ovn ic-southbound db ovsdb-server process start_controller start ovn-controller start_controller_vtep start ovn-controller-vtep + start_sb_relay_ovsdb start ovn southbound db ovsdb-server relay process stop_northd stop ovn-northd stop_ovsdb stop ovn related ovsdb-server processes stop_nb_ovsdb stop ovn northbound db ovsdb-server process @@ -912,6 +945,7 @@ Commands: stop_ic_sb_ovsdb stop ovn ic-southbound db ovsdb-server process stop_controller stop ovn-controller stop_controller_vtep stop ovn-controller-vtep + stop_sb_relay_ovsdb stop ovn southbound db ovsdb-server relay process restart_northd restart ovn-northd restart_ovsdb restart ovn related ovsdb-server processes restart_nb_ovsdb restart ovn northbound db ovsdb-server process @@ -922,6 +956,7 @@ Commands: restart_ic_sb_ovsdb restart ovn ic-southbound db ovsdb-server process restart_controller restart ovn-controller restart_controller_vtep restart ovn-controller-vtep + restart_sb_relay_ovsdb restart ovn southbound db ovsdb-server relay process status_northd status ovs-northd status_ovsdb status related ovsdb-server processes status_ic status ovn-ic @@ -993,6 +1028,10 @@ Options: processes should be started with --disable-file-column-diff. More details in ovsdb(7). (default: no) + --db-sb-relay-remote Specifies upstream cluster/server remote for ovsdb relay + --db-sb-relay-use-remote-in-db=no|yes + OVN_Sorthbound db listen on target connection table (default: $DB_SB_RELAY_USE_REMOTE_IN_DB) + --ovn-northd-ddlog=yes|no whether we should run the DDlog version of ovn-northd. The default is "no". -h, --help display this help message @@ -1107,6 +1146,12 @@ File location options: --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) --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) + --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) + --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 Default directories with "configure" option and environment variable override: logs: /usr/local/var/log/ovn (--with-logdir, OVN_LOGDIR) @@ -1204,6 +1249,9 @@ case $command in start_ic_sb_ovsdb) start_ic_sb_ovsdb ;; + start_sb_relay_ovsdb) + start_sb_relay_ovsdb + ;; stop_northd) stop_northd ;; @@ -1234,6 +1282,9 @@ case $command in stop_ic_sb_ovsdb) stop_ic_sb_ovsdb ;; + stop_sb_relay_ovsdb) + stop_sb_relay_ovsdb + ;; restart_northd) restart_northd ;; @@ -1264,6 +1315,9 @@ case $command in restart_ic_sb_ovsdb) restart_ic_sb_ovsdb ;; + restart_sb_relay_ovsdb) + restart_sb_relay_ovsdb + ;; status_northd) daemon_status $OVN_NORTHD_BIN || exit 1 ;;
New ovn-ctl commands were added: - start_sb_relay_ovsdb - stop_sb_relay_ovsdb - restart_sb_relay_ovsdb Required configuration parameters are: --db-sb-relay-remote - needed to supply upstream cluster/server remote. Optionally user may pass next parameters: --db-sb-relay-sock --db-sb-relay-pidfile --db-sb-relay-ctrl-sock --db-sb-relay-use-remote-in-db --ovn-sb-relay-db-ssl-key --ovn-sb-relay-db-ssl-cert --ovn-sb-relay-db-ssl-ca-cert Signed-off-by: Vladislav Odintsov <odivlad@gmail.com> --- NEWS | 1 + utilities/ovn-ctl | 56 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 56 insertions(+), 1 deletion(-)