Multiple Capability Sets Per Backend
Currently backends can only return one number for "free space" and a set of capabilities. If the backend actually manages a device with two pools of storage with different capabilities, there is no way to report the free space for those two pools other than to setup two whole backends managing the same device.
This proposal is to make a small tweak to the get_volume_stats() driver entry point to allow it return a list of dicts rather than a single dict. Existing driver can easily be updated to return singleton lists to achieve the exact same behavior that exists today. On the scheduler side, new logic will be needed to handle an additional level of indirection, so the scheduler can perform scheduling across the "pools" and after the right pool is selected, the request will be forwarded onto the backend associated with that pool.
This proposal was discussed in HK as part of my vendor-
Blueprint information
- Status:
- Complete
- Approver:
- John Griffith
- Priority:
- Low
- Drafter:
- Ben Swartzlander
- Direction:
- Approved
- Assignee:
- Ben Swartzlander
- Definition:
- Obsolete
- Series goal:
- Accepted for future
- Implementation:
- Started
- Milestone target:
- future
- Started by
- John Griffith
- Completed by
- Sean McGinnis
Related branches
Related bugs
Sprints
Whiteboard
(smcginnis): Marking obsolete as this has been sitting out there for a long time. If this is still needed, please submit a new bp.
We're no longer pursuing this approach. A new blueprint will be posted which will supersede this one.