Provisioning Bare Metal
With OpenStack
Devananda van der Veen
@devananda
HP Cloud Services
A Technical Dive
into the BareMetal Driver
●
Background & Status
●
Why?
●
How Deployment Works
●
Dev/Test
●
Further ideas...
Who am I?
History of the BareMetal Driver
Why?
Why?
●
HPC & BMaaS
Scott Beale / Laughing Squid
Why?
●
HPC & BMaaS
●
Stop re-inventing the wheel
Why?
●
HPC & BMaaS
●
Stop re-inventing the wheel
●
New possibilities...
What is BareMetal?
What is BareMetal?
A Hypervisor Driver for Nova
What is BareMetal?
A Hypervisor Driver for Nova
like the drivers for:
libvirt, xen, vmware,
hyperv, powervm, ...
What is BareMetal?
A Hypervisor Driver for Nova
… but different.
“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...
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
One Host to Rule them All
(well, not really)
Some Things had to Change...
●
scheduler_host_manager
●
(host, node)
●
nova_bm
Many varieties of hardware
●
Pluggable sub-drivers
– Power, Image deployment, Volume, Network
Many varieties of hardware
●
Pluggable sub-drivers
– Power, Image deployment, Volume, Network
– HW discovery?
– BIOS & Firmware management?
– Vendor-specific control modules?
Reuse & Recycle
●
External dependencies
– dnsmasq
– ipmitool
– open-iscsi
– syslinux
Current Capabilities
Current Capabilities
●
Pluggable Power sub-drivers
– IPMI
– Virtual
– TileraPDU (in trunk)
Current Capabilities
●
Pluggable Deployment sub-drivers
– PXE
– Tilera (in trunk)
Current Capabilities
●
OpenStack Network integration (partial)
●
Nova API extension
– add/delete nodes and interfaces
– show status
Enabling the Driver
[DEFAULT]
compute_driver = nova.virt.baremetal.driver.BareMetalDriver
scheduler_host_manager =
nova.scheduler.baremetal_host_manager.BaremetalHostManager
firewall_driver = nova.virt.firewall.NoopFirewallDriver
ram_allocation_ratio = 1.0
reserved_host_memory_mb = 0
Tuning the Driver
[baremetal]
net_config_template =
/opt/stack/nova/nova/virt/baremetal/net-static.ubuntu.template
tftp_root = /tftpboot
power_manager = nova.virt.baremetal.ipmi.IPMI
driver = nova.virt.baremetal.pxe.PXE
instance_type_extra_specs = cpu_arch:{i386|x86_64|arm}
sql_connection = mysql://{user}:{pass}@{host}/nova_bm
http://docs.openstack.org/trunk/openstack-compute/
admin/content/list-of-compute-config-options.html
Deployment
Deployment
●
Prerequisite:You need a running OpenStack cloud!
– devstack
– diskimage-builder
+ tripleo-image-elements “boot-stack”
– or something else
Deployment
●
Prerequisite: operational requirements
– flavors mapped to hardware
– images loaded in Glance
●
deploy kernel & ramdisk
●
machine images
Deployment
●
Current(*) Prerequisites
– HW already configured (BIOS, RAID, etc)
– HW inventory
●
MAC addr
●
IPMI credentials
●
CPU/RAM characteristics
– HW enrolled via Nova BareMetal API
(*) https://etherpad.openstack.org/HavanaBaremetalNextSteps
https://wiki.openstack.org/wiki/BaremetalOperationsSpec
Deployment
●
Enrollment
nova baremetal-node-create 
--pm_address=... --pm_user=... --pm_password=... 
HYPERVISOR_HOSTNAME CPU RAM DISK
nova baremetal-add-interface 
NODE_ID AA:BB:CC:DD:EE:FF
Deployment
●
Deploy Process
– Initiated by “nova boot”
– nova-scheduler selects host & node
– nova-compute prepares bootloader, notifies OS Network...
– power-on & deploy image
– reboot
Deployment (PXE)
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
Setting up your Dev env
Full walk-through: http://bit.ly/tripleo-dev
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.
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
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
Put it all together
●
Start boot-stack VM
●
Load ubuntu image into Glance
incubator/scripts/load-image ubuntu.qcow2
●
Enroll VM with BareMetal
●
Go!
What about real hardware?
Only the networking is different
What about real hardware?
Only the networking is different
… except for when other things are different.
Plans
Plans
●
Automate discovery
Plans
●
Automate discovery
●
Firmware management
Plans
●
Automate discovery
●
Firmware management
●
HA baremetal deploy nodes
Further Reading
●
Driver Wiki
– https://wiki.openstack.org/wiki/Baremetal
●
Disk Image Builder
– github/stackforge/diskimage-builder/blob/master/README.md
●
TripleO team's developer resources
– github/tripleo/incubator/blob/master/README.md
– github/tripleo/incubator/blob/master/notes.md

