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

Fixes: https://tracker.ceph.com/issues/53155
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/pybind/mgr/cephadm/upgrade.py

index 1cebe106515155d752d800eecf72eb14b451add2..0236dbe1c14cb23431a6a4bc8ff8ae1e6a6ac9ad 100644 (file)
@@ -584,6 +584,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:
@@ -877,6 +889,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',