X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Fpybind%2Fmgr%2Fcephadm%2Fupgrade.py;h=eeae37580455f938f326a27bcaca096d6ae8910c;hb=aee94f6923ba628a85d855d0c5316d0da78bfa2a;hp=552964c845871475221ad9c55a179f07f5a1c0f9;hpb=27f45121cc74e31203777ad565f78d8aad9b92a2;p=ceph.git diff --git a/ceph/src/pybind/mgr/cephadm/upgrade.py b/ceph/src/pybind/mgr/cephadm/upgrade.py index 552964c84..eeae37580 100644 --- a/ceph/src/pybind/mgr/cephadm/upgrade.py +++ b/ceph/src/pybind/mgr/cephadm/upgrade.py @@ -9,7 +9,7 @@ from cephadm.registry import Registry from cephadm.serve import CephadmServe from cephadm.services.cephadmservice import CephadmDaemonDeploySpec from cephadm.utils import ceph_release_to_major, name_to_config_section, CEPH_UPGRADE_ORDER, \ - MONITORING_STACK_TYPES, CEPH_TYPES, GATEWAY_TYPES + CEPH_TYPES, NON_CEPH_IMAGE_TYPES, GATEWAY_TYPES from cephadm.ssh import HostConnectionError from orchestrator import OrchestratorError, DaemonDescription, DaemonDescriptionStatus, daemon_type_to_service @@ -267,6 +267,9 @@ class CephadmUpgrade: if not image: image = self.mgr.container_image_base reg_name, bare_image = image.split('/', 1) + if ':' in bare_image: + # for our purposes, we don't want to use the tag here + bare_image = bare_image.split(':')[0] reg = Registry(reg_name) (current_major, current_minor, _) = self._get_current_version() versions = [] @@ -395,7 +398,7 @@ class CephadmUpgrade: # in order for the user's selection of daemons to upgrade to be valid. for example, # if they say --daemon-types 'osd,mds' but mons have not been upgraded, we block. daemons = [d for d in self.mgr.cache.get_daemons( - ) if d.daemon_type not in MONITORING_STACK_TYPES] + ) if d.daemon_type not in NON_CEPH_IMAGE_TYPES] err_msg_base = 'Cannot start upgrade. ' # "dtypes" will later be filled in with the types of daemons that will be upgraded with the given parameters dtypes = [] @@ -764,7 +767,7 @@ class CephadmUpgrade: if ( (self.mgr.use_repo_digest and d.matches_digests(target_digests)) or (not self.mgr.use_repo_digest and d.matches_image_name(target_name)) - or (d.daemon_type in MONITORING_STACK_TYPES) + or (d.daemon_type in NON_CEPH_IMAGE_TYPES) ): logger.debug('daemon %s.%s on correct image' % ( d.daemon_type, d.daemon_id)) @@ -1171,7 +1174,7 @@ class CephadmUpgrade: # and monitoring stack daemons. Additionally, this case is only valid if # the active mgr is already upgraded. if any(d in target_digests for d in self.mgr.get_active_mgr_digests()): - if daemon_type not in MONITORING_STACK_TYPES and daemon_type != 'mgr': + if daemon_type not in NON_CEPH_IMAGE_TYPES and daemon_type != 'mgr': continue else: self._mark_upgrade_complete() @@ -1184,8 +1187,8 @@ class CephadmUpgrade: upgraded_daemon_count += done self._update_upgrade_progress(upgraded_daemon_count / len(daemons)) - # make sure mgr and monitoring stack daemons are properly redeployed in staggered upgrade scenarios - if daemon_type == 'mgr' or daemon_type in MONITORING_STACK_TYPES: + # make sure mgr and non-ceph-image daemons are properly redeployed in staggered upgrade scenarios + if daemon_type == 'mgr' or daemon_type in NON_CEPH_IMAGE_TYPES: if any(d in target_digests for d in self.mgr.get_active_mgr_digests()): need_upgrade_names = [d[0].name() for d in need_upgrade] + \ [d[0].name() for d in need_upgrade_deployer]