Steps to perform boot from volume on Ironic nodes
Important: Bare Metal API microversion should be 1.33 or later. Also Ironic boot from volume requires Neutron flat network.
Conductor configuration (ironic.conf):
enabled_storage_interfaces = cinder,noop
Node configuration:
Set node storage interface:
openstack --os-baremetal-api-version 1.33 baremetal node set --storage-interface cinder $NODE_UUID
Set node iscsi_boot capability:
openstack --os-baremetal-api-version 1.33 baremetal node set --property capabilities=iscsi_boot:True $NODE_UUID
Create volume connector for the node:
openstack --os-baremetal-api-version 1.33 baremetal volume connector create --node $NODE_UUID --type iqn --connector-id iqn.2017-08.org.openstack.$NODE_UUID
Boot from volume:
Create volume from Glance image:
openstack volume create --image 284016fa-850a-4c48-b733-58d276a2faf4 --size 1 bootable_volume2
Boot:
nova boot --flavor baremetal --nic net-id=b85d76d5-9fb3-4dff-bd8e-6885f849be7f --block-device source=volume,id=dc6a73ba-caed-43ea-9175-103114e73434,dest=volume,size=1,shutdown=preserve,bootindex=0 alexg_bfv3