Cinder base exception handling.
Includes decorator for re-raising Cinder-type exceptions.
SHOULD include dedicated exception logging.
-
exception AdminRequired(message=None, **kwargs)
Bases: cinder.exception.NotAuthorized
-
message = 'User does not have admin privileges'
-
exception BadHTTPResponseStatus(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Bad HTTP response status %(status)s'
-
exception CinderException(message=None, **kwargs)
Bases: exceptions.Exception
Base Cinder Exception
To correctly use this class, inherit from it and define
a ‘message’ property. That message will get printf’d
with the keyword arguments provided to the constructor.
-
code = 500
-
message = 'An unknown exception occurred.'
-
safe = False
-
exception ClassNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Class %(class_name)s could not be found: %(exception)s'
-
exception ConfigNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Could not find config at %(path)s'
-
exception ConvertedException(code=0, title='', explanation='')
Bases: webob.exc.WSGIHTTPException
-
exception DBError(inner_exception=None)
Bases: cinder.exception.Error
Wraps an implementation specific exception.
-
exception DeprecatedConfig(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Fatal call to deprecated config %(msg)s'
-
exception DiskNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'No disk at %(location)s'
-
exception Duplicate(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
exception DuplicateSfVolumeNames(message=None, **kwargs)
Bases: cinder.exception.Duplicate
-
message = 'Detected more than one volume with name %(vol_name)s'
-
exception Error
Bases: exceptions.Exception
-
exception FailedCmdWithDump(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Operation failed with status=%(status)s. Full dump: %(data)s'
-
exception FileNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'File %(file_path)s could not be found.'
-
exception GlanceConnectionFailed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Connection to glance failed: %(reason)s'
-
exception HostBinaryNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Could not find binary %(binary)s on host %(host)s.'
-
exception HostNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Host %(host)s could not be found.'
-
exception ISCSITargetCreateFailed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Failed to create iscsi target for volume %(volume_id)s.'
-
exception ISCSITargetNotFoundForVolume(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'No target id found for volume %(volume_id)s.'
-
exception ISCSITargetRemoveFailed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Failed to remove iscsi target for volume %(volume_id)s.'
-
exception ImageNotAuthorized(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Not authorized for image %(image_id)s.'
-
exception ImageNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Image %(image_id)s could not be found.'
-
exception ImageUnacceptable(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Image %(image_id)s is unacceptable: %(reason)s'
-
exception InstanceNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Instance %(instance_id)s could not be found.'
-
exception Invalid(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
code = 400
-
message = 'Unacceptable parameters.'
-
exception InvalidContentType(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid content type %(content_type)s.'
-
exception InvalidImageRef(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid image href %(image_href)s.'
-
exception InvalidInput(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid input received: %(reason)s'
-
exception InvalidParameterValue(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = '%(err)s'
-
exception InvalidPortRange(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid port range %(from_port)s:%(to_port)s. %(msg)s'
-
exception InvalidQuotaValue(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Change would make usage less than 0 for the following resources: %(unders)s'
-
exception InvalidRequest(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'The request is invalid.'
-
exception InvalidReservationExpiration(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid reservation expiration %(expire)s.'
-
exception InvalidResults(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'The results are invalid.'
-
exception InvalidSnapshot(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid snapshot: %(reason)s'
-
exception InvalidUUID(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Expected a uuid but received %(uuid).'
-
exception InvalidUnicodeParameter(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid Parameter: Unicode is not supported by the current database.'
-
exception InvalidVolume(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid volume: %(reason)s'
-
exception InvalidVolumeType(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid volume type: %(reason)s'
-
exception KeyPairExists(message=None, **kwargs)
Bases: cinder.exception.Duplicate
-
message = 'Key pair %(key_name)s already exists.'
-
exception MalformedRequestBody(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Malformed message body: %(reason)s'
-
exception MalformedResponse(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Malformed response to command %(cmd)s: %(reason)s'
-
exception MigrationError(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Migration error: %(reason)s'
-
exception MigrationNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Migration %(migration_id)s could not be found.'
-
exception MigrationNotFoundByStatus(message=None, **kwargs)
Bases: cinder.exception.MigrationNotFound
-
message = 'Migration not found for instance %(instance_id)s with status %(status)s.'
-
exception NfsException(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Unknown NFS exception'
-
exception NfsNoSharesMounted(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'No mounted NFS shares found'
-
exception NfsNoSuitableShareFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'There is no share which can host %(volume_size)sG'
-
exception NoValidHost(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'No valid host was found. %(reason)s'
-
exception NotAllowed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Action not allowed.'
-
exception NotAuthorized(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
code = 403
-
message = 'Not authorized.'
-
exception NotFound(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
code = 404
-
message = 'Resource could not be found.'
-
safe = True
-
exception OverQuota(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Quota exceeded for resources: %(overs)s'
-
exception PasteAppNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = "Could not load paste app '%(name)s' from %(path)s"
-
exception PersistentVolumeFileNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Volume %(volume_id)s persistence file could not be found.'
-
exception PolicyNotAuthorized(message=None, **kwargs)
Bases: cinder.exception.NotAuthorized
-
message = "Policy doesn't allow %(action)s to be performed."
-
exception ProcessExecutionError(stdout=None, stderr=None, exit_code=None, cmd=None, description=None)
Bases: exceptions.IOError
-
exception ProjectQuotaNotFound(message=None, **kwargs)
Bases: cinder.exception.QuotaNotFound
-
message = 'Quota for project %(project_id)s could not be found.'
-
exception QuotaClassNotFound(message=None, **kwargs)
Bases: cinder.exception.QuotaNotFound
-
message = 'Quota class %(class_name)s could not be found.'
-
exception QuotaError(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
code = 413
-
message = 'Quota exceeded: code=%(code)s'
-
safe = True
-
exception QuotaNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Quota could not be found'
-
exception QuotaResourceUnknown(message=None, **kwargs)
Bases: cinder.exception.QuotaNotFound
-
message = 'Unknown quota resources %(unknown)s.'
-
exception QuotaUsageNotFound(message=None, **kwargs)
Bases: cinder.exception.QuotaNotFound
-
message = 'Quota usage for project %(project_id)s could not be found.'
-
exception ReservationNotFound(message=None, **kwargs)
Bases: cinder.exception.QuotaNotFound
-
message = 'Quota reservation %(uuid)s could not be found.'
-
exception ServiceNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Service %(service_id)s could not be found.'
-
exception ServiceUnavailable(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Service is unavailable at this time.'
-
exception SfAccountNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Unable to locate account %(account_name)s on Solidfire device'
-
exception SfJsonEncodeFailure(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Failed to load data into json format'
-
exception SnapshotIsBusy(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'deleting snapshot %(snapshot_name)s that has dependent volumes'
-
exception SnapshotNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Snapshot %(snapshot_id)s could not be found.'
-
exception SolidFireAPIDataException(message=None, **kwargs)
Bases: cinder.exception.SolidFireAPIException
-
message = 'Error in SolidFire API response: data=%(data)s'
-
exception SolidFireAPIException(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Bad response from SolidFire API'
-
exception UnknownCmd(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Unknown or unsupported command %(cmd)s'
-
exception VolumeAttached(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Volume %(volume_id)s is still attached, detach volume first.'
-
exception VolumeBackendAPIException(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Bad or unexpected response from the storage volume backend API: %(data)s'
-
exception VolumeIsBusy(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'deleting volume %(volume_name)s that has snapshot'
-
exception VolumeLimitExceeded(message=None, **kwargs)
Bases: cinder.exception.QuotaError
-
message = 'Maximum number of volumes allowed (%(allowed)d) exceeded'
-
exception VolumeMetadataNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Volume %(volume_id)s has no metadata with key %(metadata_key)s.'
-
exception VolumeNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Volume %(volume_id)s could not be found.'
-
exception VolumeNotFoundForInstance(message=None, **kwargs)
Bases: cinder.exception.VolumeNotFound
-
message = 'Volume not found for instance %(instance_id)s.'
-
exception VolumeSizeExceedsAvailableQuota(message=None, **kwargs)
Bases: cinder.exception.QuotaError
-
message = 'Requested volume exceeds allowed volume size quota'
-
exception VolumeSizeExceedsQuota(message=None, **kwargs)
Bases: cinder.exception.QuotaError
-
message = 'Maximum volume size exceeded'
-
exception VolumeTypeCreateFailed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Cannot create volume_type with name %(name)s and specs %(extra_specs)s'
-
exception VolumeTypeExists(message=None, **kwargs)
Bases: cinder.exception.Duplicate
-
message = 'Volume Type %(name)s already exists.'
Bases: cinder.exception.NotFound
-
exception VolumeTypeNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Volume type %(volume_type_id)s could not be found.'
-
exception VolumeTypeNotFoundByName(message=None, **kwargs)
Bases: cinder.exception.VolumeTypeNotFound
-
message = 'Volume type with name %(volume_type_name)s could not be found.'
-
exception WillNotSchedule(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = "Host %(host)s is not up or doesn't exist."
-
exception ZadaraAttachmentsNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Failed to retrieve attachments for volume %(name)s'
-
exception ZadaraInvalidAttachmentInfo(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid attachment info for volume %(name)s: %(reason)s'
-
exception ZadaraServerCreateFailure(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Unable to create server object for initiator %(name)s'
-
exception ZadaraServerNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Unable to find server object for initiator %(name)s'
-
exception ZadaraVPSANoActiveController(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Unable to find any active VPSA controller'
-
wrap_db_error(f)