PowerFlex volume has invalid size after creation from image cache

Bug #1915015 reported by Ivan Pchelintsev
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Cinder
New
Medium
Unassigned

Bug Description

Dell EMC PowerFlex storage can only work with volumes which size is multiple of 8.
In create_volume function a size requested by a user, if not multiple of 8, is increased to the nearest suitable and is returned in model_updates dict.
However, there are issues if image_volume_cache_enabled option is True. Volume created from image cache will have the same size as cache entry.

$ openstack volume create --type powerflex --image cirros-0.5.1-x86_64-disk --size 40 vol1
$ openstack volume list --all-projects --c Name --c Size
+--------------------------------------------+------+
| Name | Size |
+--------------------------------------------+------+
| image-8f884d32-2e0a-4490-916a-a8baa9e4ed38 | 8 |
| vol1 | 8 |
+--------------------------------------------+------+

In fact, volume is extended to it's original size on [1] and has valid size on storage, but model_update
dict returned on [2] contains size attribute with value 8 (it is returned from create_volume function of the
driver). This dict will be used in higher scope function to update volume object in DB.

There may also be other backends with the same issues.

1) https://opendev.org/openstack/cinder/src/branch/master/cinder/volume/flows/manager/create_volume.py#L956
2) https://opendev.org/openstack/cinder/src/branch/master/cinder/volume/flows/manager/create_volume.py#L919

Changed in cinder:
importance: Undecided → Medium
tags: added: cache powerflex size volume
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.