Exceptions specific to the gc3libs package.
In addition to the exceptions listed here, gc3libs functions try to use Python builtin exceptions with the same meaning they have in core Python, namely:
Raised when the dumped description on a given Application produces something that the LRMS backend cannot process. As an example, for arc backends, this error is raised when the parsing of the Application’s XRSL fails
Base class for Auth-related errors.
Should never be instanciated: create a specific error class describing the actual error condition.
Raised when the configuration file (or parts of it) could not be read/parsed. Also used to signal that a required parameter is missing or has an unknown/invalid value.
Error copying a file from source to `destination.
Base class for data staging and movement errors.
Should never be instanciated: create a specific error class describing the actual error condition.
Raised when a method (other than attach()) is called on a detached Task instance.
Raised by Application.__init__ if not all (local or remote) entries in the input or output files are distinct.
Base class for all error-level exceptions in GC3Pie.
Generally, this indicates a non-fatal error: depending on the nature of the task, steps could be taken to continue, but users must be aware that an error condition occurred, so the message is sent to the logs at the ERROR level.
Exceptions indicating an error condition after which the program cannot continue and should immediately stop, should use the FatalError base class.
A fatal error: execution cannot continue and program should report to user and then stop.
The message is sent to the logs at CRITICAL level when the exception is first constructed.
This is the base class for all fatal exceptions.
Raised when an input file is specified, which does not exist or cannot be read.
Raised when some function cannot fulfill its duties, for reasons that do not depend on the library client code. For instance, when a response string gotten from an external command cannot be parsed as expected.
Raised when the arguments passed to a function do not honor some required contract. For instance, either one of two optional arguments must be provided, but none of them was.
Raised when an operation is attempted, that is not considered valid according to the system state. For instance, trying to retrieve the output of a job that has not yet been submitted.
Raised to signal that no computational resource with the given name is defined in the configuration file.
A specialization of`InvalidArgument` for cases when the type of the passed argument does not match expectations.
Raised when a command is not provided all required arguments on the command line, or the arguments do not match the expected syntax.
Since the exception message is the last thing a user will see, try to be specific about what is wrong on the command line.
A specialization of`InvalidArgument` for cases when the type of the passed argument does not match expectations.
Tells the Engine to skip submission of a job until the next iteration.
Raised upon errors loading a job from the persistent storage.
Raised when the configuration file cannot be read (e.g., does not exist or has wrong permissions), or cannot be parsed (e.g., is malformed).
Raised to signal that no resources are defined, or that none are compatible with the request.
Raised upon attempts to retrieve the output for jobs that are still in NEW or SUBMITTED state.
Raised when transient problems with copying data to or from the remote execution site occurred.
This error is considered to be transient (e.g., network connectivity interruption), so trying again at a later time could solve the problem.
Used to mark transient errors: retrying the same action at a later time could succeed.
This exception should never be instanciated: it is only to be used in except clauses to catch “try again” situations.
Generic error condition in a Task object.
Raised by Task.progress() when a job lands in STOPPED or TERMINATED state.
Raised when an operation is attempted on a task, which is unknown to the remote server or backend.
Raised when a job state is gotten from the Grid middleware, that is not handled by the GC3Libs code. Might actually mean that there is a version mismatch between GC3Libs and the Grid middleware used.
Raised when problems with copying data to or from the remote execution site occurred.
Used to mark permanent errors: there’s no point in retrying the same action at a later time, because it will yield the same error again.
This exception should never be instanciated: it is only to be used in except clauses to exclude “try again” situations.