The cinder.db.sqlalchemy.models Module

SQLAlchemy models for cinder data.

class Backup(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a backup of a volume to Swift.

availability_zone None
container None
created_at None
data_timestamp None
deleted None
deleted_at None
display_description None
display_name None
fail_reason None
host None
id None
name None
num_dependent_backups None
object_count None
parent_id None
project_id None
restore_volume_id None
service None
service_metadata None
size None
snapshot_id None
status None
temp_snapshot_id None
temp_volume_id None
updated_at None
user_id None
validate_fail_reason(key, fail_reason)
volume_id None
class Cgsnapshot(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a cgsnapshot.

consistencygroup None
consistencygroup_id None
created_at None
deleted None
deleted_at None
description None
id None
name None
project_id None
status None
updated_at None
user_id None
class CinderBase

Bases: oslo_db.sqlalchemy.models.TimestampMixin, oslo_db.sqlalchemy.models.ModelBase

Base class for Cinder Models.

delete(session)

Delete this object.

deleted = Column(None, Boolean(), table=None, default=ColumnDefault(False))
deleted_at = Column(None, DateTime(), table=None)
metadata = None
class ConsistencyGroup(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a consistencygroup.

availability_zone None
cgsnapshot_id None
created_at None
deleted None
deleted_at None
description None
host None
id None
name None
project_id None
source_cgid None
status None
updated_at None
user_id None
volume_type_id None
class DriverInitiatorData(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin, oslo_db.sqlalchemy.models.ModelBase

Represents private key-value pair specific an initiator for drivers

created_at None
id None
initiator None
key None
namespace None
updated_at None
value None
class Encryption(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents encryption requirement for a volume type.

Encryption here is a set of performance characteristics describing cipher, provider, and key_size for a certain volume type.

cipher None
control_location None
created_at None
deleted None
deleted_at None
encryption_id None
key_size None
provider None
updated_at None
volume_type None
volume_type_id None
class ImageVolumeCacheEntry(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.ModelBase

Represents an image volume cache entry

host None
id None
image_id None
image_updated_at None
last_used None
size None
volume_id None
class Message(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a message

created_at None
deleted None
deleted_at None
event_id None
expires_at None
id None
message_level None
project_id None
request_id None
resource_type None
resource_uuid None
updated_at None
class QualityOfServiceSpecs(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents QoS specs as key/value pairs.

QoS specs is standalone entity that can be associated/disassociated with volume types (one to many relation). Adjacency list relationship pattern is used in this model in order to represent following hierarchical data with in flat table, e.g, following structure:

qos-specs-1  'Rate-Limit'
     |
     +------>  consumer = 'front-end'
     +------>  total_bytes_sec = 1048576
     +------>  total_iops_sec = 500

qos-specs-2  'QoS_Level1'
     |
     +------>  consumer = 'back-end'
     +------>  max-iops =  1000
     +------>  min-iops = 200

is represented by:

  id       specs_id       key                  value
------     --------   -------------            -----
UUID-1     NULL       QoSSpec_Name           Rate-Limit
UUID-2     UUID-1       consumer             front-end
UUID-3     UUID-1     total_bytes_sec        1048576
UUID-4     UUID-1     total_iops_sec           500
UUID-5     NULL       QoSSpec_Name           QoS_Level1
UUID-6     UUID-5       consumer             back-end
UUID-7     UUID-5       max-iops               1000
UUID-8     UUID-5       min-iops               200
created_at None
deleted None
deleted_at None
id None
key None
specs None
specs_id None
updated_at None
value None
vol_types None
class Quota(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a single quota override for a project.

If there is no row for a given project id and resource, then the default for the quota class is used. If there is no row for a given quota class and resource, then the default for the deployment is used. If the row is present but the hard limit is Null, then the resource is unlimited.

allocated None
created_at None
deleted None
deleted_at None
hard_limit None
id None
project_id None
resource None
updated_at None
class QuotaClass(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a single quota override for a quota class.

If there is no row for a given quota class and resource, then the default for the deployment is used. If the row is present but the hard limit is Null, then the resource is unlimited.

class_name None
created_at None
deleted None
deleted_at None
hard_limit None
id None
resource None
updated_at None
class QuotaUsage(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents the current usage for a given resource.

created_at None
deleted None
deleted_at None
id None
in_use None
project_id None
reserved None
resource None
total None
until_refresh None
updated_at None
class Reservation(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a resource reservation for quotas.

allocated_id None
created_at None
deleted None
deleted_at None
delta None
expire None
id None
project_id None
quota None
resource None
updated_at None
usage None
usage_id None
uuid None
class Service(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a running service on a host.

active_backend_id None
availability_zone None
binary None
created_at None
deleted None
deleted_at None
disabled None
disabled_reason None
frozen None
host None
id None
modified_at None
object_current_version None
replication_status None
report_count None
rpc_current_version None
topic None
updated_at None
class Snapshot(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a snapshot of volume.

cgsnapshot None
cgsnapshot_id None
created_at None
deleted None
deleted_at None
display_description None
display_name None
encryption_key_id None
id None
name None
progress None
project_id None
provider_auth None
provider_id None
provider_location None
status None
updated_at None
user_id None
volume None
volume_id None
volume_name None
volume_size None
volume_type_id None
class SnapshotMetadata(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a metadata key/value pair for a snapshot.

created_at None
deleted None
deleted_at None
id None
key None
snapshot None
snapshot_id None
updated_at None
value None
class Transfer(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a volume transfer request.

created_at None
crypt_hash None
deleted None
deleted_at None
display_name None
expires_at None
id None
salt None
updated_at None
volume None
volume_id None
class Volume(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a block storage device that can be attached to a vm.

attach_status None
availability_zone None
bootable None
consistencygroup None
consistencygroup_id None
created_at None
deleted None
deleted_at None
display_description None
display_name None
ec2_id None
encryption_key_id None
host None
id None
launched_at None
migration_status None
multiattach None
name None
name_id None
previous_status None
project_id None
provider_auth None
provider_geometry None
provider_id None
provider_location None
replication_driver_data None
replication_extended_status None
replication_status None
scheduled_at None
size None
snapshot_id None
source_volid None
status None
terminated_at None
updated_at None
user_id None
volume_type_id None
class VolumeAdminMetadata(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents an administrator metadata key/value pair for a volume.

created_at None
deleted None
deleted_at None
id None
key None
updated_at None
value None
volume None
volume_id None
class VolumeAttachment(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a volume attachment for a vm.

attach_mode None
attach_status None
attach_time None
attached_host None
created_at None
deleted None
deleted_at None
detach_time None
id None
instance_uuid None
mountpoint None
updated_at None
volume None
volume_id None
class VolumeGlanceMetadata(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Glance metadata for a bootable volume.

created_at None
deleted None
deleted_at None
id None
key None
snapshot_id None
updated_at None
value None
volume None
volume_id None
class VolumeMetadata(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents a metadata key/value pair for a volume.

created_at None
deleted None
deleted_at None
id None
key None
updated_at None
value None
volume None
volume_id None
class VolumeTypeExtraSpecs(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represents additional specs as key/value pairs for a volume_type.

created_at None
deleted None
deleted_at None
id None
key None
updated_at None
value None
volume_type None
volume_type_id None
class VolumeTypeProjects(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represent projects associated volume_types.

created_at None
deleted None
deleted_at None
id None
project_id None
updated_at None
volume_type None
volume_type_id None
class VolumeTypes(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, cinder.db.sqlalchemy.models.CinderBase

Represent possible volume_types of volumes offered.

created_at None
deleted None
deleted_at None
description None
id None
is_public None
name None
qos_specs_id None
updated_at None
volumes None
register_models()

Register Models and create metadata.

Called from cinder.db.sqlalchemy.__init__ as part of loading the driver, it will never need to be called explicitly elsewhere unless the connection is lost and needs to be reestablished.

Previous topic

The cinder.db.sqlalchemy.migrate_repo.versions.074_add_message_table Module

Next topic

The cinder.exception Module

This Page