Cinder volume instance locality functionality¶
This specification proposes to add an opportunity to have an instance and an attached volumes on the same physical host.
Currently there is no way to specify that volumes are attached to the same physical host as the instance. It would be nice to have this opportunity.
This feature could be done with Cinder InstanceLocalityFilter which allows to request creation of volumes local to instance. It would increase performance of I/O operations.
There will be several changes:
volume_local_to_instancewill be added to every node group template, node group and templates relation. This field will be optional and
volume_local_to_instanceis set to
True, Cinder volumes will be created on the same host.
True, all instances of the node group should be created on hosts with free disk space >=
volumes_size. If it cannot be done, error should be occurred.
Data model impact¶
volume_local_to_instance field should be added to
REST API impact¶
API will be extended to support
volume_local_to_instanceis optional argument with
Falsevalue by default, so this change will be backward compatible.
python client will be updated
Other end user impact¶
Sahara-dashboard / Horizon impact¶
New field to select
volume_local_to_instance option during node group
template creation will be added.
- Primary assignee:
Adding ability to create instance and volumes on the same host;
Adding ability to create instance on appropriate host;
Updating python client;
Adding unit tests.
Unit tests will be added.
Documentation will be updated. Will be documented when this feature can be used and when it cannot. Also will be noted how to enable it on Cinder side.