This fixes an exception on uploading a volume to image when
the glance v2 api is enabled. Also, this adds the unit tests
for updating metadata and data both with glance API v1 and v2.
Change-Id: Id70eff82837c0af1f033a2bb749ef367cd9e32fb
Closes-bug: #1478737
Other variables are used in line 783 (snap) and 784 (snapshot)
of cinder.volume.api.
Since it looks typo, I fix it.
Change-Id: I3f1aa3b71166e882c751362792fbf90477ecbd38
Closes-Bug: #1478236
This commit resolves a TODO item (bulk metadata create), rephrases
some comments and makes use of new TaskFlow functionality to save
results of revert command to make decisions in c-vol manager instead
of doing an ugly workaround by injecting the information into exception
raised.
Partial-Implements: blueprint taskflow-refactoring
Depends-On: I82ebd0102aa5f50d98d9d6b48b13cd659d6dbcec
Change-Id: Ia4739c87ca83ae725e16256e3f2c596c5e6d935b
Arguments snapshot_id, image_id, source_volid, source_replicaid,
consistencygroup_id and cgsnapshot_id in volume.rpcapi.create_volume
RPC method are duplicated either in request_spec dictionary passed as
one of the arguments or are saved into the databased and are retrieved
by flow processing the request.
To simplify the flow this commit removes these duplicated parameters
and adapts rest of the code to use occurrences that are already there.
Related-Blueprint: taskflow-refactoring
Change-Id: I4dbb57968358e8930b923275c2dfd0e44d7b40d8
Chance and Simple scheduler functionality can be archived using
FilterScheduler, config details is described here:
http://docs.openstack.org/developer/cinder/api/cinder.scheduler.simple.html
The implementation has been deprecated in Juno,so we can remove
it safely now.
DocImpact
Change-Id: I92b302ea0404a35328bd7a36739c3e7846898392
Currently retyping on the same backend requires a migration to occur
due to using the default implementation of retype on the base volume
driver.
Volumes on the Pure arrays do not have any differentiation
between volume types Cinder may be using. Because of this we can
implement a retype method that will be used whenever changing
types on the same backend that essentially does nothing except return.
Change-Id: Ibf4c57166fe5742cc7e079c4422f7efd2b6dce79
Closes-Bug: 1477780
Previously there was no need to support retype by the driver
since any kind of retyping would require migration. With the
addition of the ability to set specific Storage Profiles to
use by commit Icf76fceca5a0ae20bb08b276b0c41ef6cdb31087 we
now have something the driver can handle to optimize the
retyping operation.
This adds handling for changes in the selected Storage Profile
if the backend stays the same. Any other retype changes will
return failure, resulting in it falling back to full volume
migration.
Change-Id: I18c55e0392e18d1686546ba17cb99b53b7b50566
- Adding consistency group support using XtremIO REST API V2.
- Implements all OpenStack CG volume driver interfaces using XtremIO CG
capabilities.
Partial-Implements: blueprint emc-xtremio-updates
Change-Id: I2ddf629b0c97a849a2c95ca4a8b7a4dd4adccbec
This adds two new config options as well as a
helper method to get a RequestContext for the
Cinder internal tenant.
The current implementation will not create a
request context that can be used for calls to
other services, it is (as the name implies) only
for internal Cinder operations.
DocImpact: This adds new config steps that should
be covered in the Cinder docs including the new config
options: 'cinder_internal_tenant_project_id' and
'cinder_internal_tenant_user_id'
Implements: blueprint cinder-internal-tenant
Change-Id: I0c3263e71cf1a275a4538c35ebe1c7d750bb16e6
Currently we call vCenter APIs to find storage policy
associated with a volume. There are methods defined
in oslo.vmware to query storage policies. This patch
replaces vCenter API calls with oslo.vmware method
calls.
Change-Id: I54e18e50e8423de51c43a277e701ddc9a9aef6da
This patch adds support for non-disruptive backup for
volumes in 'in-use' status as follows:
Adds a force flag in create backup API when backing up
an 'in-use' volume.
For the default implementation in volume/driver.py:
* Create a temporary volume from the original volume
* Backup the temporary volume
* Clean up the temporary volume
For the LVM driver:
* Create a temporary snapshot
* Obtain local_path for the temporary snapshot
* Backup the temporary snapshot
* Cleanup the temporary snapshot
Attach snapshot will be implemented in another patch.
Partial-implements blueprint non-disruptive-backup
Change-Id: I915c279b526e7268d68ab18ce01200ae22deabdd