From e50bdd6881f020db5ac9d3f2b12f755a7b621b4e Mon Sep 17 00:00:00 2001 From: Guido Trotter <ultrotter@google.com> Date: Thu, 26 Jun 2008 14:42:14 +0000 Subject: [PATCH] Add errors.QuitGanetiException This exception does not signal an error but serves the purpose of making the ganeti daemon shut down after handling a request. Currently it will be used by ganeti-noded but in the future ganeti-masterd might make use of it as well. Its usage is documented in the docstring. Reviewed-by: iustinp --- lib/errors.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lib/errors.py b/lib/errors.py index a44826c03..646bf9153 100644 --- a/lib/errors.py +++ b/lib/errors.py @@ -217,3 +217,22 @@ class CommandError(GenericError): """External command error. """ + + +class QuitGanetiException(Exception): + """Signal that Ganeti that it must quit. + + This is not necessarily an error (and thus not a subclass of GenericError), + but it's an exceptional circumstance and it is thus treated. This instance + should be instantiated with a tuple of two values. The first value will + specify whether an error should returned to the caller, and the second one + will be the returned result (either as an error or as a normal result). + + Examples: + # Return a result of "True" to the caller, but quit ganeti afterwards + raise QuitGanetiException((False, True)) + # Send an error to the caller, and quit ganeti + raise QuitGanetiException((True, "Fatal safety violation, shutting down")) + + """ + -- GitLab