]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: clear upgrade health error when upgrade is resumed
authorAdam King <adking@redhat.com>
Fri, 21 Oct 2022 20:24:19 +0000 (16:24 -0400)
committerAdam King <adking@redhat.com>
Fri, 17 Feb 2023 15:45:51 +0000 (10:45 -0500)
The health error is no longer valid if the upgrade has been
removed. If the issue is still present we'll hit it again.

Fixes: https://tracker.ceph.com/issues/57891
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 23f523dd0fdf079d2e0b41113c524e7b53ed3c0c)

src/pybind/mgr/cephadm/tests/test_upgrade.py
src/pybind/mgr/cephadm/upgrade.py

index 2315511d4473dc6adbe00e91d3fe3310aec7a3c4..107395b93a15bf55c67777bd9808d1856d8fbbe1 100644 (file)
@@ -67,6 +67,19 @@ def test_do_upgrade_offline_hosts(cephadm_module: CephadmOrchestrator):
             cephadm_module.offline_hosts = set([])  # so remove_host doesn't fail when leaving the with_host block
 
 
+@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
+@mock.patch("cephadm.module.CephadmOrchestrator.remove_health_warning")
+def test_upgrade_resume_clear_health_warnings(_rm_health_warning, cephadm_module: CephadmOrchestrator):
+    with with_host(cephadm_module, 'test'):
+        with with_host(cephadm_module, 'test2'):
+            cephadm_module.upgrade.upgrade_state = UpgradeState('target_image', 0, paused=True)
+            _rm_health_warning.return_value = None
+            assert wait(cephadm_module, cephadm_module.upgrade_resume()
+                        ) == 'Resumed upgrade to target_image'
+            calls_list = [mock.call(alert_id) for alert_id in cephadm_module.upgrade.UPGRADE_ERRORS]
+            _rm_health_warning.assert_has_calls(calls_list, any_order=True)
+
+
 @mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
 @pytest.mark.parametrize("use_repo_digest",
                          [
index e40d7577299dfb7f64b326ec317b7effb885a066..252d0820de98dfec283eb3cf55e3d4988644c436 100644 (file)
@@ -462,6 +462,8 @@ class CephadmUpgrade:
         self.mgr.log.info('Upgrade: Resumed upgrade to %s' % self.target_image)
         self._save_upgrade_state()
         self.mgr.event.set()
+        for alert_id in self.UPGRADE_ERRORS:
+            self.mgr.remove_health_warning(alert_id)
         return 'Resumed upgrade to %s' % self.target_image
 
     def upgrade_stop(self) -> str: