]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cephadm: only infer conf from mon if fsid matches
authorAdam King <adking@redhat.com>
Wed, 24 Nov 2021 22:23:01 +0000 (17:23 -0500)
committerSebastian Wagner <sewagner@redhat.com>
Mon, 3 Jan 2022 14:00:10 +0000 (15:00 +0100)
fixes: https://tracker.ceph.com/issues/53394

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit f64b8a34c4808af5f09ddc5de8085d78b50a9666)

src/cephadm/cephadm
src/cephadm/tests/test_cephadm.py

index 77542628c12c57e52d7a6dfbdb6f58bed04ccffc..d080c9b17051021ad83eac924f2dba13bdcd372b 100755 (executable)
@@ -1724,7 +1724,7 @@ def infer_config(func: FuncT) -> FuncT:
             if not name:
                 daemon_list = list_daemons(ctx, detail=False)
                 for daemon in daemon_list:
-                    if daemon.get('name', '').startswith('mon.'):
+                    if daemon.get('name', '').startswith('mon.') and daemon.get('fsid', '') == ctx.fsid:
                         name = daemon['name']
                         break
             if name:
index 5d45fdb40df43993b82eb7f845905a60b02be0d0..3873c660924f26f85152864e14a9c04f96b524fb 100644 (file)
@@ -457,9 +457,16 @@ docker.io/ceph/daemon-base:octopus
                 '00000000-0000-0000-0000-0000deadbeef',
                 None,
                 None,
-                [{'name': 'mon.a'}],
+                [{'name': 'mon.a', 'fsid': '00000000-0000-0000-0000-0000deadbeef'}],
                 '/var/lib/ceph/00000000-0000-0000-0000-0000deadbeef/mon.a/config',
             ),
+            (
+                '00000000-0000-0000-0000-0000deadbeef',
+                None,
+                None,
+                [{'name': 'mon.a', 'fsid': 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'}],
+                cd.SHELL_DEFAULT_CONF,
+            ),
             (
                 '00000000-0000-0000-0000-0000deadbeef',
                 None,