add volume connection information into ironic db
This blueprint introduces following changes to Ironic DB.
- new table named volume_connectors
- new table named volume_targets
- new capabilities to figure out if node supports booting from a particular volume.
When user starts bare metal instance with cinder volume, nova orchestrates the communication with Cinder and Ironic. The work flow in boot process is like following:
- User asks Nova to boot a node with a cinder volume
- Nova calls ironic to collect iSCSI/FC initiator information -(a)
- Ironic collect initiator information and return it to Nova
- Nova calls Cinder to attach the volume to the node
- Cinder attaches the volume to the node and returns conenction information
which includes target information
- Nova calls Ironic to set target information -(b)
- Nova calls Ironic to spawn a instance
- If the node boots from volume, Ironic asks BIOS to boot from SAN
- Ironic turns on the node
In the work flow above, Nova calls Ironic to get/set initiator/target information ((a) and (b)), but currently Ironic doesn't keep any information about volume connection. With this blueprint, Ironic can save those information and provide them to nova.
Blueprint information
- Status:
- Started
- Approver:
- None
- Priority:
- High
- Drafter:
- Satoru Moriya
- Direction:
- Needs approval
- Assignee:
- Satoru Moriya
- Definition:
- Review
- Series goal:
- Proposed for mitaka
- Implementation:
-
Started
- Milestone target:
- None
- Started by
- Satoru Moriya
- Completed by
Related branches
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Add attributes about volume conneciton into nodes table
Gerrit topic: https:/
Addressed by: https:/
[WIP] Add volume connection information to node table
Gerrit topic: https:/
Addressed by: https:/
[WIP] Introduce VolumeConnector object
Addressed by: https:/
[WIP] Introduce new RPCs to support volume connector operation
Addressed by: https:/
[WIP] Add REST API for volume connector operation
Addressed by: https:/
[POC] pxe: support boot from Cinder iSCSI volume using iPXE