OVS never emits a message at the "emer" log level, so in practice it is
used to turn off logging to a given facility. This commit renames it to
"off" for clarity, while still accepting the old name.
---
ChangeLog | 5 +++++
CodingStyle | 2 +-
lib/daemon.c | 2 +-
lib/vlog-unixctl.man | 2 +-
lib/vlog.c | 12 +++++++++---
lib/vlog.h | 6 ++----
lib/vlog.man | 2 +-
tests/interface-reconfigure.at | 4 ++--
tests/ovs-vsctl.at | 12 ++++++------
tests/test-reconnect.c | 4 ++--
tests/test-vconn.c | 2 +-
utilities/ovs-appctl.8.in | 2 +-
utilities/ovs-appctl.c | 2 +-
utilities/ovs-ctl.in | 6 +++---
utilities/ovs-vsctl.c | 2 +-
.../etc_xapi.d_plugins_openvswitch-cfg-update | 4 ++--
xenserver/openvswitch-xen.spec | 4 ++--
...ensource_libexec_InterfaceReconfigureVswitch.py | 2 +-
..._lib_xsconsole_plugins-base_XSFeatureVSwitch.py | 4 ++--
.../usr_share_openvswitch_scripts_ovs-xapi-sync | 2 +-
20 files changed, 45 insertions(+), 36 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index eaf4d85..e04f476 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
post v1.1.0
------------------------
+
+ - For clarity, the name of the highest severity log level has been
+ has been changed from "emer" to "off". Configuring a log
+ facility for this level prevents any messages from being logged
+ to it. The old name is still accepted as a synonym.
- The new "-s" option for "ovs-dpctl show" prints packet and byte
counters for each port.
- ovs-vsctl:
diff --git a/CodingStyle b/CodingStyle
index b0aeb4e..3959108 100644
--- a/CodingStyle
+++ b/CodingStyle
@@ -266,7 +266,7 @@ the name of each enum. For example:
/* Logging importance levels. */
#define VLOG_LEVELS \
- VLOG_LEVEL(EMER, LOG_ALERT) \
+ VLOG_LEVEL(OFF, LOG_ALERT) \
VLOG_LEVEL(ERR, LOG_ERR) \
VLOG_LEVEL(WARN, LOG_WARNING) \
VLOG_LEVEL(INFO, LOG_NOTICE) \
diff --git a/lib/daemon.c b/lib/daemon.c
index f4151ab..ef1a24e 100644
--- a/lib/daemon.c
+++ b/lib/daemon.c
@@ -410,7 +410,7 @@ close_standard_fds(void)
}
/* Disable logging to stderr to avoid wasting CPU time. */
- vlog_set_levels(NULL, VLF_CONSOLE, VLL_EMER);
+ vlog_set_levels(NULL, VLF_CONSOLE, VLL_OFF);
}
/* If daemonization is configured, then starts daemonization, by forking and
diff --git a/lib/vlog-unixctl.man b/lib/vlog-unixctl.man
index 5c60a85..838ca60 100644
--- a/lib/vlog-unixctl.man
+++ b/lib/vlog-unixctl.man
@@ -19,7 +19,7 @@ facilities. If it is omitted, \fIfacility\fR defaults to
\fBANY\fR.
The log level for the \fBfile\fR facility has no effect unless
\fB\*(PN\fR was invoked with the \fB\-\-log\-file\fR option.
.IP \(bu
-\fIlevel\fR must be one of \fBemer\fR, \fBerr\fR, \fBwarn\fR,
+\fIlevel\fR must be one of \fBoff\fR, \fBerr\fR, \fBwarn\fR,
\fBinfo\fR, or
\fBdbg\fR, designating the minimum severity of a message for it to be
logged. If it is omitted, \fIlevel\fR defaults to \fBdbg\fR.
diff --git a/lib/vlog.c b/lib/vlog.c
index 279c6e7..d99d71a 100644
--- a/lib/vlog.c
+++ b/lib/vlog.c
@@ -125,7 +125,13 @@ vlog_get_level_name(enum vlog_level level)
enum vlog_level
vlog_get_level_val(const char *name)
{
- return search_name_array(name, level_names, ARRAY_SIZE(level_names));
+ enum vlog_level level;
+
+ level = search_name_array(name, level_names, ARRAY_SIZE(level_names));
+ if (level == VLL_N_LEVELS && !strcasecmp(name, "emer")) {
+ level = VLL_OFF;
+ }
+ return level;
}
/* Returns the name for logging facility 'facility'. */
@@ -186,7 +192,7 @@ update_min_level(struct vlog_module *module)
{
enum vlog_facility facility;
- module->min_level = VLL_EMER;
+ module->min_level = VLL_OFF;
for (facility = 0; facility < VLF_N_FACILITIES; facility++) {
if (log_file || facility != VLF_FILE) {
enum vlog_level level = module->levels[facility];
@@ -699,7 +705,7 @@ vlog_fatal_valist(const struct vlog_module *module_, enum
vlog_level level,
/* Don't log this message to the console to avoid redundancy with the
* message written by the later ovs_fatal_valist(). */
- module->levels[VLF_CONSOLE] = VLL_EMER;
+ module->levels[VLF_CONSOLE] = VLL_OFF;
vlog_valist(module, level, message, args);
ovs_fatal_valist(0, message, args);
diff --git a/lib/vlog.h b/lib/vlog.h
index 1a11f59..5462bc5 100644
--- a/lib/vlog.h
+++ b/lib/vlog.h
@@ -33,7 +33,7 @@ extern "C" {
* The following log levels, in descending order of importance, are enabled by
* default:
*
- * - EMER: Not currently used.
+ * - OFF: Not currently used.
*
* - ERR: A high-level operation or a subsystem failed. Attention is
* warranted.
@@ -50,7 +50,7 @@ extern "C" {
* system, or that would commonly cause too-voluminous log output.
*/
#define VLOG_LEVELS \
- VLOG_LEVEL(EMER, LOG_ALERT) \
+ VLOG_LEVEL(OFF, LOG_ALERT) \
VLOG_LEVEL(ERR, LOG_ERR) \
VLOG_LEVEL(WARN, LOG_WARNING) \
VLOG_LEVEL(INFO, LOG_NOTICE) \
@@ -188,7 +188,6 @@ void vlog_rate_limit(const struct vlog_module *, enum
vlog_level,
* Guaranteed to preserve errno.
*/
#define VLOG_FATAL(...) vlog_fatal(THIS_MODULE, VLL_ERR, __VA_ARGS__)
-#define VLOG_EMER(...) VLOG(VLL_EMER, __VA_ARGS__)
#define VLOG_ERR(...) VLOG(VLL_ERR, __VA_ARGS__)
#define VLOG_WARN(...) VLOG(VLL_WARN, __VA_ARGS__)
#define VLOG_INFO(...) VLOG(VLL_INFO, __VA_ARGS__)
@@ -197,7 +196,6 @@ void vlog_rate_limit(const struct vlog_module *, enum
vlog_level,
/* More convenience macros, for testing whether a given level is enabled in
* THIS_MODULE. When constructing a log message is expensive, this enables it
* to be skipped. */
-#define VLOG_IS_EMER_ENABLED() true
#define VLOG_IS_ERR_ENABLED() vlog_is_enabled(THIS_MODULE, VLL_EMER)
#define VLOG_IS_WARN_ENABLED() vlog_is_enabled(THIS_MODULE, VLL_WARN)
#define VLOG_IS_INFO_ENABLED() vlog_is_enabled(THIS_MODULE, VLL_INFO)
diff --git a/lib/vlog.man b/lib/vlog.man
index a645f3a..993babd 100644
--- a/lib/vlog.man
+++ b/lib/vlog.man
@@ -21,7 +21,7 @@ will not take place unless \fB\-\-log\-file\fR is also
specified (see
below).
.
.IP \(bu
-\fIlevel\fR must be one of \fBemer\fR, \fBerr\fR, \fBwarn\fR,
+\fIlevel\fR must be one of \fBoff\fR, \fBerr\fR, \fBwarn\fR,
\fBinfo\fR, or
\fBdbg\fR, designating the minimum severity of a message for it to be
logged. If it is omitted, \fIlevel\fR defaults to \fBdbg\fR.
diff --git a/tests/interface-reconfigure.at b/tests/interface-reconfigure.at
index 90ca127..f5add09 100644
--- a/tests/interface-reconfigure.at
+++ b/tests/interface-reconfigure.at
@@ -703,7 +703,7 @@ configure_datapath: bridge - xenbr2
configure_datapath: physical - [u'eth2']
configure_datapath: extra ports - []
configure_datapath: extra bonds - []
-/usr/bin/ovs-vsctl --timeout=5 -vANY:console:emer get-fail-mode xenbr2
+/usr/bin/ovs-vsctl --timeout=5 -vANY:console:off get-fail-mode xenbr2
Applying changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
Applying changes to /etc/sysconfig/network configuration
Applying changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
@@ -718,7 +718,7 @@ Applying changes to
/etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
set Bridge xenbr2 fail_mode=secure
remove Bridge xenbr2 other_config disable-in-band
br-set-external-id xenbr2 xs-network-uuids
d08c8749-0c8f-9e8d-ce25-fd364661ee99
-/usr/bin/ovs-vsctl --timeout=5 -vANY:console:emer get interface eth2 ofport
+/usr/bin/ovs-vsctl --timeout=5 -vANY:console:off get interface eth2 ofport
/usr/bin/ovs-ofctl add-flow xenbr2
idle_timeout=0,priority=0,in_port=5,arp,nw_proto=1,actions=local
/usr/bin/ovs-ofctl add-flow xenbr2
idle_timeout=0,priority=0,in_port=local,arp,dl_src=00:15:17:a0:29:80,actions=5
/usr/bin/ovs-ofctl add-flow xenbr2
idle_timeout=0,priority=0,in_port=5,dl_dst=00:15:17:a0:29:80,actions=local
diff --git a/tests/ovs-vsctl.at b/tests/ovs-vsctl.at
index 77911fa..afe716e 100644
--- a/tests/ovs-vsctl.at
+++ b/tests/ovs-vsctl.at
@@ -15,17 +15,17 @@ dnl RUN_OVS_VSCTL(COMMAND, ...)
dnl
dnl Executes each ovs-vsctl COMMAND.
m4_define([RUN_OVS_VSCTL],
- [m4_foreach([command], [$@], [ovs-vsctl --timeout=5 --no-wait
-vreconnect:ANY:emer --db=unix:socket -- command
+ [m4_foreach([command], [$@], [ovs-vsctl --timeout=5 --no-wait
-vreconnect:ANY:off --db=unix:socket -- command
])])
m4_define([RUN_OVS_VSCTL_ONELINE],
- [m4_foreach([command], [$@], [ovs-vsctl --timeout=5 --no-wait
-vreconnect:ANY:emer --db=unix:socket --oneline -- command
+ [m4_foreach([command], [$@], [ovs-vsctl --timeout=5 --no-wait
-vreconnect:ANY:off --db=unix:socket --oneline -- command
])])
dnl RUN_OVS_VSCTL_TOGETHER(COMMAND, ...)
dnl
dnl Executes each ovs-vsctl COMMAND in a single run of ovs-vsctl.
m4_define([RUN_OVS_VSCTL_TOGETHER],
- [ovs-vsctl --timeout=5 --no-wait -vreconnect:ANY:emer --db=unix:socket
--oneline dnl
+ [ovs-vsctl --timeout=5 --no-wait -vreconnect:ANY:off --db=unix:socket
--oneline dnl
m4_foreach([command], [$@], [ -- command])])
dnl CHECK_BRIDGES([BRIDGE, PARENT, VLAN], ...)
@@ -839,19 +839,19 @@ AT_SETUP([unreferenced record warnings])
AT_KEYWORDS([ovs-vsctl])
OVS_VSCTL_SETUP
AT_CHECK(
- [ovs-vsctl -vPATTERN:console:'%c|%p|%m' --timeout=5 --no-wait
-vreconnect:ANY:emer --db=unix:socket \
+ [ovs-vsctl -vPATTERN:console:'%c|%p|%m' --timeout=5 --no-wait
-vreconnect:ANY:off --db=unix:socket \
-- create Bridge name=br0 | $srcdir/uuidfilt.pl],
[0], [<0>
], [vsctl|WARN|applying "create" command to table Bridge without --id option
will have no effect
], [OVS_VSCTL_CLEANUP])
AT_CHECK(
- [ovs-vsctl -vPATTERN:console:'%c|%p|%m' --timeout=5 --no-wait
-vreconnect:ANY:emer --db=unix:socket \
+ [ovs-vsctl -vPATTERN:console:'%c|%p|%m' --timeout=5 --no-wait
-vreconnect:ANY:off --db=unix:socket \
-- --id=@br0 create Bridge name=br0 | $srcdir/uuidfilt.pl],
[0], [<0>
], [vsctl|WARN|row id "@br0" was created but no reference to it was inserted,
so it will not actually appear in the database
], [OVS_VSCTL_CLEANUP])
AT_CHECK(
- [ovs-vsctl -vPATTERN:console:'%c|%p|%m' --timeout=5 --no-wait
-vreconnect:ANY:emer --db=unix:socket \
+ [ovs-vsctl -vPATTERN:console:'%c|%p|%m' --timeout=5 --no-wait
-vreconnect:ANY:off --db=unix:socket \
-- --id=@eth0_iface create Interface name=eth0 \
-- --id=@eth0 create Port name=eth0 interfaces=@eth0_iface \
-- --id=@m0 create Mirror name=m0 output_port=@eth0 \
diff --git a/tests/test-reconnect.c b/tests/test-reconnect.c
index fae0f17..494046c 100644
--- a/tests/test-reconnect.c
+++ b/tests/test-reconnect.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2010 Nicira Networks.
+ * Copyright (c) 2009, 2010, 2011 Nicira Networks.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -47,7 +47,7 @@ main(void)
int old_time;
char line[128];
- vlog_set_levels(&VLM_reconnect, VLF_ANY_FACILITY, VLL_EMER);
+ vlog_set_levels(&VLM_reconnect, VLF_ANY_FACILITY, VLL_OFF);
now = 1000;
reconnect = reconnect_create(now);
diff --git a/tests/test-vconn.c b/tests/test-vconn.c
index 2b14fa8..c21bd6b 100644
--- a/tests/test-vconn.c
+++ b/tests/test-vconn.c
@@ -401,7 +401,7 @@ int
main(int argc, char *argv[])
{
set_program_name(argv[0]);
- vlog_set_levels(NULL, VLF_ANY_FACILITY, VLL_EMER);
+ vlog_set_levels(NULL, VLF_ANY_FACILITY, VLL_OFF);
vlog_set_levels(NULL, VLF_CONSOLE, VLL_DBG);
signal(SIGPIPE, SIG_IGN);
diff --git a/utilities/ovs-appctl.8.in b/utilities/ovs-appctl.8.in
index 04a74dc..55f919c 100644
--- a/utilities/ovs-appctl.8.in
+++ b/utilities/ovs-appctl.8.in
@@ -70,7 +70,7 @@ set the logging levels for all modules. The \fIfacility\fR
may be
system log or to the console, respectively, or \fBANY\fR to set the
logging levels for both facilities. If it is omitted,
\fIfacility\fR defaults to \fBANY\fR. The \fIlevel\fR must be one of
-\fBemer\fR, \fBerr\fR, \fBwarn\fR, \fBinfo\fR, or \fBdbg\fR, designating the
+\fBoff\fR, \fBerr\fR, \fBwarn\fR, \fBinfo\fR, or \fBdbg\fR, designating the
minimum severity of a message for it to be logged. If it is omitted,
\fIlevel\fR defaults to \fBdbg\fR.
.
diff --git a/utilities/ovs-appctl.c b/utilities/ovs-appctl.c
index 88ecfe3..4a9e2d2 100644
--- a/utilities/ovs-appctl.c
+++ b/utilities/ovs-appctl.c
@@ -92,7 +92,7 @@ usage(void)
" Set MODULE and FACILITY log level to LEVEL\n"
" MODULE may be any valid module name or 'ANY'\n"
" FACILITY may be 'syslog', 'console', 'file', or 'ANY'
(default)\n"
- " LEVEL may be 'emer', 'err', 'warn', 'info', or 'dbg'
(default)\n"
+ " LEVEL may be 'off', 'err', 'warn', 'info', or 'dbg'
(default)\n"
" vlog/reopen Make the program reopen its log file\n"
"Other options:\n"
" -h, --help Print this helpful information\n"
diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
index a149905..e4d2b62 100755
--- a/utilities/ovs-ctl.in
+++ b/utilities/ovs-ctl.in
@@ -56,7 +56,7 @@ ovs_vsctl () {
}
ovsdb_tool () {
- ovsdb-tool -vANY:console:emer "$@"
+ ovsdb-tool -vANY:console:off "$@"
}
upgrade_db () {
@@ -152,7 +152,7 @@ start () {
# Start ovsdb-server.
set ovsdb-server "$DB_FILE"
- set "$@" -vANY:CONSOLE:EMER -vANY:SYSLOG:ERR -vANY:FILE:INFO
+ set "$@" -vANY:CONSOLE:OFF -vANY:SYSLOG:ERR -vANY:FILE:INFO
set "$@" --remote=punix:"$DB_SOCK"
set "$@" --remote=db:Open_vSwitch,manager_options
set "$@" --private-key=db:SSL,private_key
@@ -180,7 +180,7 @@ start () {
# Start ovs-vswitchd.
set ovs-vswitchd unix:"$DB_SOCK"
- set "$@" -vANY:CONSOLE:EMER -vANY:SYSLOG:ERR -vANY:FILE:INFO
+ set "$@" -vANY:CONSOLE:OFF -vANY:SYSLOG:ERR -vANY:FILE:INFO
if test X"$MLOCKALL" != Xno; then
set "$@" --mlockall
fi
diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c
index c6fc8a4..952eb7c 100644
--- a/utilities/ovs-vsctl.c
+++ b/utilities/ovs-vsctl.c
@@ -444,7 +444,7 @@ vsctl_fatal(const char *format, ...)
message = xvasprintf(format, args);
va_end(args);
- vlog_set_levels(&VLM_vsctl, VLF_CONSOLE, VLL_EMER);
+ vlog_set_levels(&VLM_vsctl, VLF_CONSOLE, VLL_OFF);
VLOG_ERR("%s", message);
ovs_error(0, "%s", message);
vsctl_exit(EXIT_FAILURE);
diff --git a/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
b/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
index bceccbf..60cd716 100755
--- a/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
+++ b/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
@@ -215,7 +215,7 @@ def setControllerCfg(controller):
"--", "set-manager", 'ssl:' + controller + ':6632'])
def vswitchCfgQuery(action_args):
- cmd = [vsctl, "--timeout=5", "-vANY:console:emer"] + action_args
+ cmd = [vsctl, "--timeout=5", "-vANY:console:off"] + action_args
output = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()
if len(output) == 0 or output[0] == None:
output = ""
@@ -224,7 +224,7 @@ def vswitchCfgQuery(action_args):
return output
def vswitchCfgMod(action_args):
- cmd = [vsctl, "--timeout=5", "-vANY:console:emer"] + action_args
+ cmd = [vsctl, "--timeout=5", "-vANY:console:off"] + action_args
exitcode = subprocess.call(cmd)
if exitcode != 0:
raise XenAPIPlugin.Failure("VSWITCH_CONFIG_MOD_FAILURE",
diff --git a/xenserver/openvswitch-xen.spec b/xenserver/openvswitch-xen.spec
index b959b4a..9a1170e 100644
--- a/xenserver/openvswitch-xen.spec
+++ b/xenserver/openvswitch-xen.spec
@@ -143,11 +143,11 @@ if test ! -e /etc/openvswitch/conf.db; then
install -d -m 755 -o root -g root /etc/openvswitch
# Create ovs-vswitchd config database
- ovsdb-tool -vANY:console:emer create /etc/openvswitch/conf.db \
+ ovsdb-tool -vANY:console:off create /etc/openvswitch/conf.db \
/usr/share/openvswitch/vswitch.ovsschema
# Create initial table in config database
- ovsdb-tool -vANY:console:emer transact /etc/openvswitch/conf.db \
+ ovsdb-tool -vANY:console:off transact /etc/openvswitch/conf.db \
'[{"op": "insert", "table": "Open_vSwitch", "row": {}}]' \
> /dev/null
fi
diff --git a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
index c223e41..31e9b51 100644
--- a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
+++ b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
@@ -721,7 +721,7 @@ class DatapathVswitch(Datapath):
def vswitchCfgQuery(action_args):
cmd = ['%s/usr/bin/ovs-vsctl' % root_prefix(),
- '--timeout=5', '-vANY:console:emer'] + action_args
+ '--timeout=5', '-vANY:console:off'] + action_args
output = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()
if len(output) == 0 or output[0] == None:
output = ""
diff --git a/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py
b/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py
index dab9c77..93532c8 100644
--- a/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py
+++ b/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2010 Citrix Systems Inc.
+# Copyright (c) 2007-2011 Citrix Systems Inc.
# Copyright (c) 2009,2010,2011 Nicira Networks.
#
# This program is free software; you can redistribute it and/or modify
@@ -86,7 +86,7 @@ class VSwitchConfig:
@staticmethod
def Get(action):
try:
- arg = [vsctl, "--timeout=30", "-vANY:console:emer"] +
action.split()
+ arg = [vsctl, "--timeout=30", "-vANY:console:off"] + action.split()
output = ShellPipe(arg).Stdout()
except StandardError, e:
XSLogError("config retrieval error: " + str(e))
diff --git a/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync
b/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync
index 0296621..0263556 100755
--- a/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync
+++ b/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync
@@ -118,7 +118,7 @@ def get_iface_id(if_name, xs_vif_uuid):
return xs_vif_uuid
def call_vsctl(args):
- cmd = [vsctl, "--timeout=30", "-vANY:console:emer"] + args
+ cmd = [vsctl, "--timeout=30", "-vANY:console:off"] + args
exitcode = subprocess.call(cmd)
if exitcode != 0:
s_log.warning("Couldn't call ovs-vsctl")
--
1.7.4.4
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev