openstack.block_storage.v3.volume

The Volume Class

The Volume class inherits from Resource.

class openstack.block_storage.v3.volume.Volume(_synchronized=False, connection=None, **attrs)

The base resource

Parameters:
  • _synchronized (bool) – This is not intended to be used directly. See new() and existing().

  • connection (openstack.connection.Connection) – Reference to the Connection being used. Defaults to None to allow Resource objects to be used without an active Connection, such as in unit tests. Use of self._connection in Resource code should protect itself with a check for None.

resource_key = 'volume'

Singular form of key for resource.

resources_key = 'volumes'

Plural form of key for resource.

base_path = '/volumes'

The base part of the URI for this resource.

allow_fetch = True

Allow get operation for this resource.

allow_create = True

Allow create operation for this resource.

allow_delete = True

Allow delete operation for this resource.

allow_commit = True

Allow update operation for this resource.

allow_list = True

Allow list operation for this resource.

attachments

TODO(briancurtin): This is currently undocumented in the API.

availability_zone

The availability zone.

consistency_group_id

ID of the consistency group.

created_at

The timestamp of this volume creation.

updated_at

The date and time when the resource was updated.

description

The volume description.

extended_replication_status

Extended replication status on this volume.

group_id

The ID of the group that the volume belongs to.

host

The volume’s current back-end.

image_id

The ID of the image from which you want to create the volume. Required to create a bootable volume.

is_bootable

Enables or disables the bootable attribute. You can boot an instance from a bootable volume. Type: bool

is_encrypted

True if this volume is encrypted, False if not. Type: bool

is_multiattach

Whether volume will be sharable or not.

migration_id

The volume ID that this volume’s name on the back-end is based on.

migration_status

The status of this volume’s migration (None means that a migration is not currently in progress).

project_id

The project ID associated with current back-end.

replication_driver_data

Data set by the replication driver

provider_id

The provider ID for the volume.

replication_status

Status of replication on this volume.

scheduler_hints

Scheduler hints for the volume

size

The size of the volume, in GBs. Type: int

snapshot_id

To create a volume from an existing snapshot, specify the ID of the existing volume snapshot. If specified, the volume is created in same availability zone and with same size of the snapshot.

source_volume_id

To create a volume from an existing volume, specify the ID of the existing volume. If specified, the volume is created with same size of the source volume.

status

One of the following values: creating, available, attaching, in-use deleting, error, error_deleting, backing-up, restoring-backup, error_restoring. For details on these statuses, see the Block Storage API documentation.

user_id

The user ID associated with the volume

volume_image_metadata

One or more metadata key and value pairs about image

volume_type

The name of the associated volume type.

extend(session, size)

Extend a volume size.

set_bootable_status(session, bootable=True)

Set volume bootable status flag

set_readonly(session, readonly)

Set volume readonly flag

set_image_metadata(session, metadata)

Sets image metadata key-value pairs on the volume

delete_image_metadata(session)

Remove all image metadata from the volume

delete_image_metadata_item(session, key)

Remove a single image metadata from the volume

reset_status(session, status=None, attach_status=None, migration_status=None)

Reset volume statuses (admin operation)

revert_to_snapshot(session, snapshot_id)

Revert volume to its snapshot

attach(session, mountpoint, instance=None, host_name=None)

Attach volume to server

detach(session, attachment, force=False, connector=None)

Detach volume from server

classmethod manage(session, host, ref, name=None, description=None, volume_type=None, availability_zone=None, metadata=None, bootable=False, cluster=None)

Manage an existing volume.

unmanage(session)

Unmanage volume

retype(session, new_type, migration_policy=None)

Change volume type

migrate(session, host=None, force_host_copy=False, lock_volume=False, cluster=None)

Migrate volume

complete_migration(session, new_volume_id, error=False)

Complete volume migration

force_delete(session)

Force volume deletion

upload_to_image(session, image_name, force=False, disk_format=None, container_format=None, visibility=None, protected=None)

Upload the volume to image service

reserve(session)

Reserve volume

unreserve(session)

Unreserve volume

begin_detaching(session)

Update volume status to ‘detaching’

abort_detaching(session)

Roll back volume status to ‘in-use’

init_attachment(session, connector)

Initialize volume attachment

terminate_attachment(session, connector)

Terminate volume attachment