libvirt: Nova volume driver for volumes backed by a local file
Currently there is a class in https:/
We have a storage solution (and a cinder volume driver) that exposes volumes as .raw file on a virtual filesystem (FUSE).
Until Juno this worked without issues, but starting with Juno and Kilo we started seeing errors:
/usr/local/
This is caused by the fact that nova treats the volume as a block device and calls blockdev on it (which fails because it's a raw file not a block device.)
Suggestion:
- introduce a new class:
class LibvirtFileVolu
"""Class for volumes backed by local file."""
with is_block_dev=False and conf.source_type = "file"
(this will generate correct xml and works with libvirt/qemu, also avoids code paths of source_type == "block")
- change description of existing class to "Class for volumes backed by local block devices"
- add it to the list of drivers (nova/driver.py)
After that, we'll update the cinder driver to return "file" instead of "local".
See also: https:/
Blueprint information
- Status:
- Started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Eduard Biceri-Matei
- Direction:
- Needs approval
- Assignee:
- Eduard Biceri-Matei
- Definition:
- New
- Series goal:
- Proposed for liberty
- Implementation:
- Needs Code Review
- Milestone target:
- None
- Started by
- Eduard Biceri-Matei
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
New driver for volumes backed by local file.
You should not set a milestone target unless the blueprint has been properly prioritized by the project drivers.
(This is an automated message)
This blueprint needs approving, please submit a spec, or bring this up during a nova-meeting at the start of the L release. --johnthetubaguy 16th Feb 2015