]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: only need_upgrade_self if image_id doesn't match
authorSage Weil <sage@redhat.com>
Wed, 22 Jan 2020 22:25:09 +0000 (16:25 -0600)
committerSage Weil <sage@redhat.com>
Wed, 22 Jan 2020 22:25:09 +0000 (16:25 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/pybind/mgr/cephadm/module.py

index 870460b05bc95afa13aedb8c2672bb57a2002150..dca283f55741d4c8b064909d979f27fb78e6c991 100644 (file)
@@ -441,29 +441,32 @@ class CephadmOrchestrator(MgrModule, orchestrator.OrchestratorClientMixin):
             for d in daemons:
                 if d.service_type != daemon_type:
                     continue
+                if d.container_image_id == target_id:
+                    continue
+
                 if daemon_type == 'mgr' and \
                    d.service_instance == self.get_mgr_id():
                     self.log.info('Upgrade: Need to upgrade myself (mgr.%s)' %
                                   self.get_mgr_id())
                     need_upgrade_self = True
                     continue
-                if d.container_image_id != target_id:
-                    if not self._wait_for_ok_to_stop(d):
-                        return None
-                    self.log.info('Upgrade: Redeploying %s.%s' %
-                                  (d.service_type, d.service_instance))
-                    ret, out, err = self.mon_command({
-                        'prefix': 'config set',
-                        'name': 'container_image',
-                        'value': target_name,
-                        'who': daemon_type + '.' + d.service_instance,
-                    })
-                    return self._service_action([(
-                        d.service_type,
-                        d.service_instance,
-                        d.nodename,
-                        'redeploy'
-                    )])
+
+                if not self._wait_for_ok_to_stop(d):
+                    return None
+                self.log.info('Upgrade: Redeploying %s.%s' %
+                              (d.service_type, d.service_instance))
+                ret, out, err = self.mon_command({
+                    'prefix': 'config set',
+                    'name': 'container_image',
+                    'value': target_name,
+                    'who': daemon_type + '.' + d.service_instance,
+                })
+                return self._service_action([(
+                    d.service_type,
+                    d.service_instance,
+                    d.nodename,
+                    'redeploy'
+                )])
 
             if need_upgrade_self:
                 mgr_map = self.get('mgr_map')