]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: report exception during upgrade in upgrade status
authorAdam King <adking@redhat.com>
Wed, 14 Apr 2021 15:39:10 +0000 (11:39 -0400)
committerSage Weil <sage@newdream.net>
Fri, 23 Apr 2021 12:24:14 +0000 (07:24 -0500)
Fixes: https://tracker.ceph.com/issues/50361
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 6119294b2871977e0a70b138d48dc5afc8abd45d)

src/pybind/mgr/cephadm/upgrade.py

index 43609c2ea9831040d98544a63e85a5708bb6a3db..732e1fae9c49474ab9e33b7f347fbee484641b6a 100644 (file)
@@ -80,6 +80,7 @@ class CephadmUpgrade:
         'UPGRADE_FAILED_PULL',
         'UPGRADE_REDEPLOY_DAEMON',
         'UPGRADE_BAD_TARGET_VERSION',
+        'UPGRADE_EXCEPTION'
     ]
 
     def __init__(self, mgr: "CephadmOrchestrator"):
@@ -250,7 +251,16 @@ class CephadmUpgrade:
         :return:
         """
         if self.upgrade_state and not self.upgrade_state.paused:
-            self._do_upgrade()
+            try:
+                self._do_upgrade()
+            except Exception as e:
+                self._fail_upgrade('UPGRADE_EXCEPTION', {
+                    'severity': 'error',
+                    'summary': 'Upgrade: failed due to an unexpected exception',
+                    'count': 1,
+                    'detail': [f'Unexpected exception occurred during upgrade process: {str(e)}'],
+                })
+                return False
             return True
         return False