summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2014-03-19 15:39:51 -0500
committerDan Williams <dcbw@redhat.com>2014-03-25 22:46:59 -0500
commit32670b52647046536f876b974480059a3d2c4c02 (patch)
tree282b076f667be0c314ff8e3be1df168bbd3fed73
parent4515099a3ea35026cd552573049172db903212fe (diff)
downloadNetworkManager-32670b52647046536f876b974480059a3d2c4c02.tar.gz
dcb: ignore fcoeadm success errors like "Connection already created"
$ /usr/sbin/fcoeadm -m fabric -c enp3s0f0 fcoeadm: Connection already created on interface enp3s0f0 Try 'fcoeadm --help' for more information. $ echo $? 3 $ Also now log error output of failed commands instead of only when debug logging is enabled.
-rw-r--r--src/nm-dcb.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/nm-dcb.c b/src/nm-dcb.c
index d29332f781..cef7ed9932 100644
--- a/src/nm-dcb.c
+++ b/src/nm-dcb.c
@@ -315,11 +315,19 @@ run_helper (char **argv, guint which, gpointer user_data, GError **error)
&outmsg, &errmsg, &exit_status, error);
/* Log any stderr output */
if (success && WIFEXITED (exit_status) && WEXITSTATUS (exit_status) && (errmsg || outmsg)) {
- nm_log_dbg (LOGD_DCB, "'%s' failed: '%s'",
- cmdline, (errmsg && strlen (errmsg)) ? errmsg : outmsg);
- g_set_error (error, NM_DCB_ERROR, NM_DCB_ERROR_HELPER_FAILED,
- "Failed to run '%s'", cmdline);
- success = FALSE;
+ gboolean ignore_error = FALSE;
+
+ /* Ignore fcoeadm "success" errors like when FCoE is already set up */
+ if (errmsg && strstr (errmsg, "Connection already created"))
+ ignore_error = TRUE;
+
+ if (ignore_error == FALSE) {
+ nm_log_warn (LOGD_DCB, "'%s' failed: '%s'",
+ cmdline, (errmsg && strlen (errmsg)) ? errmsg : outmsg);
+ g_set_error (error, NM_DCB_ERROR, NM_DCB_ERROR_HELPER_FAILED,
+ "Failed to run '%s'", cmdline);
+ success = FALSE;
+ }
}
g_free (outmsg);
g_free (errmsg);