More Related Content

PPTX
Ironic - Vietnam OpenStack Technical Meetup #12
PDF
Ironic
PDF
Ironic - A modern approach to machine deployment
PDF
SR-IOV ixgbe Driver Limitations and Improvement
PDF
Isn't it ironic - managing a bare metal cloud (OSL TES 2015)
PPTX
Ovs dpdk hwoffload way to full offload
PDF
OpenStack Ironic - Bare Metal-as-a-Service
PDF
Linux kernel debugging
Ironic - Vietnam OpenStack Technical Meetup #12
Ironic
Ironic - A modern approach to machine deployment
SR-IOV ixgbe Driver Limitations and Improvement
Isn't it ironic - managing a bare metal cloud (OSL TES 2015)
Ovs dpdk hwoffload way to full offload
OpenStack Ironic - Bare Metal-as-a-Service
Linux kernel debugging

What's hot (20)

PDF
Podman Overview and internals.pdf
PDF
How to build a Kubernetes networking solution from scratch
PDF
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
PDF
Virtualization Architecture & KVM
PDF
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
PPTX
Demystifying openvswitch
PDF
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
PPTX
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
PDF
Linux Performance Analysis: New Tools and Old Secrets
PDF
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
PDF
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
PDF
DPDKを拡張してみた話し
PDF
Kubernetes Architecture - beyond a black box - Part 1
PDF
2015 FOSDEM - OVS Stateful Services
PDF
Openstack Instance Resize
PDF
Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture
PPTX
Meetup 23 - 02 - OVN - The future of networking in OpenStack
PDF
LinuxCon 2015 Linux Kernel Networking Walkthrough
PDF
Virtual Chassis for Cloud Builders
PDF
Quick and Solid - Baremetal on OpenStack | Rico Lin
Podman Overview and internals.pdf
How to build a Kubernetes networking solution from scratch
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
Virtualization Architecture & KVM
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Demystifying openvswitch
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
Linux Performance Analysis: New Tools and Old Secrets
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
DPDKを拡張してみた話し
Kubernetes Architecture - beyond a black box - Part 1
2015 FOSDEM - OVS Stateful Services
Openstack Instance Resize
Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture
Meetup 23 - 02 - OVN - The future of networking in OpenStack
LinuxCon 2015 Linux Kernel Networking Walkthrough
Virtual Chassis for Cloud Builders
Quick and Solid - Baremetal on OpenStack | Rico Lin
Ad

Viewers also liked (20)

