- Launchpad Entry: NovaSpec:general-bare-metal-provisioning-framework
- Created: Mikyung Kang
- Maintained:Mikyung Kang David Kang Ken Igarashi
- Contributors: USC Information Sciences Institute & NTT docomo
This blueprint proposes to support general bare-metal provisioning framework in OpenStack.
The target release for this is Folsom. USC/ISI and NTT docomo are working on integration of bare-metal provisioning implementation to support following stuff:
- Support PXE and non-PXE bare-metal machines
- Support several architecture types such as x86_64, tilepro64, and arm
- Support fault-tolerance of bare-metal nova-compute node
The USC/ISI team has a functional prototype here (general bare-metal provisioning framework and non-PXE support):
- https://github.com/usc-isi/essex-baremetal-support (stable/essex)
- https://github.com/usc-isi/nova (folsom, not done yet)
The NTT docomo team has a functional prototype here (additional bare-metal features and PXE support):
An etherpad for discussion of this blueprint is available at http://etherpad.openstack.org/FolsomBareMetalCloud
Final github branch: TO DO
1) A user requests a baremetal instance.
- euca-run-instances -t baremetal.small --kernel aki-AAA --ramdisk ari-BBB ami-CCC
2) nova-scheduler selects a baremetal nova-compute.
- --baremetal_driver = pxe/non-pxe(=tilera)
- --physical_deploy_kernel = xxx
- --physical_deploy_ramdisk = yyy
- vcpus = the maximum number of cpus/cores among bare-metal nodes' resources
3) The bare-metal nova-compute selects a bare-metal node from its pool based on hardware resources and the instance type (# of cpus, memory, HDDs).
4) The kernel and ramdisk are prepared and then TFTP/PXE is set up.
- PXE: kernel and ramdisk for the deployment, and the user specified kernel and ramdisk are put to TFTP server. PXE is configured for the bare-metal nodes.
- Non-PXE: NFS/TFTP is configured for the bare-metal nodes.
5) The bare-metal nova-compute powers on the bare-metal node.
- PXE/IPMI: through IPMI
- Non-IPMI: through PDU(Power Distribution Unit)
6) The images are deployed to bare-metal nodes.
- PXE: the bare-metal node uses the deployment kernel and ramdisk, and the bare-metal nova-compute writes AMI to the bare-metal node's local disk via iSCSI.
- Non-PXE: nova-compute mounts AMI into NFS directory or passes AMI to the bare-metal node's local disk.
7) The bare-metal node is rebooted.
- The bare-metal node is booted up by the user specified kernel, ramdisk and its local disk.