From 7e5bcc3045d335a8ccd7e3ed999fb29fdc030bc2 Mon Sep 17 00:00:00 2001 From: John Mulligan Date: Fri, 5 Jan 2024 10:45:08 -0500 Subject: [PATCH] mgr/cephadm: simplify _get_container_image a bit Because the "if-ladder" was only ever assigning a single variable with a value it can be directly replaced by a dict & dict-lookup which is much more succinct. Also take the opportunity to sort the (non-comment) lines as there's no meaning to the previous order and this makes it easier for a reader to scan through. Signed-off-by: John Mulligan (cherry picked from commit 0847ee2ee4531f2bb02ee3cc2a290c4c10fe4330) --- src/pybind/mgr/cephadm/module.py | 61 +++++++++++++------------------- 1 file changed, 25 insertions(+), 36 deletions(-) diff --git a/src/pybind/mgr/cephadm/module.py b/src/pybind/mgr/cephadm/module.py index 8cc9472b63197..5935c8fe86b47 100644 --- a/src/pybind/mgr/cephadm/module.py +++ b/src/pybind/mgr/cephadm/module.py @@ -1578,43 +1578,32 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule, utils.name_to_config_section(daemon_name), 'container_image' )).strip() - elif daemon_type == 'prometheus': - image = self.container_image_prometheus - elif daemon_type == 'nvmeof': - image = self.container_image_nvmeof - elif daemon_type == 'grafana': - image = self.container_image_grafana - elif daemon_type == 'alertmanager': - image = self.container_image_alertmanager - elif daemon_type == 'node-exporter': - image = self.container_image_node_exporter - elif daemon_type == 'loki': - image = self.container_image_loki - elif daemon_type == 'promtail': - image = self.container_image_promtail - elif daemon_type == 'haproxy': - image = self.container_image_haproxy - elif daemon_type == 'keepalived': - image = self.container_image_keepalived - elif daemon_type == 'elasticsearch': - image = self.container_image_elasticsearch - elif daemon_type == 'jaeger-agent': - image = self.container_image_jaeger_agent - elif daemon_type == 'jaeger-collector': - image = self.container_image_jaeger_collector - elif daemon_type == 'jaeger-query': - image = self.container_image_jaeger_query - elif daemon_type == CustomContainerService.TYPE: - # The image can't be resolved, the necessary information - # is only available when a container is deployed (given - # via spec). - image = None - elif daemon_type == 'snmp-gateway': - image = self.container_image_snmp_gateway - elif daemon_type == SMBService.TYPE: - image = self.container_image_samba else: - assert False, daemon_type + images = { + 'alertmanager': self.container_image_alertmanager, + 'elasticsearch': self.container_image_elasticsearch, + 'grafana': self.container_image_grafana, + 'haproxy': self.container_image_haproxy, + 'jaeger-agent': self.container_image_jaeger_agent, + 'jaeger-collector': self.container_image_jaeger_collector, + 'jaeger-query': self.container_image_jaeger_query, + 'keepalived': self.container_image_keepalived, + 'loki': self.container_image_loki, + 'node-exporter': self.container_image_node_exporter, + 'nvmeof': self.container_image_nvmeof, + 'prometheus': self.container_image_prometheus, + 'promtail': self.container_image_promtail, + 'snmp-gateway': self.container_image_snmp_gateway, + # The image can't be resolved here, the necessary information + # is only available when a container is deployed (given + # via spec). + CustomContainerService.TYPE: None, + SMBService.TYPE: self.container_image_samba, + } + try: + image = images[daemon_type] + except KeyError: + raise ValueError(f'no image for {daemon_type}') self.log.debug('%s container image %s' % (daemon_name, image)) -- 2.39.5