From e659973bfe4aa86edd21fc0123643861f23b6034 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Mon, 7 Nov 2016 15:42:33 +0100 Subject: [PATCH] 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). --- src/server.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/server.c b/src/server.c index 11add3c61..3aeb557bf 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)",