From e58ca7075f057a40d1098117bd0df16f02cf5197 Mon Sep 17 00:00:00 2001 From: Tatjana Dehler Date: Thu, 7 Jul 2022 17:21:14 +0200 Subject: [PATCH] mgr/dashboard: prevent alert redirect Prevent Alertmanager alerts from being redirected to the active mgr dashboard instance. There are two reasons for it: 1. It doesn't bring any additional benefit. The Alertmanager config includes all available mgr instances - active and passive ones. In case of an alert, it will be sent to all of them. It ensures that the active mgr dashboard will receive the alert in any case. 2. The redirect URL includes the mgr IP and NOT the FQDN. This leads to issues in environments where an SSL certificate is configured and matches the FQDNs, only. Fixes: https://tracker.ceph.com/issues/56401 Signed-off-by: Tatjana Dehler (cherry picked from commit 965005e0789e566ccadce7a326b0e197ab8d7f5f) --- src/pybind/mgr/dashboard/module.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/pybind/mgr/dashboard/module.py b/src/pybind/mgr/dashboard/module.py index 5b2f90ab204d6..946c853f880d6 100644 --- a/src/pybind/mgr/dashboard/module.py +++ b/src/pybind/mgr/dashboard/module.py @@ -517,6 +517,13 @@ class StandbyModule(MgrStandbyModule, CherryPyConfig): def default(self, *args, **kwargs): if module.get_module_option('standby_behaviour', 'redirect') == 'redirect': active_uri = module.get_active_uri() + + if cherrypy.request.path_info.startswith('/api/prometheus_receiver'): + module.log.debug("Suppressed redirecting alert to active '%s'", + active_uri) + cherrypy.response.status = 204 + return None + if active_uri: module.log.info("Redirecting to active '%s'", active_uri) raise cherrypy.HTTPRedirect(active_uri) -- 2.39.5