X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/df15627716cc16aacbc577c4328fc186d7e7637d..745dae57563d2f102ec8cd30349d663336309692:/lib/errors.py diff --git a/lib/errors.py b/lib/errors.py index 06bd9e5..3847353 100644 --- a/lib/errors.py +++ b/lib/errors.py @@ -82,6 +82,12 @@ class LockError(GenericError): pass +class PidFileLockError(LockError): + """PID file is already locked by another process. + + """ + + class HypervisorError(GenericError): """Hypervisor-related exception. @@ -189,6 +195,12 @@ class OpExecError(GenericError): """ +class OpResultError(GenericError): + """Issue with OpCode result. + + """ + + class OpCodeUnknown(GenericError): """Unknown opcode submitted. @@ -271,6 +283,14 @@ class SshKeyError(GenericError): """ +class X509CertError(GenericError): + """Invalid X509 certificate. + + This error has two arguments: the certificate filename and the error cause. + + """ + + class TagError(GenericError): """Generic tag error. @@ -298,7 +318,7 @@ class InotifyError(GenericError): class QuitGanetiException(Exception): - """Signal that Ganeti that it must quit. + """Signal 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 @@ -391,6 +411,24 @@ class LuxiError(GenericError): """ +class QueryFilterParseError(ParseError): + """Error while parsing query filter. + + """ + def GetDetails(self): + """Returns a list of strings with details about the error. + + """ + try: + (_, inner) = self.args + except IndexError: + return None + + return [str(inner.line), + (" " * (inner.column - 1)) + "^", + str(inner)] + + # errors should be added above @@ -458,4 +496,4 @@ def MaybeRaise(result): error = GetEncodedError(result) if error: (errcls, args) = error - raise errcls, args + raise errcls(args)