Replace ApiError with new exceptions
* Convert ApiError to EC2APIError * Add new exceptions to replace ApiError where it didn't belong * Fixes bug 926250 Change-Id: Ia711440ee0313faf8ea8c87e2c0a2f5b39cc55a2
This commit is contained in:
@@ -80,7 +80,7 @@ class Error(Exception):
|
||||
super(Error, self).__init__(message)
|
||||
|
||||
|
||||
class ApiError(Error):
|
||||
class EC2APIError(Error):
|
||||
def __init__(self, message='Unknown', code=None):
|
||||
self.msg = message
|
||||
self.code = code
|
||||
@@ -88,7 +88,7 @@ class ApiError(Error):
|
||||
outstr = '%s: %s' % (code, message)
|
||||
else:
|
||||
outstr = '%s' % message
|
||||
super(ApiError, self).__init__(outstr)
|
||||
super(EC2APIError, self).__init__(outstr)
|
||||
|
||||
|
||||
class DBError(Error):
|
||||
@@ -223,6 +223,14 @@ class Invalid(NovaException):
|
||||
message = _("Unacceptable parameters.")
|
||||
|
||||
|
||||
class InvalidSnapshot(Invalid):
|
||||
message = _("Invalid snapshot") + ": %(reason)s"
|
||||
|
||||
|
||||
class VolumeUnattached(Invalid):
|
||||
message = _("Volume %(volume_id)s is not attached to anything")
|
||||
|
||||
|
||||
class InvalidKeypair(Invalid):
|
||||
message = _("Keypair data is invalid")
|
||||
|
||||
@@ -248,7 +256,11 @@ class InvalidInstanceType(Invalid):
|
||||
|
||||
|
||||
class InvalidVolumeType(Invalid):
|
||||
message = _("Invalid volume type %(volume_type)s.")
|
||||
message = _("Invalid volume type") + ": %(reason)s"
|
||||
|
||||
|
||||
class InvalidVolume(Invalid):
|
||||
message = _("Invalid volume") + ": %(reason)s"
|
||||
|
||||
|
||||
class InvalidPortRange(Invalid):
|
||||
@@ -930,9 +942,8 @@ class WillNotSchedule(NovaException):
|
||||
message = _("Host %(host)s is not up or doesn't exist.")
|
||||
|
||||
|
||||
class QuotaError(ApiError):
|
||||
"""Quota Exceeded."""
|
||||
pass
|
||||
class QuotaError(NovaException):
|
||||
message = _("Quota exceeded") + ": code=%(code)s"
|
||||
|
||||
|
||||
class AggregateNotFound(NotFound):
|
||||
@@ -962,3 +973,24 @@ class AggregateHostExists(Duplicate):
|
||||
|
||||
class DuplicateSfVolumeNames(Duplicate):
|
||||
message = _("Detected more than one volume with name %(vol_name)")
|
||||
|
||||
|
||||
class VolumeTypeCreateFailed(NovaException):
|
||||
message = _("Cannot create volume_type with "
|
||||
"name %(name)s and specs %(extra_specs)s")
|
||||
|
||||
|
||||
class InstanceTypeCreateFailed(NovaException):
|
||||
message = _("Unable to create instance type")
|
||||
|
||||
|
||||
class SolidFireAPIException(NovaException):
|
||||
message = _("Bad response from SolidFire API")
|
||||
|
||||
|
||||
class SolidFireAPIStatusException(SolidFireAPIException):
|
||||
message = _("Error in SolidFire API response: status=%(status)s")
|
||||
|
||||
|
||||
class SolidFireAPIDataException(SolidFireAPIException):
|
||||
message = _("Error in SolidFire API response: data=%(data)s")
|
||||
|
Reference in New Issue
Block a user