|
|
(86 intermediate revisions by 17 users not shown) |
Line 1: |
Line 1: |
− | __NOTOC__
| |
− | * '''Launchpad Entry''': [[NovaSpec]]:general-bare-metal-provisioning-framework
| |
− | * '''Created''': [https://launchpad.net/~mkkang Mikyung Kang]
| |
− | * '''Maintained''':[https://launchpad.net/~mkkang Mikyung Kang] [https://launchpad.net/~dkang David Kang] [https://launchpad.net/~50barca Ken Igarashi]
| |
− | * '''Contributors''': [https://launchpad.net/~USC-ISI USC Information Sciences Institute] & NTT docomo
| |
| | | |
− | == Summary ==
| + | <big> |
| | | |
− | This blueprint proposes to support general bare-metal provisioning framework in [[OpenStack]].
| + | The Nova "baremetal" driver was deprecated in the Juno release, and has been deleted from Nova. |
| | | |
− | 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:
| + | Please see [[Ironic]] for all current work on the Bare Metal Provisioning program within OpenStack. |
| | | |
− | * Support PXE and non-PXE bare-metal machines
| + | </big> |
− | * 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)
| |
− | * [[HeterogeneousTileraSupport]]
| |
− | | |
− | The NTT docomo team has a functional prototype here (additional bare-metal features and PXE support):
| |
− | * https://github.com/NTTdocomo-openstack/nova-folsom-201204271932 (folsom)
| |
− | | |
− | An etherpad for discussion of this blueprint is available at http://etherpad.openstack.org/FolsomBareMetalCloud
| |
− | | |
− | Final github branch: TO DO
| |
− | | |
− | == Release Note ==
| |
− | | |
− | TO DO
| |
− | | |
− | == Overview ==
| |
− | | |
− | 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.
| |
− | | |
− | * nova.conf
| |
− | ** --baremetal_driver = pxe/non-pxe(=tilera)
| |
− | ** --physical_deploy_kernel = xxx
| |
− | ** --physical_deploy_ramdisk = yyy
| |
− | ** --instance_type_extra_specs=cpu_arch:x86_64/tilepro64/arm
| |
− | * 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.
| |
− | | |
− | == Design ==
| |
− | | |
− | TO DO
| |
− | | |
− | == Implementation ==
| |
− | | |
− | TO DO
| |
The Nova "baremetal" driver was deprecated in the Juno release, and has been deleted from Nova.