Jump to: navigation, search

Difference between revisions of "Baremetal"

 
(Baremetal driver has been deleted from Nova, so I am deleting this page. Well, replacing it with a stub / reference to Ironic. Most info on this page was two years old.)
 
(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
 

Latest revision as of 23:43, 8 October 2014

The Nova "baremetal" driver was deprecated in the Juno release, and has been deleted from Nova.

Please see Ironic for all current work on the Bare Metal Provisioning program within OpenStack.