]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: check version in upgrade check
authorAdam King <adking@redhat.com>
Wed, 12 May 2021 14:03:34 +0000 (10:03 -0400)
committerSage Weil <sage@newdream.net>
Thu, 20 May 2021 23:04:01 +0000 (18:04 -0500)
Fixes: https://tracker.ceph.com/issues/50784
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit e1979fb5bda09d7028d53a64b36cca5206e9e3a4)

src/pybind/mgr/cephadm/module.py

index a5ab603f0e9ee54933212cd2041e374f1db727ea..5e35f5db1eaaa5263707f210dd2e8697fcbf7bcb 100644 (file)
@@ -2408,6 +2408,16 @@ Then run the following:
             raise OrchestratorError('must specify either image or version')
 
         image_info = CephadmServe(self)._get_container_image_info(target_name)
+
+        ceph_image_version = image_info.ceph_version
+        if not ceph_image_version:
+            return f'Unable to extract ceph version from {target_name}.'
+        if ceph_image_version.startswith('ceph version '):
+            ceph_image_version = ceph_image_version.split(' ')[2]
+        version_error = self.upgrade._check_target_version(ceph_image_version)
+        if version_error:
+            return f'Incompatible upgrade: {version_error}'
+
         self.log.debug(f'image info {image} -> {image_info}')
         r: dict = {
             'target_name': target_name,