7 class SfaFault(xmlrpclib.Fault):
8 def __init__(self, faultCode, faultString, extra = None):
10 faultString += ": " + str(extra)
11 xmlrpclib.Fault.__init__(self, faultCode, faultString)
13 class SfaInvalidAPIMethod(SfaFault):
14 def __init__(self, method, interface = None, extra = None):
15 faultString = "Invalid method " + method
17 faultString += " for interface " + interface
18 SfaFault.__init__(self, 100, faultString, extra)
20 class SfaInvalidArgumentCount(SfaFault):
21 def __init__(self, got, min, max = min, extra = None):
23 expected = "%d-%d" % (min, max)
26 faultString = "Expected %s arguments, got %d" % \
28 SfaFault.__init__(self, 101, faultString, extra)
30 class SfaInvalidArgument(SfaFault):
31 def __init__(self, extra = None, name = None):
33 faultString = "Invalid %s value" % name
35 faultString = "Invalid argument"
36 SfaFault.__init__(self, 102, faultString, extra)
38 class SfaAuthenticationFailure(SfaFault):
39 def __init__(self, extra = None):
40 faultString = "Failed to authenticate call"
41 SfaFault.__init__(self, 103, faultString, extra)
43 class SfaDBError(SfaFault):
44 def __init__(self, extra = None):
45 faultString = "Database error"
46 SfaFault.__init__(self, 106, faultString, extra)
48 class SfaPermissionDenied(SfaFault):
49 def __init__(self, extra = None):
50 faultString = "Permission denied"
51 SfaFault.__init__(self, 108, faultString, extra)
53 class SfaNotImplemented(SfaFault):
54 def __init__(self, interface=None, extra = None):
55 faultString = "Not implemented"
57 faultString += " at interface " + interface
58 SfaFault.__init__(self, 109, faultString, extra)
60 class SfaAPIError(SfaFault):
61 def __init__(self, extra = None):
62 faultString = "Internal API error"
63 SfaFault.__init__(self, 111, faultString, extra)
65 class MalformedHrnException(SfaFault):
66 def __init__(self, value, extra = None):
68 faultString = "Malformed HRN: %(value)s" % locals()
69 SfaFault.__init__(self, 102, faultString, extra)
71 return repr(self.value)
73 class TreeException(SfaFault):
74 def __init__(self, value, extra = None):
76 faultString = "Tree Exception: %(value)s, " % locals()
77 SfaFault.__init__(self, 111, faultString, extra)
79 return repr(self.value)
81 class NonExistingRecord(SfaFault):
82 def __init__(self, value, extra = None):
84 faultString = "Non exsiting record %(value)s, " % locals()
85 SfaFault.__init__(self, 111, faultString, extra)
87 return repr(self.value)
89 class ExistingRecord(SfaFault):
90 def __init__(self, value, extra = None):
92 faultString = "Existing record: %(value)s, " % locals()
93 SfaFault.__init__(self, 111, faultString, extra)
95 return repr(self.value)
98 class NonexistingCredType(SfaFault):
99 def __init__(self, value, extra = None):
101 faultString = "Non existing record: %(value)s, " % locals()
102 SfaFault.__init__(self, 111, faultString, extra)
104 return repr(self.value)
106 class NonexistingFile(SfaFault):
107 def __init__(self, value, extra = None):
109 faultString = "Non existing file: %(value)s, " % locals()
110 SfaFault.__init__(self, 111, faultString, extra)
112 return repr(self.value)
114 class InvalidRPCParams(SfaFault):
115 def __init__(self, value, extra = None):
117 faultString = "Invalid RPC Params: %(value)s, " % locals()
118 SfaFault.__init__(self, 102, faultString, extra)
120 return repr(self.value)
122 # SMBAKER exceptions follow
124 class ConnectionKeyGIDMismatch(SfaFault):
125 def __init__(self, value, extra = None):
127 faultString = "Connection Key GID mismatch: %(value)s" % locals()
128 SfaFault.__init__(self, 102, faultString, extra)
130 return repr(self.value)
132 class MissingCallerGID(SfaFault):
133 def __init__(self, value, extra = None):
135 faultString = "Missing Caller GID: %(value)s" % locals()
136 SfaFault.__init__(self, 102, faultString, extra)
138 return repr(self.value)
140 class RecordNotFound(SfaFault):
141 def __init__(self, value, extra = None):
143 faultString = "Record not found: %(value)s" % locals()
144 SfaFault.__init__(self, 102, faultString, extra)
146 return repr(self.value)
148 class UnknownSfaType(SfaFault):
149 def __init__(self, value, extra = None):
151 faultString = "Unknown SFA Type: %(value)s" % locals()
152 SfaFault.__init__(self, 102, faultString, extra)
154 return repr(self.value)
156 class MissingAuthority(SfaFault):
157 def __init__(self, value, extra = None):
159 faultString = "Missing authority: %(value)s" % locals()
160 SfaFault.__init__(self, 102, faultString, extra)
162 return repr(self.value)
164 class PlanetLabRecordDoesNotExist(SfaFault):
165 def __init__(self, value, extra = None):
167 faultString = "PlanetLab record does not exist : %(value)s" % locals()
168 SfaFault.__init__(self, 102, faultString, extra)
170 return repr(self.value)
172 class PermissionError(SfaFault):
173 def __init__(self, value, extra = None):
175 faultString = "Permission error: %(value)s" % locals()
176 SfaFault.__init__(self, 108, faultString, extra)
178 return repr(self.value)
180 class InsufficientRights(SfaFault):
181 def __init__(self, value, extra = None):
183 faultString = "Insufficient rights: %(value)s" % locals()
184 SfaFault.__init__(self, 108, faultString, extra)
186 return repr(self.value)
188 class MissingDelegateBit(SfaFault):
189 def __init__(self, value, extra = None):
191 faultString = "Missing delegate bit: %(value)s" % locals()
192 SfaFault.__init__(self, 108, faultString, extra)
194 return repr(self.value)
196 class ChildRightsNotSubsetOfParent(SfaFault):
197 def __init__(self, value, extra = None):
199 faultString = "Child rights not subset of parent: %(value)s" % locals()
200 SfaFault.__init__(self, 103, faultString, extra)
202 return repr(self.value)
204 class CertMissingParent(SfaFault):
205 def __init__(self, value, extra = None):
207 faultString = "Cert missing parent: %(value)s" % locals()
208 SfaFault.__init__(self, 103, faultString, extra)
210 return repr(self.value)
212 class CertNotSignedByParent(SfaFault):
213 def __init__(self, value, extra = None):
215 faultString = "Cert not signed by parent: %(value)s" % locals()
216 SfaFault.__init__(self, 103, faultString, extra)
218 return repr(self.value)
220 class GidParentHrn(SfaFault):
221 def __init__(self, value, extra = None):
223 faultString = "Cert URN is not an extension of its parent: %(value)s" % locals()
224 SfaFault.__init__(self, 103, faultString, extra)
226 return repr(self.value)
228 class GidInvalidParentHrn(SfaFault):
229 def __init__(self, value, extra = None):
231 faultString = "GID invalid parent hrn: %(value)s" % locals()
232 SfaFault.__init__(self, 102, faultString, extra)
234 return repr(self.value)
236 class SliverDoesNotExist(SfaFault):
237 def __init__(self, value, extra = None):
239 faultString = "Sliver does not exist : %(value)s" % locals()
240 SfaFault.__init__(self, 102, faultString, extra)
242 return repr(self.value)
244 class BadRequestHash(xmlrpclib.Fault):
245 def __init__(self, hash = None, extra = None):
246 faultString = "bad request hash: " + str(hash)
247 xmlrpclib.Fault.__init__(self, 902, faultString)
249 class MissingTrustedRoots(SfaFault):
250 def __init__(self, value, extra = None):
252 faultString = "Trusted root directory does not exist: %(value)s" % locals()
253 SfaFault.__init__(self, 102, faultString, extra)
255 return repr(self.value)
257 class MissingSfaInfo(SfaFault):
258 def __init__(self, value, extra = None):
260 faultString = "Missing information: %(value)s" % locals()
261 SfaFault.__init__(self, 102, faultString, extra)
263 return repr(self.value)
265 class InvalidRSpec(SfaFault):
266 def __init__(self, value, extra = None):
268 faultString = "Invalid RSpec: %(value)s" % locals()
269 SfaFault.__init__(self, 108, faultString, extra)
271 return repr(self.value)
273 class AccountNotEnabled(SfaFault):
274 def __init__(self, extra = None):
275 faultString = "Account Disabled"
276 SfaFault.__init__(self, 108, faultString, extra)
278 return repr(self.value)
280 class CredentialNotVerifiable(SfaFault):
281 def __init__(self, value, extra = None):
283 faultString = "Unable to verify credential: %(value)s, " %locals()
284 SfaFault.__init__(self, 115, faultString, extra)
286 return repr(self.value)
288 class CertExpired(SfaFault):
289 def __init__(self, value, extra=None):
291 faultString = "%s cert is expired" % value
292 SfaFault.__init__(self, 102, faultString, extra)