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
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)
# 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,