
Previously, while creating snapshots, the code didn't pass through scheduler therefore available capacity for backend wasn't checked. This was supported by [1] which passed a RequestSpec object to scheduler with snapshot and volume properties (the same RequestSpec object is used for volumes). But when the scheduler tries to get volume_type from RequestSpec obj, unfortunately, it has a property named 'volume_type' but is None for snapshots which breaks the scheduler when getting extra_specs from the volume type (as the default value {} would've been set if the property didn't exist). Similar issue occurred when we supported untyped volumes and was fixed by [2] and [3]. This patch sets the volume_type to an empty dict when it is found None (which is the case while creating snapshots). [1] https://review.opendev.org/#/c/509011/ [2] https://review.opendev.org/#/c/457431/ [3] https://review.opendev.org/#/c/471672/ Change-Id: I89a8cc42ca8984ee837a2b88f60ad126783282b9 Closes-Bug: #1856126
OpenStack Cinder
OpenStack Cinder is a storage service for an open cloud computing service.
You can learn more about Cinder at:
- Wiki: https://wiki.openstack.org/Cinder
- Developer docs: https://docs.openstack.org/cinder/latest/
- Blueprints: https://blueprints.launchpad.net/cinder
- Release notes: https://docs.openstack.org/releasenotes/cinder/
- Design specifications: https://specs.openstack.org/openstack/cinder-specs/
Getting Started
If you'd like to run from the master branch, you can clone the git repo:
git clone https://opendev.org/openstack/cinder
If you'd like to contribute, please see the information in CONTRIBUTING.rst
You can raise bugs here https://bugs.launchpad.net/cinder
Python client
Description
Languages
Python
99.7%
Smarty
0.3%