Add ovn-nb.{db,ovsschema}, ovn-sb.{db,ovsschema}, and vtep.{db,ovsschema} Signed-off-by: William Tu <u9012...@gmail.com> --- utilities/bugtool/ovs-bugtool.in | 63 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+)
diff --git a/utilities/bugtool/ovs-bugtool.in b/utilities/bugtool/ovs-bugtool.in index aa4b567..331d8a6 100755 --- a/utilities/bugtool/ovs-bugtool.in +++ b/utilities/bugtool/ovs-bugtool.in @@ -113,6 +113,15 @@ OPENVSWITCH_DEFAULT_SWITCH = '/etc/default/openvswitch-switch' # Debian OPENVSWITCH_SYSCONFIG_SWITCH = '/etc/sysconfig/openvswitch' # RHEL OPENVSWITCH_CONF_DB = '@DBDIR@/conf.db' OPENVSWITCH_COMPACT_DB = '@DBDIR@/bugtool-compact-conf.db' +OPENVSWITCH_OVNNB_DB = '@DBDIR@/ovnnb.db' +OPENVSWITCH_OVNNB_SCHEMA = '@abs_top_srcdir@/ovn/ovn-nb.ovsschema' +OPENVSWITCH_COMPACT_OVNNB_DB = '@DBDIR@/bugtool-compact-ovnnb.db' +OPENVSWITCH_OVNSB_DB = '@DBDIR@/ovnsb.db' +OPENVSWITCH_OVNSB_SCHEMA = '@abs_top_srcdir@/ovn/ovn-sb.ovsschema' +OPENVSWITCH_COMPACT_OVNSB_DB = '@DBDIR@/bugtool-compact-ovnsb.db' +OPENVSWITCH_VTEP_DB = '@DBDIR@/vtep.db' +OPENVSWITCH_VTEP_SCHEMA = '@abs_top_srcdir@/vtep/vtep.ovsschema' +OPENVSWITCH_COMPACT_VTEP_DB = '@DBDIR@/bugtool-compact-vtep.db' OPENVSWITCH_VSWITCHD_PID = '@RUNDIR@/ovs-vswitchd.pid' VAR_LOG_DIR = '/var/log/' VAR_LOG_CORE_DIR = '/var/log/core' @@ -611,6 +620,8 @@ exclude those logs from the archive. cmd_output(CAP_NETWORK_INFO, [TC, '-s', 'qdisc']) file_output(CAP_NETWORK_INFO, [PROC_NET_SOFTNET_STAT]) + collect_ovnschema() + collect_ovndb() collect_ovsdb() if os.path.exists(OPENVSWITCH_VSWITCHD_PID): cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'show', '-s']) @@ -721,6 +732,7 @@ exclude those logs from the archive. cap_sizes[c]) cleanup_ovsdb() + cleanup_ovndb() return 0 def dump_scsi_hosts(cap): @@ -781,6 +793,57 @@ def dp_list(): return output.getvalue().splitlines() return [] +def collect_ovnschema(): + ovndbs_schema = [OPENVSWITCH_OVNNB_SCHEMA, OPENVSWITCH_OVNSB_SCHEMA, OPENVSWITCH_VTEP_SCHEMA] + for schema in ovndbs_schema: + if not os.path.isfile(schema): + continue + try: + file_output(CAP_NETWORK_STATUS, [schema]) + except OSError, e: + return + +def collect_ovndb(): + ovndbs = [OPENVSWITCH_OVNNB_DB, OPENVSWITCH_OVNSB_DB, OPENVSWITCH_VTEP_DB] + ovndbs_compact = [OPENVSWITCH_COMPACT_OVNNB_DB, + OPENVSWITCH_COMPACT_OVNSB_DB, OPENVSWITCH_COMPACT_VTEP_DB] + + max_size = 10*MB + + for i in xrange(len(ovndbs)): + ovndb = ovndbs[i] + ovndb_compact = ovndbs_compact[i] + + if not os.path.isfile(ovndb): + continue + + try: + if os.path.getsize(ovndb) > max_size: + if os.path.isfile(ovndb_compact): + os.unlink(ovndb_compact) + + output = StringIO.StringIO() + max_time = 5 + procs = [ProcOutput(['ovsdb-tool', 'compact', + ovndb, ovndb_compact], + max_time, output)] + run_procs([procs]) + file_output(CAP_NETWORK_STATUS, [ovndb_compact]) + else: + file_output(CAP_NETWORK_STATUS, [ovndb]) + except OSError, e: + return + +def cleanup_ovndb(): + ovndbs_compact = [OPENVSWITCH_COMPACT_OVNNB_DB, + OPENVSWITCH_COMPACT_OVNSB_DB, OPENVSWITCH_COMPACT_VTEP_DB] + for ovndb_compact in ovndbs_compact: + try: + if os.path.isfile(ovndb_compact): + os.unlink(ovndb_compact) + except: + return + def collect_ovsdb(): if not os.path.isfile(OPENVSWITCH_CONF_DB): return -- 2.5.0 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev