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 BackupFailedToGetVolumeBackend(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Failed to identify volume backend.'
-
exception BackupInvalidCephArgs(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid Ceph args provided for backup rbd operation'
-
exception BackupNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Backup %(backup_id)s could not be found.'
-
exception BackupOperationError(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'An error has occurred during backup operation'
-
exception BackupRBDOperationFailed(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Backup RBD operation failed'
-
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 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 CoraidESMBadCredentials(message=None, **kwargs)
Bases: cinder.exception.CoraidException
-
message = 'Login on ESM failed.'
-
exception CoraidESMBadGroup(message=None, **kwargs)
Bases: cinder.exception.CoraidException
-
message = 'Group with name "%(group_name)s" not found.'
-
exception CoraidESMConfigureError(message=None, **kwargs)
Bases: cinder.exception.CoraidException
-
message = 'ESM configure request failed: %(message)s.'
-
exception CoraidESMNotAvailable(message=None, **kwargs)
Bases: cinder.exception.CoraidException
-
message = 'Coraid ESM not available with reason: %(reason)s.'
-
exception CoraidESMReloginFailed(message=None, **kwargs)
Bases: cinder.exception.CoraidException
-
message = 'Relogin on ESM failed.'
-
exception CoraidException(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Coraid Cinder Driver exception.'
-
exception CoraidJsonEncodeFailure(message=None, **kwargs)
Bases: cinder.exception.CoraidException
-
message = 'Failed to encode json data.'
-
exception DeviceUnavailable(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'The device in the path %(path)s is unavailable: %(reason)s'
-
exception DriverNotInitialized(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = "Volume driver '%(driver)s' not initialized."
-
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 ExportFailure(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Failed to export for volume: %(reason)s'
-
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 GlanceMetadataExists(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Glance metadata cannot be updated, key %(key)s exists for volume id %(volume_id)s'
-
exception GlanceMetadataNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Glance metadata for volume/snapshot %(id)s cannot be found.'
-
exception GlusterfsException(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Unknown Gluster exception'
-
exception GlusterfsNoSharesMounted(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'No mounted Gluster shares found'
-
exception GlusterfsNoSuitableShareFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'There is no share which can host %(volume_size)sG'
-
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 ISCSITargetNotFoundForVolume(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'No target id found for volume %(volume_id)s.'
-
exception ImageCopyFailure(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Failed to copy image to volume: %(reason)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 Invalid3PARDomain(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Invalid 3PAR Domain: %(err)s'
-
exception InvalidAuthKey(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid auth key: %(reason)s'
-
exception InvalidBackup(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid backup: %(reason)s'
-
exception InvalidConfigurationValue(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Value "%(value)s" is not valid for configuration option "%(option)s"'
-
exception InvalidContentType(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid content type %(content_type)s.'
-
exception InvalidHost(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid host: %(reason)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 InvalidQoSSpecs(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid qos specs: %(reason)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 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)s.'
-
exception InvalidVolume(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid volume: %(reason)s'
-
exception InvalidVolumeAttachMode(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = "Invalid attaching mode '%(mode)s' for volume %(volume_id)s."
-
exception InvalidVolumeMetadata(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid metadata: %(reason)s'
-
exception InvalidVolumeMetadataSize(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid metadata size: %(reason)s'
-
exception InvalidVolumeType(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Invalid volume type: %(reason)s'
-
exception KeyManagerError(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
msg_fmt = 'key manager error: %(reason)s'
-
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 MetadataCopyFailure(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Failed to copy metadata to volume: %(reason)s'
-
exception MetadataCreateFailure(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Failed to create metadata for volume: %(reason)s'
-
exception MetadataUpdateFailure(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Failed to update metadata for volume: %(reason)s'
-
exception MigrationNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Migration %(migration_id)s could not be found.'
-
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 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 ParameterNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Could not find parameter %(param)s'
-
exception PasteAppNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = "Could not load paste app '%(name)s' from %(path)s"
-
exception PolicyNotAuthorized(message=None, **kwargs)
Bases: cinder.exception.NotAuthorized
-
message = "Policy doesn't allow %(action)s to be performed."
-
exception ProjectQuotaNotFound(message=None, **kwargs)
Bases: cinder.exception.QuotaNotFound
-
message = 'Quota for project %(project_id)s could not be found.'
-
exception QoSSpecsAssociateFailed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Failed to associate qos_specs: %(specs_id)s with type %(type_id)s.'
-
exception QoSSpecsCreateFailed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Failed to create qos_specs: %(name)s with specs %(qos_specs)s.'
-
exception QoSSpecsDisassociateFailed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Failed to disassociate qos_specs: %(specs_id)s with type %(type_id)s.'
-
exception QoSSpecsExists(message=None, **kwargs)
Bases: cinder.exception.Duplicate
-
message = 'QoS Specs %(specs_id)s already exists.'
-
exception QoSSpecsInUse(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'QoS Specs %(specs_id)s is still associated with entities.'
-
exception QoSSpecsKeyNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'QoS spec %(specs_id)s has no spec with key %(specs_key)s.'
-
exception QoSSpecsNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'No such QoS spec %(specs_id)s.'
-
exception QoSSpecsUpdateFailed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Failed to update qos_specs: %(specs_id)s with specs %(qos_specs)s.'
-
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 SSHInjectionThreat(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'SSH command injection detected: %(command)s'
-
exception SchedulerHostFilterNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Scheduler Host Filter %(filter_name)s could not be found.'
-
exception SchedulerHostWeigherNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Scheduler Host Weigher %(weigher_name)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 SnapshotLimitExceeded(message=None, **kwargs)
Bases: cinder.exception.QuotaError
-
message = 'Maximum number of snapshots allowed (%(allowed)d) exceeded'
-
exception SnapshotMetadataNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Snapshot %(snapshot_id)s has no metadata with key %(metadata_key)s.'
-
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 SwiftConnectionFailed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Connection to swift failed: %(reason)s'
-
exception TransferNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Transfer %(transfer_id)s could not be found.'
-
exception UnknownCmd(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Unknown or unsupported command %(cmd)s'
-
exception VolumeAdminMetadataNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Volume %(volume_id)s has no administration metadata with key %(metadata_key)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 VolumeMigrationFailed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Volume migration failed: %(reason)s'
-
exception VolumeNotFound(message=None, **kwargs)
Bases: cinder.exception.NotFound
-
message = 'Volume %(volume_id)s could not be found.'
-
exception VolumeSizeExceedsAvailableQuota(message=None, **kwargs)
Bases: cinder.exception.QuotaError
-
message = 'Requested volume or snapshot exceeds allowed Gigabytes quota'
-
exception VolumeTypeCreateFailed(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Cannot create volume_type with name %(name)s and specs %(extra_specs)s'
-
exception VolumeTypeEncryptionExists(message=None, **kwargs)
Bases: cinder.exception.Invalid
-
message = 'Volume type encryption for type %(type_id)s already exists.'
-
exception VolumeTypeExists(message=None, **kwargs)
Bases: cinder.exception.Duplicate
-
message = 'Volume Type %(id)s already exists.'
Bases: cinder.exception.NotFound
-
exception VolumeTypeInUse(message=None, **kwargs)
Bases: cinder.exception.CinderException
-
message = 'Volume Type %(volume_type_id)s deletion is not allowed with volumes present with the type.'
-
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'