13. “normal” Nova Compute
Operating System
nova-compute
Hypervisor
(xen, kvm, lxc, ...)
VM
VM
VM
VM
Neighbors steal resources....
Memory wasted running
OS inside each VM...
Hypervisor adds overhead...
14. BareMetal Nova Compute
Control services
on a separate host!
No bad neighbors!
Native IO!
No hypervisor!Operating System
Your applications
nova-compute
PXE
IPMI
Operating System
33. Step-by-step
Baremetal Compute Host Baremetal Node
IPMI Power-On
DHCP Request
Serve Deploy K & R
Expose disks via iSCSI
partition & copy image
Reboot command
DHCP Request
Serve User K & R
Control given
to user
”driver.spawn(...)”
Cloud-Init
Fetch deploy
& user images
Build TFTP config
(*) PXE deploy process
subject to change
without notice
Blue: nova-compute
Red: nova-baremetal-deploy-helper
34. Setting up your Dev env
Full walk-through: http://bit.ly/tripleo-dev
35. Setting up your Dev env
●
A minimal OpenStack cloud + BareMetal driver
– devstack
– download: http://bit.ly/dib-bootstack (*)
– build it yourself!
git clone https://github.com/stackforge/diskimage-builder
git clone https://github.com/stackforge/tripleo-image-elements
git clone https://github.com/tripleo/incubator
incubator/scripts/boot-elements -n boot-stack
(*) YMMV. Build this locally for best results.
36. Setting up your Dev env
●
Some VMs to mock hardware
– create them by hand
– automate it!
git clone https://github.com/tripleo/bm_poseur
bm_poseur/bm_poseur –vms 1 –arch i686 create-vm
bm_poseur/bm_poseur get-macs
37. Setting up your Dev env
●
Deploy ramdisk created for you
●
But you need a cloud image:
– download: http://bit.ly/dib-ubuntu
– diskimage-builder/bin/disk-image-create
ubuntu -a i386 -o ubuntu
38. Put it all together
●
Start boot-stack VM
●
Load ubuntu image into Glance
incubator/scripts/load-image ubuntu.qcow2
●
Enroll VM with BareMetal
●
Go!