From e1979fb5bda09d7028d53a64b36cca5206e9e3a4 Mon Sep 17 00:00:00 2001 From: Adam King Date: Wed, 12 May 2021 10:03:34 -0400 Subject: [PATCH] mgr/cephadm: check version in upgrade check Fixes: https://tracker.ceph.com/issues/50784 Signed-off-by: Adam King --- src/pybind/mgr/cephadm/module.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/pybind/mgr/cephadm/module.py b/src/pybind/mgr/cephadm/module.py index fa904b21e3ae8..a82139363f419 100644 --- a/src/pybind/mgr/cephadm/module.py +++ b/src/pybind/mgr/cephadm/module.py @@ -2389,6 +2389,16 @@ def upgrade_check(self, image: str, version: str) -> str: 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,