Source code for backend.exceptions

[docs]class MockRemoteError(Exception): def __init__(self, msg): super(MockRemoteError, self).__init__(msg) self.msg = msg def __str__(self): return self.msg
[docs]class BuilderError(MockRemoteError): def __init__(self, msg, return_code=None, stdout=None, stderr=None): super(BuilderError, self).__init__(msg) self.return_code = return_code self.stdout = stdout self.stderr = stderr def __str__(self): result = "BuildError: {}".format(self.msg) if self.return_code: result += "; return code: {}".format(self.return_code) if self.stdout: result += "; stdout: {}".format(self.stdout) if self.stderr: result += "; stderr: {}".format(self.stderr) return result
[docs]class AnsibleResponseError(BuilderError): pass
[docs]class AnsibleCallError(BuilderError): def __init__(self, msg, cmd, module_name, as_root, **kwargs): self.msg = "{}\n Call cmd: `{}`, module: `{}`, as root: {}".format( msg, cmd, module_name, as_root ) super(AnsibleCallError, self).__init__(self.msg, **kwargs) self.call_args = dict( cmd=cmd, module_name=module_name, as_root=as_root, )
[docs]class BuilderTimeOutError(BuilderError): pass
[docs]class CoprSignError(MockRemoteError): """ Related to invocation of /bin/sign has additional fields: :ivar cmd: command which was executed :ivar stdout: message content :ivar stderr: error message """ def __init__(self, msg, cmd=None, stdout=None, stderr=None, return_code=None): super(CoprSignError, self).__init__(msg) self.cmd = cmd self.return_code = return_code self.stdout = stdout self.stderr = stderr def __str__(self): out = super(CoprSignError, self).__str__() if self.cmd: out += ("\n" "return code {} after invocation of: {} \n" "stderr: {}\n" "stdout: {}\n").format( self.return_code, self.cmd, self.stdout, self.stderr) return out
[docs]class CoprSignNoKeyError(CoprSignError): pass
[docs]class CoprKeygenRequestError(MockRemoteError): """ Errors during request to copr-keygen service has additional fields: :ivar request: tuple of parameters for request.request :ivar response: requests.Response """ def __init__(self, msg, request=None, response=None): super(CoprKeygenRequestError, self).__init__(msg) self.request = request self.response = response def __str__(self): out = super(CoprKeygenRequestError, self).__str__() out += "\nrequest to copr-keygen: {}\n".format(self.request) if self.response: out += "status code: {}\n" "response content: {}\n" \ .format(self.response.status_code, self.response.content) return out
[docs]class CoprBackendError(Exception): def __init__(self, msg): super(CoprBackendError, self).__init__() self.msg = msg def __str__(self): return self.msg
[docs]class CoprJobGrabError(CoprBackendError): pass
[docs]class CoprWorkerError(CoprBackendError): pass
[docs]class CoprSpawnFailError(CoprBackendError): pass
[docs]class VmError(CoprBackendError): """ Error related to VM manage """ pass
[docs]class VmDescriptorNotFound(VmError): pass
[docs]class NoVmAvailable(VmError): pass
[docs]class VmSpawnLimitReached(VmError): """ Couldn't spawn more VM due to the given limits """ pass
[docs]class CmdError(CoprBackendError): def __init__(self, msg, cmd, exit_code=None, stdout=None, stderr=None): super(CmdError, self).__init__(msg) self.cmd = cmd self.exit_code = exit_code self.stdout = stdout self.stderr = stderr def __str__(self): out = super(CmdError, self).__str__() if self.cmd: out += ("\n" "return code {} after invocation of: {} \n" "stderr: {}\n" "stdout: {}\n").format( self.exit_code, self.cmd, self.stdout, self.stderr) return out
[docs]class CreateRepoError(CmdError): pass
[docs]class DispatchBuildError(CoprBackendError): pass