From e41ac4eb0110e62c467bb79cec444c9caa3d7a38 Mon Sep 17 00:00:00 2001 From: Adam King Date: Wed, 23 Apr 2025 13:02:13 -0400 Subject: [PATCH] cephadm: don't collect image ids for daemons with no container info This was missed as part of https://github.com/ceph/ceph/commit/49405967620c9dbb69a1ea4660af46c240fcd298 as this particular bit seems to only cause an issue when you pass in --name to shell and the daemon you pass to --name is not running. That procedure (stopping the daemon and then passing it's name to shell) is what is used to run tools like ceph-objectstore-tool and ceph-monstore-tool for debugging Fixes: https://tracker.ceph.com/issues/70989 NOTE: for the tracker, the actual specific issue this change fixes is the one shown in https://tracker.ceph.com/issues/70989#note-2 The original reported issue was fixed by the linked commit Signed-off-by: Adam King (cherry picked from commit 94dbc49e2b1877f798faae19fe5d3e15eea8d0c2) --- src/cephadm/cephadmlib/container_lookup.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cephadm/cephadmlib/container_lookup.py b/src/cephadm/cephadmlib/container_lookup.py index 3d44b57d8d4af..2924990161fb1 100644 --- a/src/cephadm/cephadmlib/container_lookup.py +++ b/src/cephadm/cephadmlib/container_lookup.py @@ -132,7 +132,9 @@ def infer_local_ceph_image( ] # collect the running ceph daemon image ids images_in_use_by_daemon = set( - d.image_id for d, n in matching_daemons if n == daemon_name + d.image_id + for d, n in matching_daemons + if (n == daemon_name and d is not None) ) images_in_use = set( d.image_id for d, _ in matching_daemons if d is not None -- 2.39.5