X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/5c947f38e749a1af1ff81590e52380611fa9c9f9..68676a00a95239fcdd935758b7f6144cbec8b0fc:/lib/errors.py diff --git a/lib/errors.py b/lib/errors.py index 546ed27..9a62409 100644 --- a/lib/errors.py +++ b/lib/errors.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +# # # Copyright (C) 2006, 2007 Google Inc. @@ -104,8 +104,9 @@ class InvalidOS(GenericError): This is raised when an OS exists on the master (or is otherwise requested to the code) but not on the target node. - This exception has two arguments: + This exception has three arguments: - the name of the os + - the source directory, if any - the reason why we consider this an invalid OS (text of error message) """ @@ -151,6 +152,28 @@ class OpCodeUnknown(GenericError): """ +class JobLost(GenericError): + """Submitted job lost. + + The job was submitted but it cannot be found in the current job + list. + + """ + + +class ResolverError(GenericError): + """Host name cannot be resolved. + + This is not a normal situation for Ganeti, as we rely on having a + working resolver. + + The non-resolvable hostname is available as the first element of the + args tuple; the other two elements of the tuple are the first two + args of the socket.gaierror exception (error code and description). + + """ + + class HooksFailure(GenericError): """A generic hook failure. @@ -178,6 +201,7 @@ class UnitParseError(GenericError): class SshKeyError(GenericError): """Invalid SSH key. + """ @@ -187,3 +211,28 @@ class TagError(GenericError): The argument to this exception will show the exact error. """ + + +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 two values. The first one 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") + + """ +