]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
NetApp: E-Series remove snapshot limitations
authorMichael Price <michael.price@netapp.com>
Fri, 23 Oct 2015 20:52:12 +0000 (13:52 -0700)
committerMichael Price <michael.price@netapp.com>
Fri, 19 Feb 2016 15:23:00 +0000 (15:23 +0000)
commit2ecfb1ba2235838e01348bf51471025572561123
tree8bd0125d1ab0cd2c07e2ec3c4f91d3155082228b
parent3631fd257655a165bceb7e30c644e389be1fc73b
NetApp: E-Series remove snapshot limitations

The E-Series backend does not allow snapshots defined under a snapshot
group to be deleted out of order. Only the oldest snapshot image may
be deleted. In order to work around this behavior, we would only define
a single snapshot on each snapshot group. Unfortunately, this would
limit the total number of snapshots to a total of 4 per volume.

In order to remove this limitation without causing deletion errors
when a newer snapshot is deleted, a soft-delete was implemented that
will remove the snapshot from Cinder management and purge the
snapshot from the backend once other dependent snapshots have been
deleted.

In order to ensure that our clone operations have a snapshot group
available, one of the 4 snapshot groups that can be defined on a
volume will be reserved for clone operations and will not be
allowed to be utilized for snapshot creation. This will limit the
total number of snapshots supported per volume to a maximum of 96.

The new 1.4 version of the WebServices proxy is required in order
to support the full snapshot behavior. Since snapshots are such
an integral part of the driver, 1.4 is now required for running
the driver with this release.

Co-Authored-By: Erik Johannes <erik.johannes@netapp.com>
Change-Id: Ie097743b167c1086ecf0536ad696786bdcd241b2
cinder/tests/unit/volume/drivers/netapp/eseries/fakes.py
cinder/tests/unit/volume/drivers/netapp/eseries/test_client.py
cinder/tests/unit/volume/drivers/netapp/eseries/test_driver.py
cinder/tests/unit/volume/drivers/netapp/eseries/test_library.py
cinder/tests/unit/volume/drivers/netapp/test_utils.py
cinder/volume/drivers/netapp/eseries/client.py
cinder/volume/drivers/netapp/eseries/fc_driver.py
cinder/volume/drivers/netapp/eseries/iscsi_driver.py
cinder/volume/drivers/netapp/eseries/library.py
cinder/volume/drivers/netapp/eseries/utils.py
cinder/volume/drivers/netapp/utils.py