PDF
Deploying Baremetal Instances with OpenStack
PPT
Irony Activity
PPTX
Bare-metal and Virtual Provisioning with Razor
PDF
OpenStack Ironic Project Summary, February 2014
PDF
Ironic Towards Truly Open and Reliable, Eventually for Mission Critical
PDF
Isn’t it Ironic that a Redfish is software defining you
PPTX
Codes and conventions of thriller
PDF
OpenStack Barcelona Summit Recap - Technical Meetup #12
PDF
Redfish and python-redfish for Software Defined Infrastructure
PPTX
PDF
LCA 2013 - Baremetal Provisioning with Openstack
PPT
Three types-of-irony-lesson2-1
PPTX
Types of Irony
PPT
Irony identifying the three types
PPT
Types of Irony
PDF
Mémoire : Cloud iaas Slim Hannachi
PPT
Irony PowerPoint
PPTX
Irony (types of irony)
PPTX
Vxlan deep dive session rev0.5 final
Deploying Baremetal Instances with OpenStack
Irony Activity
Bare-metal and Virtual Provisioning with Razor
OpenStack Ironic Project Summary, February 2014
Ironic Towards Truly Open and Reliable, Eventually for Mission Critical
Isn’t it Ironic that a Redfish is software defining you
Codes and conventions of thriller
OpenStack Barcelona Summit Recap - Technical Meetup #12
Redfish and python-redfish for Software Defined Infrastructure
LCA 2013 - Baremetal Provisioning with Openstack
Three types-of-irony-lesson2-1
Types of Irony
Irony identifying the three types
Types of Irony
Mémoire : Cloud iaas Slim Hannachi
Irony PowerPoint
Irony (types of irony)
Vxlan deep dive session rev0.5 final
Ad

Similar to Provisioning Bare Metal with OpenStack (20)

PDF
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
PDF
Achieving the ultimate performance with KVM
PDF
Achieving the Ultimate Performance with KVM
PDF
Achieving the ultimate performance with KVM
PDF
Quickly Debug VM Failures in OpenStack
PDF
Achieving the Ultimate Performance with KVM
PDF
Postgres the hardway
PDF
Libvirt/KVM Driver Update (Kilo)
PDF
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
PDF
Xen Virtualization 2008
PDF
The Real World of Virtual Datacenters + Supporting Materials
PDF
KVM tools and enterprise usage
PPTX
NFV Orchestration for Optimal Performance
PDF
s6196-chris-huybregts-microsoft-new-gpu-virtualization-technologies
PDF
ACRN vMeet-Up EU 2021 - installation and configuration introduction
PDF
Xenserver Highload Frank Kohler
PDF
Highload Frank Kohler
PDF
Known basic of NFV Features
PDF
XS Boston 2008 Self IO Emulation
PDF
JUDCon 2010 Boston : BoxGrinder
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
Achieving the ultimate performance with KVM
Achieving the Ultimate Performance with KVM
Achieving the ultimate performance with KVM
Quickly Debug VM Failures in OpenStack
Achieving the Ultimate Performance with KVM
Postgres the hardway
Libvirt/KVM Driver Update (Kilo)
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
Xen Virtualization 2008
The Real World of Virtual Datacenters + Supporting Materials
KVM tools and enterprise usage
NFV Orchestration for Optimal Performance
s6196-chris-huybregts-microsoft-new-gpu-virtualization-technologies
ACRN vMeet-Up EU 2021 - installation and configuration introduction
Xenserver Highload Frank Kohler
Highload Frank Kohler
Known basic of NFV Features
XS Boston 2008 Self IO Emulation
JUDCon 2010 Boston : BoxGrinder

Recently uploaded (20)

PPTX
Tartificialntelligence_presentation.pptx
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPT
What is a Computer? Input Devices /output devices
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPT
Geologic Time for studying geology for geologist
PPTX
Modernising the Digital Integration Hub
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
August Patch Tuesday
Tartificialntelligence_presentation.pptx
A novel scalable deep ensemble learning framework for big data classification...
What is a Computer? Input Devices /output devices
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Getting started with AI Agents and Multi-Agent Systems
Final SEM Unit 1 for mit wpu at pune .pptx
sustainability-14-14877-v2.pddhzftheheeeee
1 - Historical Antecedents, Social Consideration.pdf
WOOl fibre morphology and structure.pdf for textiles
Taming the Chaos: How to Turn Unstructured Data into Decisions
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Geologic Time for studying geology for geologist
Modernising the Digital Integration Hub
A review of recent deep learning applications in wood surface defect identifi...
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
DP Operators-handbook-extract for the Mautical Institute
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Enhancing emotion recognition model for a student engagement use case through...
Web Crawler for Trend Tracking Gen Z Insights.pptx
August Patch Tuesday

Provisioning Bare Metal with OpenStack