From d95e8511eb606262f8c7bd46ca53dccf52c640c9 Mon Sep 17 00:00:00 2001 From: Redouane Kachach Date: Wed, 31 Jul 2024 13:23:13 +0200 Subject: [PATCH] mgr/cephadm: fixing Grafana domain handling it seems that with Grafana 10.4.0 the domain parameter is taken into account while building the final url (earlier versions didn't seem to behave the same way). This change sets the domain to the hostname where Grafana daemon is running instead of '*.lab'. serve_from_sub_path is removed as it's no needed and when add it causes some undesirable redirections that could break monitoring HA. Signed-off-by: Redouane Kachach --- src/pybind/mgr/cephadm/services/monitoring.py | 3 ++- .../mgr/cephadm/templates/services/grafana/grafana.ini.j2 | 5 ++--- src/pybind/mgr/cephadm/tests/test_services.py | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/pybind/mgr/cephadm/services/monitoring.py b/src/pybind/mgr/cephadm/services/monitoring.py index 3a20bbfe485..33a986fed7a 100644 --- a/src/pybind/mgr/cephadm/services/monitoring.py +++ b/src/pybind/mgr/cephadm/services/monitoring.py @@ -97,7 +97,8 @@ class GrafanaService(CephadmService): 'http_port': grafana_port, 'protocol': spec.protocol, 'http_addr': grafana_ip, - 'use_url_prefix': mgmt_gw_enabled + 'use_url_prefix': mgmt_gw_enabled, + 'domain': daemon_spec.host, }) if 'dashboard' in self.mgr.get('mgr_map')['modules'] and spec.initial_admin_password: diff --git a/src/pybind/mgr/cephadm/templates/services/grafana/grafana.ini.j2 b/src/pybind/mgr/cephadm/templates/services/grafana/grafana.ini.j2 index 4d3d11e2083..69569ec7b63 100644 --- a/src/pybind/mgr/cephadm/templates/services/grafana/grafana.ini.j2 +++ b/src/pybind/mgr/cephadm/templates/services/grafana/grafana.ini.j2 @@ -8,15 +8,14 @@ org_role = 'Viewer' {% endif %} [server] - domain = 'bootstrap.storage.lab' + domain = '{{ domain }}' protocol = {{ protocol }} cert_file = /etc/grafana/certs/cert_file cert_key = /etc/grafana/certs/cert_key http_port = {{ http_port }} http_addr = {{ http_addr }} {% if use_url_prefix %} - root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana/ - serve_from_sub_path = true + root_url = %(protocol)s://%(domain)s/grafana/ {% endif %} [snapshots] external_enabled = false diff --git a/src/pybind/mgr/cephadm/tests/test_services.py b/src/pybind/mgr/cephadm/tests/test_services.py index 179f1176059..816d13cb6fa 100644 --- a/src/pybind/mgr/cephadm/tests/test_services.py +++ b/src/pybind/mgr/cephadm/tests/test_services.py @@ -1224,7 +1224,7 @@ class TestMonitoring: org_name = 'Main Org.' org_role = 'Viewer' [server] - domain = 'bootstrap.storage.lab' + domain = 'test' protocol = https cert_file = /etc/grafana/certs/cert_file cert_key = /etc/grafana/certs/cert_key @@ -1332,7 +1332,7 @@ class TestMonitoring: " org_name = 'Main Org.'\n" " org_role = 'Viewer'\n" '[server]\n' - " domain = 'bootstrap.storage.lab'\n" + " domain = 'test'\n" ' protocol = https\n' ' cert_file = /etc/grafana/certs/cert_file\n' ' cert_key = /etc/grafana/certs/cert_key\n' @@ -1394,7 +1394,7 @@ class TestMonitoring: '[users]\n' ' default_theme = light\n' '[server]\n' - " domain = 'bootstrap.storage.lab'\n" + " domain = 'test'\n" ' protocol = https\n' ' cert_file = /etc/grafana/certs/cert_file\n' ' cert_key = /etc/grafana/certs/cert_key\n' -- 2.39.5