MCPcopy Create free account
hub / github.com/ceph/ceph / start_server

Method start_server

src/pybind/mgr/prometheus/module.py:2223–2243  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2221 self.log.info('Cache disabled')
2222
2223 def start_server() -> cherrypy.process.servers.ServerAdapter:
2224 server_addr = cast(str, self.get_localized_module_option('server_addr', get_default_addr()))
2225 server_port = cast(int, self.get_localized_module_option('server_port', DEFAULT_PORT))
2226
2227 config, ssl_info, scheme = self.configure()
2228 tree = _cptree.Tree()
2229 tree.mount(Root(), "/", config=config)
2230
2231 # Wait for port to be available before starting (handles standby->active transition)
2232 if not _wait_for_port_available(self.log, server_addr, server_port):
2233 self.log.warning(f'Port {server_port} still in use after waiting, attempting to start anyway')
2234
2235 self.log.info(f'Starting prometheus server on {server_addr}:{server_port}')
2236 adapter, _ = CherryPyMgr.mount(
2237 tree,
2238 'prometheus',
2239 (server_addr, int(server_port)),
2240 ssl_info=ssl_info
2241 )
2242 self.set_uri(build_url(scheme=scheme, host=self.get_server_addr(), port=server_port, path='/'))
2243 return adapter
2244
2245 try:
2246 self.server_adapter = start_server()

Callers

nothing calls this directly

Calls 11

configureMethod · 0.95
get_server_addrMethod · 0.95
get_default_addrFunction · 0.90
build_urlFunction · 0.90
_wait_for_port_availableFunction · 0.85
RootClass · 0.70
mountMethod · 0.45
warningMethod · 0.45
infoMethod · 0.45
set_uriMethod · 0.45

Tested by

no test coverage detected