On Tue, Jul 19, 2016 at 12:21 AM, Amitabha Biswas <azbis...@gmail.com> wrote: > 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>
Thanks for pushing this out! This addresses a concern we've seen when overwhelming the NB DB with Neutron and getting timeouts, and being able to configure the probe timeout value like this would help us to fine tune it in a running system. This version looks ok, but before Acking, I think the broader community should discuss if this approach is better vs. adding the "Manager Table" to the NB and SB DBs. Thanks, Kyle > --- > 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 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev