MetadataObject
(key=None, value=None)¶Bases: dict
Volume
(*args, **kwargs)¶Bases: cinder.objects.cleanable.CinderCleanableObject
, cinder.objects.base.CinderObject
, cinder.objects.base.CinderObjectDictCompat
, cinder.objects.base.CinderComparableObject
, cinder.objects.base.ClusteredObject
OPTIONAL_FIELDS
= ('metadata', 'admin_metadata', 'glance_metadata', 'volume_type', 'volume_attachment', 'consistencygroup', 'snapshots', 'cluster', 'group')¶VERSION
= '1.9'¶admin_metadata
¶admin_metadata_update
(metadata, delete, add=True, update=True)¶attach_status
¶availability_zone
¶begin_attach
(attach_mode)¶bootable
¶cluster
¶cluster_name
¶consistencygroup
¶consistencygroup_id
¶create
()¶created_at
¶delete_metadata_key
(key)¶deleted
¶deleted_at
¶destroy
()¶display_description
¶display_name
¶ec2_id
¶encryption_key_id
¶fields
= {'_name_id': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'admin_metadata': Dict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'attach_status': VolumeAttachStatus(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True,valid_values=('attached', 'attaching', 'detached', 'error_attaching', 'error_detaching', 'reserved', 'deleted')), 'availability_zone': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'bootable': Boolean(default=False,nullable=True), 'cluster': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'cluster_name': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'consistencygroup': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'consistencygroup_id': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'deleted': Boolean(default=False,nullable=True), 'deleted_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'display_description': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'display_name': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'ec2_id': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'encryption_key_id': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'glance_metadata': Dict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'group': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'group_id': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'host': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'id': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'launched_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'metadata': Dict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'migration_status': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'multiattach': Boolean(default=False,nullable=True), 'previous_status': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'project_id': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'provider_auth': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'provider_geometry': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'provider_id': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'provider_location': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'replication_driver_data': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'replication_extended_status': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'replication_status': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'scheduled_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'service_uuid': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'shared_targets': Boolean(default=True,nullable=True), 'size': Integer(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'snapshot_id': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'snapshots': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'source_volid': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'status': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'terminated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'use_quota': Boolean(default=True,nullable=True), 'user_id': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'volume_attachment': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'volume_type': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'volume_type_id': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}¶finish_detach
(attachment_id)¶finish_volume_migration
(dest_volume)¶get_latest_snapshot
()¶Get volume’s latest snapshot
glance_metadata
¶group
¶group_id
¶host
¶id
¶is_migration_target
()¶is_multiattach
()¶is_replicated
()¶launched_at
¶metadata
¶migration_status
¶model
¶alias of cinder.db.sqlalchemy.models.Volume
multiattach
¶name
¶name_id
¶obj_extra_fields
= ['name', 'name_id', 'volume_metadata', 'volume_admin_metadata', 'volume_glance_metadata']¶obj_load_attr
(attrname)¶Load an additional attribute from the real object.
This should load self.$attrname and cache any data that might be useful for future load operations.
obj_make_compatible
(primitive, target_version)¶Make a Volume representation compatible with a target version.
obj_reset_changes
(fields=None)¶Reset the list of fields that have been changed.
fields – List of fields to reset, or “all” if None.
recursive – Call obj_reset_changes(recursive=True) on any sub-objects within the list of fields being reset.
This is NOT “revert to previous values”.
Specifying fields on recursive resets will only be honored at the top level. Everything below the top will reset all.
obj_what_changed
()¶Returns a set of fields that have been modified.
populate_consistencygroup
()¶Populate CG fields based on group fields.
Method assumes that consistencygroup_id and consistencygroup fields have not already been set.
This is a hack to support backward compatibility of consistencygroup, where we set the fields but don’t want to write them to the DB, so we mark them as not changed, so they won’t be stored on the next save().
previous_status
¶project_id
¶provider_auth
¶provider_geometry
¶provider_id
¶provider_location
¶replication_driver_data
¶replication_extended_status
¶replication_status
¶save
()¶Save the changed fields back to the store.
This is optional for subclasses, but is presented here in the base class for consistency among those that do.
scheduled_at
¶service_uuid
¶size
¶snapshot_id
¶snapshots
¶source_volid
¶status
¶terminated_at
¶updated_at
¶use_quota
¶user_id
¶volume_admin_metadata
¶volume_attachment
¶volume_glance_metadata
¶volume_metadata
¶volume_type
¶volume_type_id
¶VolumeList
(*args, **kwargs)¶Bases: cinder.objects.base.ObjectListBase
, cinder.objects.base.CinderObject
VERSION
= '1.1'¶fields
= {'objects': List(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False)}¶get_all
(context, marker=None, limit=None, sort_keys=None, sort_dirs=None, filters=None, offset=None)¶get_all_active_by_window
(context, begin, end)¶get_all_by_generic_group
(context, group_id, filters=None)¶get_all_by_group
(context, group_id, filters=None)¶get_all_by_host
(context, host, filters=None)¶get_all_by_project
(context, project_id, marker=None, limit=None, sort_keys=None, sort_dirs=None, filters=None, offset=None)¶get_volume_summary
(context, project_only, filters=None)¶include_in_cluster
(context, cluster, partial_rename=True, **filters)¶Include all volumes matching the filters into a cluster.
When partial_rename is set we will not set the cluster_name with cluster parameter value directly, we’ll replace provided cluster_name or host filter value with cluster instead.
This is useful when we want to replace just the cluster name but leave the backend and pool information as it is. If we are using cluster_name to filter, we’ll use that same DB field to replace the cluster value and leave the rest as it is. Likewise if we use the host to filter.
Returns the number of volumes that have been changed.
objects
¶Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.