From 0b8701b9140c6c42d70c11c15c7618341e55f6fa Mon Sep 17 00:00:00 2001 From: Sebastian Wagner Date: Tue, 17 Aug 2021 12:29:58 +0200 Subject: [PATCH] mgr/prometheus: Fix url generation for IPv6 hosts Signed-off-by: Sebastian Wagner --- src/pybind/mgr/prometheus/module.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/pybind/mgr/prometheus/module.py b/src/pybind/mgr/prometheus/module.py index b99aeb752dee5..8b6fe9d31e034 100644 --- a/src/pybind/mgr/prometheus/module.py +++ b/src/pybind/mgr/prometheus/module.py @@ -8,13 +8,11 @@ import re import threading import time from mgr_module import CLIReadCommand, MgrModule, MgrStandbyModule, PG_STATES, Option, ServiceInfoT -from mgr_util import get_default_addr, profile_method +from mgr_util import get_default_addr, profile_method, build_url from rbd import RBD from collections import namedtuple -try: - from typing import DefaultDict, Optional, Dict, Any, Set, cast, Tuple, Union, List -except ImportError: - pass + +from typing import DefaultDict, Optional, Dict, Any, Set, cast, Tuple, Union, List # Defaults for the Prometheus HTTP server. Can also set in config-key # see https://github.com/prometheus/prometheus/wiki/Default-port-allocations @@ -1369,10 +1367,10 @@ class Module(MgrModule): self.STALE_CACHE_RETURN]: self.stale_cache_strategy = self.STALE_CACHE_FAIL - server_addr = self.get_localized_module_option( - 'server_addr', get_default_addr()) - server_port = self.get_localized_module_option( - 'server_port', DEFAULT_PORT) + server_addr = cast(str, self.get_localized_module_option( + 'server_addr', get_default_addr())) + server_port = cast(int, self.get_localized_module_option( + 'server_port', DEFAULT_PORT)) self.log.info( "server_addr: %s server_port: %s" % (server_addr, server_port) @@ -1384,7 +1382,7 @@ class Module(MgrModule): # about to start serving if server_addr in ['::', '0.0.0.0']: server_addr = self.get_mgr_ip() - self.set_uri('http://{0}:{1}/'.format(server_addr, server_port)) + self.set_uri(build_url(scheme='http', host=server_addr, port=server_port)) cherrypy.config.update({ 'server.socket_host': server_addr, -- 2.39.5