]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/mgr/cephadm: disable FSMap sanity checks during MDS upgrade 43890/head
authorPatrick Donnelly <pdonnell@redhat.com>
Thu, 4 Nov 2021 14:26:53 +0000 (10:26 -0400)
committerPatrick Donnelly <pdonnell@redhat.com>
Thu, 11 Nov 2021 15:37:08 +0000 (10:37 -0500)
See comment for explanation.

Fixes: https://tracker.ceph.com/issues/53155
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit b29423111be8fcfc7702a39a7b0f6da43d12067f)

src/pybind/mgr/cephadm/upgrade.py

index 374be6bd23c59fe97fb8e4c7999662b5284b3ec4..d11960ba9dba47325a37a2511cb49213335159b4 100644 (file)
@@ -577,6 +577,18 @@ class CephadmUpgrade:
 
         image_settings = self.get_distinct_container_image_settings()
 
+        # Older monitors (pre-v16.2.5) asserted that FSMap::compat ==
+        # MDSMap::compat for all fs. This is no longer the case beginning in
+        # v16.2.5. We must disable the sanity checks during upgrade.
+        # N.B.: we don't bother confirming the operator has not already
+        # disabled this or saving the config value.
+        self.mgr.check_mon_command({
+            'prefix': 'config set',
+            'name': 'mon_mds_skip_sanity',
+            'value': '1',
+            'who': 'mon',
+        })
+
         daemons = [d for d in self.mgr.cache.get_daemons() if d.daemon_type in CEPH_UPGRADE_ORDER]
         done = 0
         for daemon_type in CEPH_UPGRADE_ORDER:
@@ -869,6 +881,12 @@ class CephadmUpgrade:
                 'who': name_to_config_section(daemon_type),
             })
 
+        self.mgr.check_mon_command({
+            'prefix': 'config rm',
+            'name': 'mon_mds_skip_sanity',
+            'who': 'mon',
+        })
+
         logger.info('Upgrade: Complete!')
         if self.upgrade_state.progress_id:
             self.mgr.remote('progress', 'complete',