From: Redouane Kachach Date: Wed, 23 Nov 2022 09:11:12 +0000 (+0100) Subject: mgr/cephadm: fixing mgr port shown in ceph orch ps X-Git-Tag: v18.1.0~523^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8c2f12e1ba9e1638d29683c5642b06e624538ecb;p=ceph.git mgr/cephadm: fixing mgr port shown in ceph orch ps Fixes: https://tracker.ceph.com/issues/58067 Signed-off-by: Redouane Kachach --- diff --git a/src/cephadm/cephadm.py b/src/cephadm/cephadm.py index 4201de3d9cb3..83170718508b 100755 --- a/src/cephadm/cephadm.py +++ b/src/cephadm/cephadm.py @@ -5182,8 +5182,11 @@ def create_mgr( mgr_c = get_container(ctx, fsid, 'mgr', mgr_id) # Note:the default port used by the Prometheus node exporter is opened in fw ctx.meta_json = json.dumps({'service_name': 'mgr'}) + ports = [9283, 8765] + if not ctx.skip_monitoring_stack: + ports.append(8443) deploy_daemon(ctx, fsid, 'mgr', mgr_id, mgr_c, uid, gid, - config=config, keyring=mgr_keyring, ports=[9283, 8765]) + config=config, keyring=mgr_keyring, ports=ports) # wait for the service to become available logger.info('Waiting for mgr to start...') diff --git a/src/pybind/mgr/cephadm/services/cephadmservice.py b/src/pybind/mgr/cephadm/services/cephadmservice.py index f4e9ffe703f8..0d2231ca496c 100644 --- a/src/pybind/mgr/cephadm/services/cephadmservice.py +++ b/src/pybind/mgr/cephadm/services/cephadmservice.py @@ -685,6 +685,7 @@ class MgrService(CephService): if ports: daemon_spec.ports = ports + daemon_spec.ports.append(self.mgr.service_discovery_port) daemon_spec.keyring = keyring daemon_spec.final_config, daemon_spec.deps = self.generate_config(daemon_spec) diff --git a/src/pybind/mgr/orchestrator/_interface.py b/src/pybind/mgr/orchestrator/_interface.py index 3b92e50f927b..9b204473692b 100644 --- a/src/pybind/mgr/orchestrator/_interface.py +++ b/src/pybind/mgr/orchestrator/_interface.py @@ -1249,7 +1249,8 @@ class ServiceDescription(object): def get_port_summary(self) -> str: if not self.ports: return '' - return f"{(self.virtual_ip or '?').split('/')[0]}:{','.join(map(str, self.ports or []))}" + ports = sorted([int(x) for x in self.ports]) + return f"{(self.virtual_ip or '?').split('/')[0]}:{','.join(map(str, ports or []))}" def to_json(self) -> OrderedDict: out = self.spec.to_json()