]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: init: report in "haproxy -c" whether there were warnings or not
authorWilly Tarreau <w@1wt.eu>
Wed, 15 Apr 2020 14:06:11 +0000 (16:06 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 15 Apr 2020 14:42:00 +0000 (16:42 +0200)
This helps quickly checking if the config produces any warning. For
this we reuse the "warned" bit field to add a new WARN_ANY bit that is
set by ha_warning(). The rest of the bit field was also cleaned from
unused bits.

doc/management.txt
include/types/global.h
src/haproxy.c
src/log.c

index 4da9a03b041029b413b1c268a9745ff8c9f2ecb6..a1d8c9c91eb60e25362e50937facd006a1bcbf6b 100644 (file)
@@ -193,7 +193,7 @@ list of options is :
 
   -c : only performs a check of the configuration files and exits before trying
     to bind. The exit status is zero if everything is OK, or non-zero if an
-    error is encountered.
+    error is encountered. Presence of warnings will be reported if any.
 
   -d : enable debug mode. This disables daemon mode, forces the process to stay
     in foreground and to show incoming and outgoing events. It is equivalent to
index 82f1011558a001836ea485d6939242f1a8c86cbd..718cfd814877796f3345ab8a94cbf6137b94d086 100644 (file)
@@ -242,13 +242,8 @@ extern int atexit_flag;
 extern unsigned char boot_seed[20];  // per-boot random seed (160 bits initially)
 
 /* bit values to go with "warned" above */
-/* unassigned : 0x00000001 (previously: WARN_BLOCK_DEPRECATED) */
-/* unassigned : 0x00000002 */
-/* unassigned : 0x00000004 (previously: WARN_REDISPATCH_DEPRECATED) */
-/* unassigned : 0x00000008 (previously: WARN_CLITO_DEPRECATED) */
-/* unassigned : 0x00000010 (previously: WARN_SRVTO_DEPRECATED) */
-/* unassigned : 0x00000020 (previously: WARN_CONTO_DEPRECATED) */
-#define WARN_FORCECLOSE_DEPRECATED  0x00000040
+#define WARN_ANY                    0x00000001 /* any warning was emitted */
+#define WARN_FORCECLOSE_DEPRECATED  0x00000002
 
 
 /* to be used with warned and WARN_* */
index 278476c3e216120cb3cf88ceb22b0369ccf19195..359b97093656120f0b9c14c280f3ac65cad25e50 100644 (file)
@@ -2101,6 +2101,9 @@ static void init(int argc, char **argv)
                struct peers *pr;
                struct proxy *px;
 
+               if (warned & WARN_ANY)
+                       qfprintf(stdout, "Warnings were found.\n");
+
                for (pr = cfg_peers; pr; pr = pr->next)
                        if (pr->peers_fe)
                                break;
index 2cac07486e37c181fbe731c4102d67700b96d45e..50b5080c4e80cb55f35868ec7ce71cca28f0a410 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -1123,6 +1123,8 @@ void ha_warning(const char *fmt, ...)
 {
        va_list argp;
 
+       warned |= WARN_ANY;
+
        if (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE)) {
                va_start(argp, fmt);
                print_message("WARNING", fmt, argp);