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.
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.