Integrate lunr block storage
The block storage service is being implemented as a separate project called lunr. This blueprint is for supporting and integrating that service into nova.
An API-fronted iSCSI-based block storage service that aims to offer moderate performance with a very low cost/GB of capacity. The service is composed in a 3-tier architecture.
1. Front-End API
2. Controller
2. Driver & Storage Subsystem
A basic description of each major component is described below:
Front-End API
- Serves as the CRUD interface to consumers of storage
- Request rate-limiting mechanisms are imposed here
- List of API methods
- Create Volume
- List Volumes
- List Performance of a Volume (IOPS)
- List Usage of a Volume (I/O transactions aggregated over some time period)
- Update Volume (metadata)
- Delete Volume
- Create Snapshot
- List Snapshots
- Update Snapshot (metadata)
- Delete Snapshot
Controller
- Responsible for intelligent allocation and de-allocation of storage volumes across storage nodes
- Responsible for coordinating migration of volumes across storage nodes
- Responsible for coordination snapshot movement to/from Swift (Object Storage)
- Responsible for collecting IOPS metrics for performance and usage
Driver & Storage Subsystem
- Responsible for delivering a moderate level of performance and capacity
- Responsible as the target of an iSCSI session (a hypervisor would serve as the initiator)
- Responsible for generating IOPS metrics for performance and usage
Blueprint information
- Status:
- Complete
- Approver:
- Vish Ishaya
- Priority:
- High
- Drafter:
- Chuck Thier
- Direction:
- Needs approval
- Assignee:
- Chuck Thier
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
-
Not started
- Milestone target:
- None
- Started by
- Completed by
- Chuck Thier
Whiteboard
I have marked this blueprint as obsolete due to the change in scope of Lunr.
This blueprint is for the integration of the proposed BSaaS with nova
Work Items
Dependency tree

* Blueprints in grey have been implemented.