diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-23 16:45:17 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-23 16:45:44 +0000 |
commit | 17d6a993fc17d533460c5f40f3908c708e057c18 (patch) | |
tree | 1a3bd93e0ecd74fa02f93a528fe2f87e5314c4b5 /src/pybind/mgr/cephadm/service_discovery.py | |
parent | Releasing progress-linux version 18.2.2-0progress7.99u1. (diff) | |
download | ceph-17d6a993fc17d533460c5f40f3908c708e057c18.tar.xz ceph-17d6a993fc17d533460c5f40f3908c708e057c18.zip |
Merging upstream version 18.2.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/pybind/mgr/cephadm/service_discovery.py')
-rw-r--r-- | src/pybind/mgr/cephadm/service_discovery.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/pybind/mgr/cephadm/service_discovery.py b/src/pybind/mgr/cephadm/service_discovery.py index ddc0574e2..b3b7b5499 100644 --- a/src/pybind/mgr/cephadm/service_discovery.py +++ b/src/pybind/mgr/cephadm/service_discovery.py @@ -19,6 +19,7 @@ import secrets from cephadm.services.ingress import IngressSpec from cephadm.ssl_cert_utils import SSLCerts from cephadm.services.cephadmservice import CephExporterService +from cephadm.services.nvmeof import NvmeofService if TYPE_CHECKING: from cephadm.module import CephadmOrchestrator @@ -145,6 +146,7 @@ class Root(Server): <p><a href='prometheus/sd-config?service=node-exporter'>Node exporter http sd-config</a></p> <p><a href='prometheus/sd-config?service=haproxy'>HAProxy http sd-config</a></p> <p><a href='prometheus/sd-config?service=ceph-exporter'>Ceph exporter http sd-config</a></p> +<p><a href='prometheus/sd-config?service=nvmeof'>NVMeoF http sd-config</a></p> <p><a href='prometheus/rules'>Prometheus rules</a></p> </body> </html>''' @@ -163,6 +165,8 @@ class Root(Server): return self.haproxy_sd_config() elif service == 'ceph-exporter': return self.ceph_exporter_sd_config() + elif service == 'nvmeof': + return self.nvmeof_sd_config() else: return [] @@ -231,6 +235,19 @@ class Root(Server): }) return srv_entries + def nvmeof_sd_config(self) -> List[Dict[str, Collection[str]]]: + """Return <http_sd_config> compatible prometheus config for nvmeof service.""" + srv_entries = [] + for dd in self.mgr.cache.get_daemons_by_type('nvmeof'): + assert dd.hostname is not None + addr = dd.ip if dd.ip else self.mgr.inventory.get_addr(dd.hostname) + port = NvmeofService.PROMETHEUS_PORT + srv_entries.append({ + 'targets': [build_url(host=addr, port=port).lstrip('/')], + 'labels': {'instance': dd.hostname} + }) + return srv_entries + @cherrypy.expose(alias='prometheus/rules') def get_prometheus_rules(self) -> str: """Return currently configured prometheus rules as Yaml.""" |