From: Willy Tarreau Date: Mon, 7 Nov 2016 14:42:33 +0000 (+0100) Subject: MINOR: server: indicate in the logs when RMAINT is cleared X-Git-Tag: v1.7-dev6~32 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e659973bfe4aa86edd21fc0123643861f23b6034;p=thirdparty%2Fhaproxy.git MINOR: server: indicate in the logs when RMAINT is cleared It's important to report in the server state change logs that RMAINT was cleared, as it's not the regular maintenance mode, it's specific to name resolution, and it's important to report the new state (which can be DRAIN or READY). --- diff --git a/src/server.c b/src/server.c index 11add3c610..3aeb557bf0 100644 --- a/src/server.c +++ b/src/server.c @@ -549,6 +549,18 @@ void srv_clr_admin_flag(struct server *s, enum srv_admin mode) Warning("%s.\n", trash.str); send_log(s->proxy, LOG_NOTICE, "%s.\n", trash.str); } + if (mode & SRV_ADMF_RMAINT) { + chunk_printf(&trash, + "%sServer %s/%s ('%s') resolves again but remains in maintenance", + s->flags & SRV_F_BACKUP ? "Backup " : "", + s->proxy->id, s->id, s->hostname); + + if (s->track) /* normally it's mandatory here */ + chunk_appendf(&trash, " via %s/%s", + s->track->proxy->id, s->track->id); + Warning("%s.\n", trash.str); + send_log(s->proxy, LOG_NOTICE, "%s.\n", trash.str); + } else if (mode & SRV_ADMF_IMAINT) { chunk_printf(&trash, "%sServer %s/%s remains in forced maintenance", @@ -629,6 +641,14 @@ void srv_clr_admin_flag(struct server *s, enum srv_admin mode) (s->state == SRV_ST_STOPPED) ? "DOWN" : "UP", (s->admin & SRV_ADMF_DRAIN) ? "DRAIN" : "READY"); } + else if (mode & SRV_ADMF_RMAINT) { + chunk_printf(&trash, + "%sServer %s/%s ('%s') is %s/%s (resolves again)", + s->flags & SRV_F_BACKUP ? "Backup " : "", + s->proxy->id, s->id, s->hostname, + (s->state == SRV_ST_STOPPED) ? "DOWN" : "UP", + (s->admin & SRV_ADMF_DRAIN) ? "DRAIN" : "READY"); + } else { chunk_printf(&trash, "%sServer %s/%s is %s/%s (leaving maintenance)",