From: Adam King Date: Wed, 12 May 2021 14:03:34 +0000 (-0400) Subject: mgr/cephadm: check version in upgrade check X-Git-Tag: v16.2.5~115^2~22 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e6b175f6c43a5cbaf8f0fd19f27cb7a656a2eaa1;p=ceph.git mgr/cephadm: check version in upgrade check Fixes: https://tracker.ceph.com/issues/50784 Signed-off-by: Adam King (cherry picked from commit e1979fb5bda09d7028d53a64b36cca5206e9e3a4) --- diff --git a/src/pybind/mgr/cephadm/module.py b/src/pybind/mgr/cephadm/module.py index a5ab603f0e9..5e35f5db1ea 100644 --- a/src/pybind/mgr/cephadm/module.py +++ b/src/pybind/mgr/cephadm/module.py @@ -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,