NB and SB dbs are handled by separate ovsdb-server processes. The ovsdb-server processes manage dbs based on the schemas for OVN NorthBound and SouthBound. These schemas do not have any Manager Options similar to the Open_vSwitch schema. As a result, for e.g., the frequency of inactivity probes sent to clients from the ovsdb-server cannot be modified.
This patch addresses the above problem by creating independent "conf.db"s for NB and SB. The ovsdb-server process which handles the NB will handle a NB_conf.db as well, ditto for the ovsdb-server that handles the SB. A similar result can be obtained by adding a Manager Table to the NorthBound and SouthBound DBs as well. In such case there would not be a need for a separate "config" database. I'm willing to consider this solution as well pending feedback. Sample Calls for modifying the inactivity probe timeout value: ovs-appctl -t /usr/local/var/run/openvswitch/ovnnb_db.ctl vlog/set any:any:dbg ovs-appctl -t /usr/local/var/run/openvswitch/ovnnb_db.ctl ovsdb-server/list-remotes manager_ip=`ovs-appctl -t /usr/local/var/run/openvswitch/ovnnb_db.ctl ovsdb-server/list-remotes | grep ptcp | awk -F\: '{print $3}'` manager_port=`ovs-appctl -t /usr/local/var/run/openvswitch/ovnnb_db.ctl ovsdb-server/list-remotes | grep ptcp | awk -F\: '{print $2}'` ovs-vsctl --db=unix:/usr/local/var/run/openvswitch/ovnnb_db.sock --no-wait set-manager ptcp:$manager_port:$manager_ip ovs-vsctl --db=unix:/usr/local/var/run/openvswitch/ovnnb_db.sock list Manager manager_uuid=`ovs-vsctl --db=unix:/usr/local/var/run/openvswitch/ovnnb_db.sock list Manager | grep _uuid | awk -F\: '{print $2}'` manager_uuid=${manager_uuid//[[:blank:]]/} ovs-vsctl --db=unix:/usr/local/var/run/openvswitch/ovnnb_db.sock --no-wait set Manager $manager_uuid inactivity_probe=0 ovs-vsctl --db=unix:/usr/local/var/run/openvswitch/ovnnb_db.sock list Manager ovs-vsctl --db=unix:/usr/local/var/run/openvswitch/ovnnb_db.sock --no-wait set Manager $manager_uuid inactivity_probe=5 Signed-off-by: Amitabha Biswas <abis...@us.ibm.com> --- ovn/utilities/ovn-ctl | 21 +++++++++++++++++---- ovn/utilities/ovn-ctl.8.xml | 2 ++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/ovn/utilities/ovn-ctl b/ovn/utilities/ovn-ctl index dad6db6..384d876 100755 --- a/ovn/utilities/ovn-ctl +++ b/ovn/utilities/ovn-ctl @@ -49,22 +49,30 @@ start_ovsdb () { # Check and eventually start ovsdb-server for Northbound DB if ! pidfile_is_running $DB_NB_PID; then upgrade_db "$DB_NB_FILE" "$DB_NB_SCHEMA" 1>/dev/null 2>/dev/null + upgrade_db "$DB_NB_CONF" "$DB_CONF_SCHEMA" 1>/dev/null 2>/dev/null set ovsdb-server - set "$@" --detach $OVN_NB_LOG --log-file=$OVN_NB_LOGFILE --remote=punix:$DB_NB_SOCK --remote=ptcp:$DB_NB_PORT:$DB_NB_ADDR --pidfile=$DB_NB_PID --unixctl=ovnnb_db.ctl + set "$@" --detach $OVN_NB_LOG --log-file=$OVN_NB_LOGFILE \ + --remote=db:Open_vSwitch,Open_vSwitch,manager_options \ + --remote=punix:$DB_NB_SOCK --remote=ptcp:$DB_NB_PORT:$DB_NB_ADDR \ + --pidfile=$DB_NB_PID --unixctl=ovnnb_db.ctl - $@ $DB_NB_FILE + $@ $DB_NB_FILE $DB_NB_CONF fi # Check and eventually start ovsdb-server for Southbound DB if ! pidfile_is_running $DB_SB_PID; then upgrade_db "$DB_SB_FILE" "$DB_SB_SCHEMA" 1>/dev/null 2>/dev/null + upgrade_db "$DB_SB_CONF" "$DB_CONF_SCHEMA" 1>/dev/null 2>/dev/null set ovsdb-server - set "$@" --detach $OVN_SB_LOG --log-file=$OVN_SB_LOGFILE --remote=punix:$DB_SB_SOCK --remote=ptcp:$DB_SB_PORT:$DB_SB_ADDR --pidfile=$DB_SB_PID --unixctl=ovnsb_db.ctl - $@ $DB_SB_FILE + set "$@" --detach $OVN_SB_LOG --log-file=$OVN_SB_LOGFILE \ + --remote=db:Open_vSwitch,Open_vSwitch,manager_options \ + --remote=punix:$DB_SB_SOCK --remote=ptcp:$DB_SB_PORT:$DB_SB_ADDR \ + --pidfile=$DB_SB_PID --unixctl=ovnsb_db.ctl + $@ $DB_SB_FILE $DB_SB_CONF fi } @@ -159,17 +167,20 @@ set_defaults () { DB_NB_SOCK=$rundir/ovnnb_db.sock DB_NB_PID=$rundir/ovnnb_db.pid DB_NB_FILE=$dbdir/ovnnb_db.db + DB_NB_CONF=$dbdir/ovnnb_conf.db DB_NB_ADDR=0.0.0.0 DB_NB_PORT=6641 DB_SB_SOCK=$rundir/ovnsb_db.sock DB_SB_PID=$rundir/ovnsb_db.pid DB_SB_FILE=$dbdir/ovnsb_db.db + DB_SB_CONF=$dbdir/ovnsb_conf.db DB_SB_ADDR=0.0.0.0 DB_SB_PORT=6642 DB_NB_SCHEMA=$datadir/ovn-nb.ovsschema DB_SB_SCHEMA=$datadir/ovn-sb.ovsschema + DB_CONF_SCHEMA=$datadir/vswitch.ovsschema DB_SOCK=$rundir/db.sock DB_CONF_FILE=$dbdir/conf.db @@ -245,7 +256,9 @@ Options: File location options: --db-sock=SOCKET JSON-RPC socket name (default: $DB_SOCK) --db-nb-file=FILE OVN_Northbound db file (default: $DB_NB_FILE) + --db-nb-conf=FILE NB Open_vSwitch conf file (default: $DB_NB_CONF) --db-sb-file=FILE OVN_Southbound db file (default: $DB_SB_FILE) + --db-sb-conf=FILE SB Open_vSwitch conf file (default: $DB_SB_CONF) --db-nb-schema=FILE OVN_Northbound db file (default: $DB_NB_SCHEMA) --db-sb-schema=FILE OVN_Southbound db file (default: $DB_SB_SCHEMA) --db-nb-addr=ADDR OVN Northbound db ptcp address (default: $DB_NB_ADDR) diff --git a/ovn/utilities/ovn-ctl.8.xml b/ovn/utilities/ovn-ctl.8.xml index 89ad934..2dff60e 100644 --- a/ovn/utilities/ovn-ctl.8.xml +++ b/ovn/utilities/ovn-ctl.8.xml @@ -31,7 +31,9 @@ <h1>File location options</h1> <p><code>--db-sock==<var>SOCKET</var></code></p> <p><code>--db-nb-file==<var>FILE</var></code></p> + <p><code>--db-nb-conf==<var>FILE</var></code></p> <p><code>--db-sb-file==<var>FILE</var></code></p> + <p><code>--db-sb-conf==<var>FILE</var></code></p> <p><code>--db-nb-schema==<var>FILE</var></code></p> <p><code>--db-sb-schema==<var>FILE</var></code></p> -- 2.7.4 (Apple Git-66) _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev