cinder.exception module

Cinder base exception handling.

Includes decorator for re-raising Cinder-type exceptions.

SHOULD include dedicated exception logging.

exception APIException(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Error while requesting %(service)s API.'
exception APITimeout(message=None, **kwargs)

Bases: cinder.exception.APIException

message = 'Timeout while requesting %(service)s API.'
exception AdminRequired(message=None, **kwargs)

Bases: cinder.exception.NotAuthorized

message = 'User does not have admin privileges'
exception AttachmentSpecsNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Attachment %(attachment_id)s has no key %(specs_key)s.'
exception BackupDriverException(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Backup driver reported an error: %(reason)s'
exception BackupFailedToGetVolumeBackend(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Failed to identify volume backend.'
exception BackupInvalidCephArgs(message=None, **kwargs)

Bases: cinder.exception.BackupDriverException

message = 'Invalid Ceph args provided for backup rbd operation'
exception BackupLimitExceeded(message=None, **kwargs)

Bases: cinder.exception.QuotaError

message = 'Maximum number of backups allowed (%(allowed)d) exceeded'
exception BackupMetadataNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Backup %(backup_id)s has no metadata with key %(metadata_key)s.'
exception BackupMetadataUnsupportedVersion(message=None, **kwargs)

Bases: cinder.exception.BackupDriverException

message = 'Unsupported backup metadata version requested'
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.BackupDriverException

message = 'Backup RBD operation failed'
exception BackupRestoreCancel(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Canceled backup %(back_id)s restore on volume %(vol_id)s'
exception BadHTTPResponseStatus(message=None, **kwargs)

Bases: cinder.exception.VolumeDriverException

message = 'Bad HTTP response status %(status)s'
exception BadResetResourceStatus(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Bad reset resource status : %(reason)s'
exception CappedVersionUnknown(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = "Unrecoverable Error: Versioned Objects in DB are capped to unknown version %(version)s. Most likely your environment contains only new services and you're trying to start an older one. Use `cinder-manage service list` to check that and upgrade this service."
exception CgSnapshotNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'CgSnapshot %(cgsnapshot_id)s could not be found.'
exception CinderAcceleratorError(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Cinder accelerator %(accelerator)s encountered an error while compressing/decompressing image.\nCommand %(cmd)s execution failed.\n%(description)s\nReason: %(reason)s'
exception CinderException(message=None, **kwargs)

Bases: 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
headers = {}
message = 'An unknown exception occurred.'
safe = False
exception CleanableInUse(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = '%(type)s with id %(id)s is already being cleaned up or another host has taken over it.'
exception ClusterExists(message=None, **kwargs)

Bases: cinder.exception.Duplicate

message = 'Cluster %(name)s already exists.'
exception ClusterHasHosts(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Cluster %(id)s still has hosts.'
exception ClusterNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Cluster %(id)s could not be found.'
exception ConfigNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Could not find config at %(path)s'
exception ConsistencyGroupNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'ConsistencyGroup %(consistencygroup_id)s could not be found.'
exception ConvertedException(code=500, title='', explanation='')

Bases: webob.exc.WSGIHTTPException

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 not ready.'
exception Duplicate(message=None, **kwargs)

Bases: cinder.exception.CinderException

exception EncryptedBackupOperationFailed(message=None, **kwargs)

Bases: cinder.exception.BackupDriverException

message = 'Backup operation of an encrypted volume failed.'
exception Error

Bases: Exception

exception EvaluatorParseException

Bases: Exception

message = 'Error during evaluator parsing: %(reason)s'
exception ExportFailure(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Failed to export for volume: %(reason)s'
exception ExtendVolumeError(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Error extending volume: %(reason)s'
exception FCSanLookupServiceException(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Fibre Channel SAN Lookup failure: %(reason)s'
exception FCZoneDriverException(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Fibre Channel Zone operation failed: %(reason)s'
exception FailedCmdWithDump(message=None, **kwargs)

Bases: cinder.exception.VolumeDriverException

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 GroupLimitExceeded(message=None, **kwargs)

Bases: cinder.exception.QuotaError

message = 'Maximum number of groups allowed (%(allowed)d) exceeded'
exception GroupNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Group %(group_id)s could not be found.'
exception GroupSnapshotNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'GroupSnapshot %(group_snapshot_id)s could not be found.'
exception GroupTypeAccessExists(message=None, **kwargs)

Bases: cinder.exception.Duplicate

message = 'Group type access for %(group_type_id)s / %(project_id)s combination already exists.'
exception GroupTypeAccessNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Group type access not found for %(group_type_id)s / %(project_id)s combination.'
exception GroupTypeCreateFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Cannot create group_type with name %(name)s and specs %(group_specs)s'
exception GroupTypeEncryptionExists(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Group type encryption for type %(type_id)s already exists.'
exception GroupTypeEncryptionNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Group type encryption for type %(type_id)s does not exist.'
exception GroupTypeExists(message=None, **kwargs)

Bases: cinder.exception.Duplicate

message = 'Group Type %(id)s already exists.'
exception GroupTypeInUse(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Group Type %(group_type_id)s deletion is not allowed with groups present with the type.'
exception GroupTypeNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Group type %(group_type_id)s could not be found.'
exception GroupTypeNotFoundByName(message=None, **kwargs)

Bases: cinder.exception.GroupTypeNotFound

message = 'Group type with name %(group_type_name)s could not be found.'
exception GroupTypeSpecsNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Group Type %(group_type_id)s has no specs with key %(group_specs_key)s.'
exception GroupTypeUpdateFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Cannot update group_type %(id)s'
exception GroupVolumeTypeMappingExists(message=None, **kwargs)

Bases: cinder.exception.Duplicate

message = 'Group volume type mapping for %(group_id)s / %(volume_type_id)s combination already exists.'
exception HostNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Host %(host)s could not be found.'
exception ISCSITargetAttachFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Failed to attach iSCSI target for volume %(volume_id)s.'
exception ISCSITargetCreateFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Failed to create iscsi target for volume %(volume_id)s.'
exception ISCSITargetDetachFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Failed to detach iSCSI target for volume %(volume_id)s.'
exception ISCSITargetHelperCommandFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = '%(error_message)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 ImageCompressionNotAllowed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Image compression upload disallowed, but container_format is compressed'
exception ImageCopyFailure(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Failed to copy image to volume: %(reason)s'
exception ImageDownloadFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Failed to download image %(image_href)s, reason: %(reason)s'
exception ImageLimitExceeded(message=None, **kwargs)

Bases: cinder.exception.QuotaError

message = 'Image quota exceeded'
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 ImageSignatureVerificationException(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Failed to verify image signature, reason: %(reason)s.'
exception ImageTooBig(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Image %(image_id)s size exceeded available disk space: %(reason)s'
exception ImageUnacceptable(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Image %(image_id)s is unacceptable: %(reason)s'
exception Invalid(message=None, **kwargs)

Bases: cinder.exception.CinderException

code = 400
message = 'Unacceptable parameters.'
exception InvalidAPIVersionString(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'API Version String %(version)s is of invalid format. Must be of format MajorNum.MinorNum.'
exception InvalidAuthKey(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid auth key: %(reason)s'
exception InvalidAvailabilityZone(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = "Availability zone '%(az)s' is invalid."
exception InvalidBackup(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid backup: %(reason)s'
exception InvalidCgSnapshot(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid CgSnapshot: %(reason)s'
exception InvalidConfigurationValue(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Value "%(value)s" is not valid for configuration option "%(option)s"'
exception InvalidConnectorException(message=None, **kwargs)

Bases: cinder.exception.VolumeDriverException

message = "Connector doesn't have required information: %(missing)s"
exception InvalidConsistencyGroup(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid ConsistencyGroup: %(reason)s'
exception InvalidContentType(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid content type %(content_type)s.'
exception InvalidGlobalAPIVersion(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Version %(req_ver)s is not supported by the API. Minimum is %(min_ver)s and maximum is %(max_ver)s.'
exception InvalidGroup(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid Group: %(reason)s'
exception InvalidGroupSnapshot(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid GroupSnapshot: %(reason)s'
exception InvalidGroupSnapshotStatus(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid GroupSnapshot Status: %(reason)s'
exception InvalidGroupStatus(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid Group Status: %(reason)s'
exception InvalidGroupType(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid group type: %(reason)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 InvalidMetadataType(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'The type of metadata: %(metadata_type)s for volume/snapshot %(id)s is invalid.'
exception InvalidName(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = "An invalid 'name' value was provided. %(reason)s"
exception InvalidNestedQuotaSetup(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Project quotas are not properly setup for nested quotas: %(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 InvalidReplicationTarget(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid Replication Target: %(reason)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 InvalidSignatureImage(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Signature metadata is incomplete for image: %(image_id)s.'
exception InvalidSnapshot(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Invalid snapshot: %(reason)s'
exception InvalidTypeAvailabilityZones(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = "Volume type's availability zones are invalid %(az)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

message = 'key manager error: %(reason)s'
exception LockCreationFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Unable to create lock. Coordination backend not started.'
exception LockingFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Lock acquisition failed.'
exception MalformedRequestBody(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Malformed message body: %(reason)s'
exception MalformedResponse(message=None, **kwargs)

Bases: cinder.exception.VolumeDriverException

message = 'Malformed response to command %(cmd)s: %(reason)s'
exception ManageExistingAlreadyManaged(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Unable to manage existing volume. Volume %(volume_ref)s already managed.'
exception ManageExistingInvalidReference(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Manage existing volume failed due to invalid backend reference %(existing_ref)s: %(reason)s'
exception ManageExistingVolumeTypeMismatch(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Manage existing volume failed due to volume type mismatch: %(reason)s'
exception MessageNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Message %(message_id)s could not be found.'
exception MetadataAbsent(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'There is no metadata in DB object.'
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 MissingRequired(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = "Missing required element '%(element)s' in request body."
exception NfsException(message=None, **kwargs)

Bases: cinder.exception.RemoteFSException

message = 'Unknown NFS exception'
exception NfsNoSharesMounted(message=None, **kwargs)

Bases: cinder.exception.RemoteFSNoSharesMounted

message = 'No mounted NFS shares found'
exception NfsNoSuitableShareFound(message=None, **kwargs)

Bases: cinder.exception.RemoteFSNoSuitableShareFound

message = 'There is no share which can host %(volume_size)sG'
exception NoMoreTargets(message=None, **kwargs)

Bases: cinder.exception.CinderException

No more available targets.

exception NoValidBackend(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'No valid backend 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 NotSupportedOperation(message=None, **kwargs)

Bases: cinder.exception.Invalid

code = 405
message = 'Operation not supported: %(operation)s.'
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 PolicyNotAuthorized(message=None, **kwargs)

Bases: cinder.exception.NotAuthorized

message = "Policy doesn't allow %(action)s to be performed."
exception ProgrammingError(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Programming error in Cinder: %(reason)s'
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
headers = {'Retry-After': '0'}
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 RPCTimeout(message=None, **kwargs)

Bases: cinder.exception.CinderException

code = 502
message = 'Timeout while requesting capabilities from backend %(service)s.'
exception RekeyNotSupported(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Rekey not supported.'
exception RemoteFSConcurrentRequest(message=None, **kwargs)

Bases: cinder.exception.RemoteFSException

message = 'A concurrent, possibly contradictory, request has been made.'
exception RemoteFSException(message=None, **kwargs)

Bases: cinder.exception.VolumeDriverException

message = 'Unknown RemoteFS exception'
exception RemoteFSInvalidBackingFile(message=None, **kwargs)

Bases: cinder.exception.VolumeDriverException

message = 'File %(path)s has invalid backing file %(backing_file)s.'
exception RemoteFSNoSharesMounted(message=None, **kwargs)

Bases: cinder.exception.RemoteFSException

message = 'No mounted shares found'
exception RemoteFSNoSuitableShareFound(message=None, **kwargs)

Bases: cinder.exception.RemoteFSException

message = 'There is no share which can host %(volume_size)sG'
exception RemoveExportException(message=None, **kwargs)

Bases: cinder.exception.VolumeDriverException

message = 'Failed to remove export for volume %(volume)s: %(reason)s'
exception ReplicationError(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Volume %(volume_id)s replication error: %(reason)s'
exception ReplicationGroupError(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Group %(group_id)s replication error: %(reason)s.'
exception ReplicationNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Volume replication for %(volume_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 ServerNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Instance %(uuid)s could not be found.'
exception ServiceNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

exception ServiceTooOld(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Service is too old to fulfil this request.'
exception ServiceUnavailable(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Service is unavailable at this time.'
exception ServiceUserTokenNoAuth(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'The [service_user] send_service_user_token option was requested, but no service auth could be loaded. Please check the [service_user] configuration section.'
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 SnapshotUnavailable(message=None, **kwargs)

Bases: cinder.exception.VolumeBackendAPIException

message = 'The snapshot is unavailable: %(data)s'
exception SwiftConnectionFailed(message=None, **kwargs)

Bases: cinder.exception.BackupDriverException

message = 'Connection to swift failed: %(reason)s'
exception TargetUpdateFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Failed to update target for volume %(volume_id)s.'
exception TransferNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Transfer %(transfer_id)s could not be found.'
exception UnableToFailOver(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Unable to failover to replication target: %(reason)s).'
exception UnavailableDuringUpgrade(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Cannot perform %(action)s during system upgrade.'
exception UnexpectedOverQuota(message=None, **kwargs)

Bases: cinder.exception.QuotaError

message = 'Unexpected over quota on %(name)s.'
exception UnknownCmd(message=None, **kwargs)

Bases: cinder.exception.VolumeDriverException

message = 'Unknown or unsupported command %(cmd)s'
exception ValidationError(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = '%(detail)s'
exception VersionNotFoundForAPIMethod(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'API version %(version)s is not supported on this method.'
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 VolumeAttachmentNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Volume attachment could not be found with filter: %(filter)s.'
exception VolumeBackendAPIException(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Bad or unexpected response from the storage volume backend API: %(data)s'
exception VolumeBackupSizeExceedsAvailableQuota(message=None, **kwargs)

Bases: cinder.exception.QuotaError

message = 'Requested backup exceeds allowed Backup gigabytes quota. Requested %(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed.'
exception VolumeDeviceNotFound(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Volume device not found at %(device)s.'
exception VolumeDriverException(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Volume driver reported an error: %(message)s'
exception VolumeGroupCreationFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Failed to create Volume Group: %(vg_name)s'
exception VolumeGroupNotFound(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Unable to find Volume Group: %(vg_name)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 for quota '%(name)s'."
exception VolumeMetadataBackupExists(message=None, **kwargs)

Bases: cinder.exception.BackupDriverException

message = 'Metadata backup already exists for this volume'
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 VolumeNotDeactivated(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Volume %(name)s was not deactivated in time.'
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 %(name)s quota. Requested %(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed.'
exception VolumeSizeExceedsLimit(message=None, **kwargs)

Bases: cinder.exception.QuotaError

message = 'Requested volume size %(size)dG is larger than maximum allowed limit %(limit)dG.'
exception VolumeSnapshotNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'No snapshots found for volume %(volume_id)s.'
exception VolumeTypeAccessExists(message=None, **kwargs)

Bases: cinder.exception.Duplicate

message = 'Volume type access for %(volume_type_id)s / %(project_id)s combination already exists.'
exception VolumeTypeAccessNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Volume type access not found for %(volume_type_id)s / %(project_id)s combination.'
exception VolumeTypeCreateFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Cannot create volume_type with name %(name)s and specs %(extra_specs)s'
exception VolumeTypeDefault(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'The volume type %(volume_type_name)s is the default volume type and cannot be deleted.'
exception VolumeTypeEncryptionExists(message=None, **kwargs)

Bases: cinder.exception.Invalid

message = 'Volume type encryption for type %(type_id)s already exists.'
exception VolumeTypeEncryptionNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Volume type encryption for type %(type_id)s does not exist.'
exception VolumeTypeExists(message=None, **kwargs)

Bases: cinder.exception.Duplicate

message = 'Volume Type %(id)s already exists.'
exception VolumeTypeExtraSpecsNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Volume Type %(volume_type_id)s has no extra specs with key %(extra_specs_key)s.'
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 VolumeTypeUpdateFailed(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Cannot update volume_type %(id)s'
exception WorkerExists(message=None, **kwargs)

Bases: cinder.exception.Duplicate

message = 'Worker for %(type)s %(id)s already exists.'
exception WorkerNotFound(message=None, **kwargs)

Bases: cinder.exception.NotFound

message = 'Worker with %s could not be found.'
exception ZoneManagerException(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Fibre Channel connection control failure: %(reason)s'
exception ZoneManagerNotInitialized(message=None, **kwargs)

Bases: cinder.exception.CinderException

message = 'Fibre Channel Zone Manager not initialized'