From 6c3d8174358b30f3c9eef1b9342df437749d75fd Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sun, 17 Jan 2021 16:36:35 +0800 Subject: [PATCH] mgr/cephadm: use dict instead of defaultdict to silence mypy warning otherwise we have: 1: cephadm/module.py:30: note: In module imported here: 1: cephadm/serve.py: note: In member "_check_for_strays" of class "CephadmServe": 1: cephadm/serve.py:395: error: Argument "default" to "get_metadata" of "MgrModule" has incompatible type "defaultdict[str, None]"; expected "Optional[Dict[str, str]]" Signed-off-by: Kefu Chai --- src/pybind/mgr/cephadm/serve.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/pybind/mgr/cephadm/serve.py b/src/pybind/mgr/cephadm/serve.py index 3e4a62013d47a..8a4e4601e7445 100644 --- a/src/pybind/mgr/cephadm/serve.py +++ b/src/pybind/mgr/cephadm/serve.py @@ -406,12 +406,11 @@ class CephadmServe: for s in daemons: name = '%s.%s' % (s.get('type'), s.get('id')) if s.get('type') == 'rbd-mirror': - defaults = defaultdict(lambda: None, {'id': None}) metadata = self.mgr.get_metadata( - "rbd-mirror", s.get('id'), default=defaults) - if metadata['id']: + "rbd-mirror", s.get('id')) + try: name = '%s.%s' % (s.get('type'), metadata['id']) - else: + except (KeyError, TypeError): self.log.debug( "Failed to find daemon id for rbd-mirror service %s" % (s.get('id'))) -- 2.39.5