]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/orch: re-raise to make debugging easier
authorSebastian Wagner <sewagner@redhat.com>
Wed, 22 Sep 2021 12:20:24 +0000 (14:20 +0200)
committerSebastian Wagner <sewagner@redhat.com>
Wed, 1 Dec 2021 08:53:08 +0000 (09:53 +0100)
Signed-off-by: Sebastian Wagner <sewagner@redhat.com>
src/pybind/mgr/cephadm/tests/test_cephadm.py
src/pybind/mgr/orchestrator/_interface.py

index 41513a7fea96b21d2d454a633cb53b870b0abdea..d9236e81ffd5b0e7531fa96528fab1ca8efb0acb 100644 (file)
@@ -1386,10 +1386,10 @@ class TestCephadm(object):
         _get_daemon_types.return_value = ['crash']
         _hosts.return_value = [hostname, 'other_host']
         cephadm_module.inventory.add_host(HostSpec(hostname))
-        # should raise an error which will get stored in OrchResult object
-        retval = cephadm_module.enter_host_maintenance(hostname)
-        assert retval.exception_str
-        assert not retval.result_str()
+
+        with pytest.raises(OrchestratorError, match='Failed to place host1 into maintenance for cluster fsid'):
+            cephadm_module.enter_host_maintenance(hostname)
+
         assert not cephadm_module.inventory._inventory[hostname]['status']
 
     @mock.patch("cephadm.serve.CephadmServe._run_cephadm")
@@ -1418,10 +1418,10 @@ class TestCephadm(object):
         _get_daemon_types.return_value = ['crash']
         _hosts.return_value = [hostname, 'other_host']
         cephadm_module.inventory.add_host(HostSpec(hostname, status='maintenance'))
-        # should raise an error which will get stored in OrchResult object
-        retval = cephadm_module.exit_host_maintenance(hostname)
-        assert retval.exception_str
-        assert not retval.result_str()
+
+        with pytest.raises(OrchestratorError, match='Failed to exit maintenance state for host host1, cluster fsid'):
+            cephadm_module.exit_host_maintenance(hostname)
+
         assert cephadm_module.inventory._inventory[hostname]['status'] == 'maintenance'
 
     @mock.patch("cephadm.ssh.SSHManager._remote_connection")
index 6b31ba7d4515c8bf045a9396c174501e18883734..ab48bfe629dbe4d864e88c24b48fb87692858fb0 100644 (file)
@@ -125,6 +125,9 @@ def handle_orch_error(f: Callable[..., T]) -> Callable[..., 'OrchResult[T]']:
             return OrchResult(f(*args, **kwargs))
         except Exception as e:
             logger.exception(e)
+            import os
+            if 'UNITTEST' in os.environ:
+                raise  # This makes debugging of Tracebacks from unittests a bit easier
             return OrchResult(None, exception=e)
 
     return cast(Callable[..., OrchResult[T]], wrapper)