From 3d96f79b7401b9a391782b9592547be4d6e4ae56 Mon Sep 17 00:00:00 2001 From: Sebastian Wagner Date: Tue, 17 Aug 2021 12:41:31 +0200 Subject: [PATCH] mgr/cephadm: fix generation of wrong IPv6 urls Signed-off-by: Sebastian Wagner --- src/pybind/mgr/cephadm/services/ingress.py | 3 ++- src/pybind/mgr/cephadm/services/monitoring.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pybind/mgr/cephadm/services/ingress.py b/src/pybind/mgr/cephadm/services/ingress.py index 8a1a4c93875c..4bc9f903e252 100644 --- a/src/pybind/mgr/cephadm/services/ingress.py +++ b/src/pybind/mgr/cephadm/services/ingress.py @@ -5,6 +5,7 @@ import string from typing import List, Dict, Any, Tuple, cast, Optional from ceph.deployment.service_spec import IngressSpec +from mgr_util import build_url from cephadm.utils import resolve_ip from orchestrator import OrchestratorError from cephadm.services.cephadmservice import CephadmDaemonDeploySpec, CephService @@ -226,7 +227,7 @@ class IngressService(CephService): if d.daemon_type == 'haproxy': assert d.ports port = d.ports[1] # monitoring port - script = f'/usr/bin/curl http://{d.ip or "localhost"}:{port}/health' + script = f'/usr/bin/curl {build_url(scheme="http", host=d.ip or "localhost", port=port)}/health' assert script # set state. first host in placement is master all others backups diff --git a/src/pybind/mgr/cephadm/services/monitoring.py b/src/pybind/mgr/cephadm/services/monitoring.py index 0e83ecda35d5..d86c5a8803a6 100644 --- a/src/pybind/mgr/cephadm/services/monitoring.py +++ b/src/pybind/mgr/cephadm/services/monitoring.py @@ -9,7 +9,7 @@ from orchestrator import DaemonDescription from ceph.deployment.service_spec import AlertManagerSpec, ServiceSpec from cephadm.services.cephadmservice import CephadmService, CephadmDaemonDeploySpec from cephadm.services.ingress import IngressSpec -from mgr_util import verify_tls, ServerConfigException, create_self_signed_cert +from mgr_util import verify_tls, ServerConfigException, create_self_signed_cert, build_url logger = logging.getLogger(__name__) @@ -84,7 +84,7 @@ class GrafanaService(CephadmService): assert dd.hostname is not None addr = dd.ip if dd.ip else self._inventory_get_addr(dd.hostname) port = dd.ports[0] if dd.ports else self.DEFAULT_SERVICE_PORT - service_url = 'https://{}:{}'.format(addr, port) + service_url = build_url(scheme='https', host=addr, port=port) self._set_service_url_on_dashboard( 'Grafana', 'dashboard get-grafana-api-url', -- 2.47.3