Add ability to create local volumes
Rationale
-------------
In some use cases data, holded in VM, can grow in size with time. To handle this situation it is possible put growing data on a volume and grow it as needed. But volumes are accessible only through network. If we need local disk speed and latency or, for some reasons, can’t have a network accessible volume, then this can’t be resolved. Other example is when an application requires more disk space, the biggest available flavour provides.
Proposal
------------
An API and compute extension with functionality similar to volumes but operates only on local for compute and VM storage.
Nova should use same type of local storage (raw/qcow/lvm - LVM was proposed by this https:/
Operations on a local disk:
* create and attach - it should be one operation, because it is not possible to attach this local disk to a VM on other HW node and it is hard to determine on which HW node VM is running, optionally glance image can be specified for data initialization
* delete - simple destroy local disk
* resize - resize (grow) local volume with given id, this operation will only affect local raw block device, FS resizing should be done in VM itself.
* snapshot - snapshot the data and store it into glance
This functionality can brake live migration possibility so it should be possible to switch it off. We propose add a new flag `--enable_
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Boris Filippov
- Direction:
- Needs approval
- Assignee:
- Pavel Shkitin
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Started
- Milestone target:
- None
- Started by
- Boris Filippov
- Completed by
- Vish Ishaya
Related branches
Related bugs
Sprints
Whiteboard
I think this addition is marginally useful and complicates the system quite a bit. Volumes are moving to a separate service as well, so there isn't really a clear place for this to go.
Work Items
Dependency tree
* Blueprints in grey have been implemented.