SlideShare a Scribd company logo
IRONIC
OPENSTACK BAREMETAL PROVISIONING SERVICE
Hao Meng, Wang
IRC: Haomeng
whaom@cn.ibm.com
June, 2014
2
AGENDA
•
Bare Metal Provision Domain
•
Why Provision Bare Metal(BM)
•
Provision Methods & Scenarios
•
Key Technologies for BM Provision
•
PXE ROM & NBP
•
IPMI Functions
•
IPMI Block Diagram
•
IPMI + PXE Provising Workflow
•
Ironic
•
About Ironic
•
Architecture
•
Conceptual
•
Logical
•
Framework
•
Components
•
BM Provision Sequence Diagram
•
Data Model
•
Images used by Ironic
•
Commands
•
How to use Ironic
•
TripleO
3
Why Provision Bare Metal(BM)
•
Database/Hadoop hosting (some
databases run poorly in a hypervisor)
•
Single tenant, dedicated hardware for
performance, security, dependability and
other regulatory requirements
•
Computing tasks that require access to
hardware devices which can’t be
virtualized
•
High-performance computing(HPC) clusters, physical compute nodes
•
Or, rapidly deploying a cloud infrastructure self, TripleO or others
•
Cloud scaling out
•
X86_64, ARM, TILE-Gx16/36/64/100 systems
•
SoftLayer / Racespace Cloud supports bare-metal as service
4
Provision Methods & Scenarios
•
Methods
•
CLONE – ghost/dd
•
INSTALL – JumpStart/KickStart/OS Installer
•
CLONE + INSTALL
•
Scenarios
•
Diskful
•
HD/SSD
•
iSCSI/SAN disk
•
Diskless
•
RAM Disk
5
Key Technologies for BM Provision
•
PXE Preboot Execution Environment (PXE) is part of the Wired for Management (WfM) specification
developed by Intel and Microsoft. Booting computers via a network.
•
NBP Network Bootstrap Program (NBP) is equivalent to GRUB (GRand Unified Bootloader) or LILO
(LInux LOader) - loaders which are traditionally used in local booting. Like the boot program in a hard
drive environment, the NBP is responsible for loading the OS kernel into memory so that the OS can be
bootstrapped over a network.
•
IPMI Intelligent Platform Management Interface (IPMI) is a standardized computer system interface
used by system administrators for out-of-band management of computer systems and monitoring of
their operation.
•
DHCP Using PXE, the BIOS uses DHCP to obtain an IP address for the network interface and to
locate the server that stores the network bootstrap program (NBP).
•
TFTP Trivial File Transfer Protocol (TFTP) is a simple file transfer protocol that is generally used for
automated transfer of configuration or boot files between machines in a local environment. In a PXE
environment, TFTP is used to download NBP over the network using information from the DHCP
server.
•
iSCSI Internet Small Computer System Interface, uses this to 'dd' the image to target machnie
local disk
6
PXE ROM & NBP (bootloader,pxelinux.0)
PXE ROM Chip
7
NBP bootloader config file sample
default deploy
label deploy
kernel /tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/deploy_kernel
append initrd=/tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/deploy_ramdisk selinux=0
disk=cciss/c0d0,sda,hda,vda iscsi_target_iqn=iqn-76305cdf-a30a-453e-bc92-b3f869a27fd8
deployment_id=76305cdf-a30a-453e-bc92-b3f869a27fd8
deployment_key=UKKQZ3N2AOUJ45NZVB27L25XKR6I57V8 ironic_api_url=http://192.0.2.1:6385
troubleshoot=0 nofb nomodeset vga=normal
label boot
kernel /tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/kernel
append initrd=/tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/ramdisk root=UUID=319005ff-9177-45af-
87db-ada3a1f6dc9f ro nofb nomodeset vga=normal
8
IPMI Functions
•
power Shortcut to chassis power commands
•
chassis bootdev Set the boot device
•
sensor Print detailed sensor information
•
sol Configure and connect IPMIv2.0 Serial-over-LAN
•
...
9
IPMI Block Diagram
IPMI Port
10
IPMI NIC Port
11
“Ironic is an Incubated OpenStack project which aims to
provision bare metal (as opposed to virtual) machines by
leveraging common technologies such as PXE boot and IPMI
to cover a wide range of hardware, while supporting
pluggable drivers to allow vendor-specific functionality to be
added.”
http://docs.openstack.org/developer/ironic/
About Ironic
12
Conceptual Architecture
13
Logical Architecture
14
Framework
15
Ironic Components
•
Ironic-api
•
handles the remote api requests
•
Ironic-conductor
•
talk with physical machines
•
Nova compute driver
•
Implements the nova virt.ComputeDriver.
•
Direct the calls to Ironic
•
CLI client
•
Ironic deployment ramdisk agent
•
Built by diskimage-builder
•
Deploy by PXE, talk with Ironic-
conductor
RAMDISK Agent - https://github.com/openstack/diskimage-builder/tree/master/elements/deploy-ironic
16
Juno Teeth Agent
•
In Juno release, a new ramdisk agent will be introduced to Ironic by
RackSapce. (teeth agent) The new name is Ironic Python Agent
•
Supports:
•
Partition disks
•
Erase disks
•
Install bootloaders
•
Install an OS image
•
Update firmware
•
Configure RAID and more....
•
A new DeployInterface driver will be written to communicate with the new
Teeth agent.
17
Ironic BM Provision Sequence Diagram
18
Ironic Objects Model
19
Images used by Ironic
●
NBP
– Ironic.conf pxe_bootfile_name
– default pxelinux.0
●
Ironic Deployment Agent
– bm-deploy-kernel / bm-deploy-ramdisk
– BM flavor's extra_specs data –
baremetal:deploy_kernel_id/baremetal:deploy_ramdisk_id
●
User Image – to be deployed to bm
– user-image/
– user-image-vmlinuz
– user-image-initrd
– Images' kernel_id/ramdisk_id ext props
•
20
Ironic Commands
•
node-create - Create a new node.
•
node-delete - Delete a node.
•
node-get-console - return the connection information about the console.
•
node-list - list nodes.
•
node-set-console-mode - Enable or disable the console access.
•
node-set-power-state - Power the node on or off.
•
node-set-provision-state - Provision or tear down a node.
•
node-show - Show a node.
•
node-update - Upate a node.
•
node-validate - Validate the node driver interfaces.
21
Ironic Commands
•
port-create - Create a new port.
•
port-delete - Delete a port.
•
port-list - List ports.
•
port-show - Show a port.
•
port-update - Update a port.
•
chassis-create - Create a new chassis.
•
chassis-delete - Delete a chassis.
•
chassis-list - List chassis.
•
chassis-node-list - List the nodes contained in the chassis.
•
chassis-show - Show a chassis.
•
chassis-update - Update a chassis.
•
driver-list - List drivers.
•
driver-show - Show a driver.
22
How to use Ironic
•
Install Ironic - Try with devstack or TripleO's Devtest, it supports Ironic for long time
– http://docs.openstack.org/developer/ironic/dev/dev-quickstart.html#deploying-ironic-with-devstack
– https://wiki.openstack.org/wiki/Tuskar/Devtest
•
Setup the compute node's nova.conf
•
compute_driver = ironic.nova.virt.ironic.driver.IronicDriver
•
scheduler_host_manager = ironic.nova.scheduler.ironic_host_manager.IronicHostManager
•
Setup tftp folder and prepare pxe boot loader file
•
# cp pxelinux.0 /YOUR_TFTP_FOLDER/
•
Prepare the baremetal flavor
•
# nova flavor-create <name> <id> <ram> <disk> <vcpus>
•
# nova flavor-key baremetal set "cpu_arch"="$ARCH" "baremetal:deploy_kernel_id"="$deploy_kernel_id"
"baremetal:deploy_ramdisk_id"="$deploy_ramdisk_id"
•
Register these nodes with correct drivers
•
# ironic node-create driver=pxe_ipmitool
•
Register the ports information
•
# ironic port-create -a aa:bb:cc:dd:ee:ff -n 76305cdf-a30a-453e-bc92-b3f869a27fd8
•
Nova boot to kick off the baremetal provision
•
Check node's provision_state/power_state value
•
# ironic node-show 76305cdf-a30a-453e-bc92-b3f869a27fd8
23
TripleO
•
TripleO = OpenStack on OpenStack
•
INFO: May 2014 at the Atlanta Summit: both RedHat's (InStack) and HP's
(Helion) OpenStack distributions are now based on TripleO
24
TripleO – Covers full DevOps
TripleO = NovaBM/Ironic
+ os-collect-config
+ os-apply-config
+ os-refresh-config
+ os-cloud-config
+ diskimage-builder (dib)
+ tripleo-image-elements (dib)
+ tripleo-heat-elements (dib)
+ Tuskar(tuskar/tuskarui/python-tuskarclient)
25
TripleO – Block Diagram
v
26
PC
Seed VM
Undercloud
Overcloud
Controller
Overcloud
Compute
Overcloud
Compute
Workload
Workload Workload
$ heat stack-create
undercloud
$ heat stack-create
overcloud
$ heat stack-create
workload
Seed / under / over Clouds in TripleO
27
References
•
Ironic wiki - https://wiki.openstack.org/wiki/Ironic
•
PXE Spec - http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf
•
IPMI overview - http://www.intel.com/content/dam/www/public/us/en/documents/product-
briefs/ipmi-overview.pdf
•
IPMI Spec - http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-specifications.html
•
TripleO - https://wiki.openstack.org/wiki/TripleO
THANK YOU

More Related Content

What's hot

OSDC 2014 ONIE by Nat Morris
OSDC 2014 ONIE by Nat MorrisOSDC 2014 ONIE by Nat Morris
OSDC 2014 ONIE by Nat Morris
Cumulus Networks
 
SF Bay Area OpenStack Meetup Stacki Presentation
SF Bay Area OpenStack Meetup Stacki Presentation SF Bay Area OpenStack Meetup Stacki Presentation
SF Bay Area OpenStack Meetup Stacki Presentation
StackIQ
 
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, OracleXPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
The Linux Foundation
 
XPDS14 - Towards Massive Server Consolidation - Filipe Manco, NEC
XPDS14 - Towards Massive Server Consolidation - Filipe Manco, NECXPDS14 - Towards Massive Server Consolidation - Filipe Manco, NEC
XPDS14 - Towards Massive Server Consolidation - Filipe Manco, NEC
The Linux Foundation
 
Kernel Recipes 2017 - Build farm again - Willy Tarreau
Kernel Recipes 2017 - Build farm again - Willy TarreauKernel Recipes 2017 - Build farm again - Willy Tarreau
Kernel Recipes 2017 - Build farm again - Willy Tarreau
Anne Nicolas
 
The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014
Puppet
 
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
The Linux Foundation
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntu
Sim Janghoon
 
Public vs. Private Cloud Performance by Flex
Public vs. Private Cloud Performance by FlexPublic vs. Private Cloud Performance by Flex
Public vs. Private Cloud Performance by Flex
StackIQ
 
Cobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningCobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioning
RUDDER
 
QEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentQEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded Development
GlobalLogic Ukraine
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
iXsystems
 
StackiFest16: What's Next in Stacki - Mason Katz
StackiFest16: What's Next in Stacki - Mason Katz StackiFest16: What's Next in Stacki - Mason Katz
StackiFest16: What's Next in Stacki - Mason Katz
StackIQ
 
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSEXPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
The Linux Foundation
 
StackiFest16: Building a Cart
StackiFest16: Building a CartStackiFest16: Building a Cart
StackiFest16: Building a Cart
StackIQ
 
NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD X
iXsystems
 
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg BrunoStackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackIQ
 
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
The Linux Foundation
 
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
The Linux Foundation
 
BonFIRE: features, sites and tools
BonFIRE: features, sites and toolsBonFIRE: features, sites and tools
BonFIRE: features, sites and tools
BonFIRE
 

What's hot (20)

OSDC 2014 ONIE by Nat Morris
OSDC 2014 ONIE by Nat MorrisOSDC 2014 ONIE by Nat Morris
OSDC 2014 ONIE by Nat Morris
 
SF Bay Area OpenStack Meetup Stacki Presentation
SF Bay Area OpenStack Meetup Stacki Presentation SF Bay Area OpenStack Meetup Stacki Presentation
SF Bay Area OpenStack Meetup Stacki Presentation
 
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, OracleXPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
 
XPDS14 - Towards Massive Server Consolidation - Filipe Manco, NEC
XPDS14 - Towards Massive Server Consolidation - Filipe Manco, NECXPDS14 - Towards Massive Server Consolidation - Filipe Manco, NEC
XPDS14 - Towards Massive Server Consolidation - Filipe Manco, NEC
 
Kernel Recipes 2017 - Build farm again - Willy Tarreau
Kernel Recipes 2017 - Build farm again - Willy TarreauKernel Recipes 2017 - Build farm again - Willy Tarreau
Kernel Recipes 2017 - Build farm again - Willy Tarreau
 
The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014
 
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntu
 
Public vs. Private Cloud Performance by Flex
Public vs. Private Cloud Performance by FlexPublic vs. Private Cloud Performance by Flex
Public vs. Private Cloud Performance by Flex
 
Cobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningCobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioning
 
QEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentQEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded Development
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
 
StackiFest16: What's Next in Stacki - Mason Katz
StackiFest16: What's Next in Stacki - Mason Katz StackiFest16: What's Next in Stacki - Mason Katz
StackiFest16: What's Next in Stacki - Mason Katz
 
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSEXPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
 
StackiFest16: Building a Cart
StackiFest16: Building a CartStackiFest16: Building a Cart
StackiFest16: Building a Cart
 
NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD X
 
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg BrunoStackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
 
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
 
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
 
BonFIRE: features, sites and tools
BonFIRE: features, sites and toolsBonFIRE: features, sites and tools
BonFIRE: features, sites and tools
 

Similar to Ironic 140622212631-phpapp02

Stateless Hypervisors at Scale
Stateless Hypervisors at ScaleStateless Hypervisors at Scale
Stateless Hypervisors at Scale
Antony Messerl
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...
2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...
2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...
xiso
 
RISC V in Spacer
RISC V in SpacerRISC V in Spacer
RISC V in Spacer
klepsydratechnologie
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
MarketingArrowECS_CZ
 
FreeBSD hosting
FreeBSD hostingFreeBSD hosting
FreeBSD hosting
punkt.de GmbH
 
Juniper Network Automation for KrDAG
Juniper Network Automation for KrDAGJuniper Network Automation for KrDAG
Juniper Network Automation for KrDAG
KwonSun Bae
 
Running Applications on the NetBSD Rump Kernel by Justin Cormack
Running Applications on the NetBSD Rump Kernel by Justin Cormack Running Applications on the NetBSD Rump Kernel by Justin Cormack
Running Applications on the NetBSD Rump Kernel by Justin Cormack
eurobsdcon
 
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management blissStupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
macslide
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear Containers
Michelle Holley
 
Identifying and Supporting 'X-compatible' Hardware Blocks
Identifying and Supporting 'X-compatible' Hardware BlocksIdentifying and Supporting 'X-compatible' Hardware Blocks
Identifying and Supporting 'X-compatible' Hardware Blocks
Chen-Yu Tsai
 
Easily emulating full systems on amazon fpg as
Easily emulating full systems on amazon fpg asEasily emulating full systems on amazon fpg as
Easily emulating full systems on amazon fpg as
RISC-V International
 
OpenIO Summit'17 - ARM, Object Storage and more
OpenIO Summit'17 - ARM, Object Storage and moreOpenIO Summit'17 - ARM, Object Storage and more
OpenIO Summit'17 - ARM, Object Storage and more
OpenIO Object Storage
 
Kubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linuxKubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linux
macchiang
 
Optimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOptimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMU
OpenStack Foundation
 
”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016
Kuniyasu Suzaki
 
Beginners guide on how to start exploring IoT 2nd session
Beginners  guide on how to start exploring IoT 2nd sessionBeginners  guide on how to start exploring IoT 2nd session
Beginners guide on how to start exploring IoT 2nd session
veerababu penugonda(Mr-IoT)
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library Hypervisor
Anil Madhavapeddy
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
ViSenze - Artificial Intelligence for the Visual Web
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
Michael Zhang
 

Similar to Ironic 140622212631-phpapp02 (20)

Stateless Hypervisors at Scale
Stateless Hypervisors at ScaleStateless Hypervisors at Scale
Stateless Hypervisors at Scale
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...
2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...
2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...
 
RISC V in Spacer
RISC V in SpacerRISC V in Spacer
RISC V in Spacer
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
 
FreeBSD hosting
FreeBSD hostingFreeBSD hosting
FreeBSD hosting
 
Juniper Network Automation for KrDAG
Juniper Network Automation for KrDAGJuniper Network Automation for KrDAG
Juniper Network Automation for KrDAG
 
Running Applications on the NetBSD Rump Kernel by Justin Cormack
Running Applications on the NetBSD Rump Kernel by Justin Cormack Running Applications on the NetBSD Rump Kernel by Justin Cormack
Running Applications on the NetBSD Rump Kernel by Justin Cormack
 
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management blissStupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear Containers
 
Identifying and Supporting 'X-compatible' Hardware Blocks
Identifying and Supporting 'X-compatible' Hardware BlocksIdentifying and Supporting 'X-compatible' Hardware Blocks
Identifying and Supporting 'X-compatible' Hardware Blocks
 
Easily emulating full systems on amazon fpg as
Easily emulating full systems on amazon fpg asEasily emulating full systems on amazon fpg as
Easily emulating full systems on amazon fpg as
 
OpenIO Summit'17 - ARM, Object Storage and more
OpenIO Summit'17 - ARM, Object Storage and moreOpenIO Summit'17 - ARM, Object Storage and more
OpenIO Summit'17 - ARM, Object Storage and more
 
Kubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linuxKubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linux
 
Optimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOptimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMU
 
”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016
 
Beginners guide on how to start exploring IoT 2nd session
Beginners  guide on how to start exploring IoT 2nd sessionBeginners  guide on how to start exploring IoT 2nd session
Beginners guide on how to start exploring IoT 2nd session
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library Hypervisor
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
 

Recently uploaded

socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 

Recently uploaded (20)

socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 

Ironic 140622212631-phpapp02

  • 1. IRONIC OPENSTACK BAREMETAL PROVISIONING SERVICE Hao Meng, Wang IRC: Haomeng whaom@cn.ibm.com June, 2014
  • 2. 2 AGENDA • Bare Metal Provision Domain • Why Provision Bare Metal(BM) • Provision Methods & Scenarios • Key Technologies for BM Provision • PXE ROM & NBP • IPMI Functions • IPMI Block Diagram • IPMI + PXE Provising Workflow • Ironic • About Ironic • Architecture • Conceptual • Logical • Framework • Components • BM Provision Sequence Diagram • Data Model • Images used by Ironic • Commands • How to use Ironic • TripleO
  • 3. 3 Why Provision Bare Metal(BM) • Database/Hadoop hosting (some databases run poorly in a hypervisor) • Single tenant, dedicated hardware for performance, security, dependability and other regulatory requirements • Computing tasks that require access to hardware devices which can’t be virtualized • High-performance computing(HPC) clusters, physical compute nodes • Or, rapidly deploying a cloud infrastructure self, TripleO or others • Cloud scaling out • X86_64, ARM, TILE-Gx16/36/64/100 systems • SoftLayer / Racespace Cloud supports bare-metal as service
  • 4. 4 Provision Methods & Scenarios • Methods • CLONE – ghost/dd • INSTALL – JumpStart/KickStart/OS Installer • CLONE + INSTALL • Scenarios • Diskful • HD/SSD • iSCSI/SAN disk • Diskless • RAM Disk
  • 5. 5 Key Technologies for BM Provision • PXE Preboot Execution Environment (PXE) is part of the Wired for Management (WfM) specification developed by Intel and Microsoft. Booting computers via a network. • NBP Network Bootstrap Program (NBP) is equivalent to GRUB (GRand Unified Bootloader) or LILO (LInux LOader) - loaders which are traditionally used in local booting. Like the boot program in a hard drive environment, the NBP is responsible for loading the OS kernel into memory so that the OS can be bootstrapped over a network. • IPMI Intelligent Platform Management Interface (IPMI) is a standardized computer system interface used by system administrators for out-of-band management of computer systems and monitoring of their operation. • DHCP Using PXE, the BIOS uses DHCP to obtain an IP address for the network interface and to locate the server that stores the network bootstrap program (NBP). • TFTP Trivial File Transfer Protocol (TFTP) is a simple file transfer protocol that is generally used for automated transfer of configuration or boot files between machines in a local environment. In a PXE environment, TFTP is used to download NBP over the network using information from the DHCP server. • iSCSI Internet Small Computer System Interface, uses this to 'dd' the image to target machnie local disk
  • 6. 6 PXE ROM & NBP (bootloader,pxelinux.0) PXE ROM Chip
  • 7. 7 NBP bootloader config file sample default deploy label deploy kernel /tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/deploy_kernel append initrd=/tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/deploy_ramdisk selinux=0 disk=cciss/c0d0,sda,hda,vda iscsi_target_iqn=iqn-76305cdf-a30a-453e-bc92-b3f869a27fd8 deployment_id=76305cdf-a30a-453e-bc92-b3f869a27fd8 deployment_key=UKKQZ3N2AOUJ45NZVB27L25XKR6I57V8 ironic_api_url=http://192.0.2.1:6385 troubleshoot=0 nofb nomodeset vga=normal label boot kernel /tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/kernel append initrd=/tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/ramdisk root=UUID=319005ff-9177-45af- 87db-ada3a1f6dc9f ro nofb nomodeset vga=normal
  • 8. 8 IPMI Functions • power Shortcut to chassis power commands • chassis bootdev Set the boot device • sensor Print detailed sensor information • sol Configure and connect IPMIv2.0 Serial-over-LAN • ...
  • 11. 11 “Ironic is an Incubated OpenStack project which aims to provision bare metal (as opposed to virtual) machines by leveraging common technologies such as PXE boot and IPMI to cover a wide range of hardware, while supporting pluggable drivers to allow vendor-specific functionality to be added.” http://docs.openstack.org/developer/ironic/ About Ironic
  • 15. 15 Ironic Components • Ironic-api • handles the remote api requests • Ironic-conductor • talk with physical machines • Nova compute driver • Implements the nova virt.ComputeDriver. • Direct the calls to Ironic • CLI client • Ironic deployment ramdisk agent • Built by diskimage-builder • Deploy by PXE, talk with Ironic- conductor RAMDISK Agent - https://github.com/openstack/diskimage-builder/tree/master/elements/deploy-ironic
  • 16. 16 Juno Teeth Agent • In Juno release, a new ramdisk agent will be introduced to Ironic by RackSapce. (teeth agent) The new name is Ironic Python Agent • Supports: • Partition disks • Erase disks • Install bootloaders • Install an OS image • Update firmware • Configure RAID and more.... • A new DeployInterface driver will be written to communicate with the new Teeth agent.
  • 17. 17 Ironic BM Provision Sequence Diagram
  • 19. 19 Images used by Ironic ● NBP – Ironic.conf pxe_bootfile_name – default pxelinux.0 ● Ironic Deployment Agent – bm-deploy-kernel / bm-deploy-ramdisk – BM flavor's extra_specs data – baremetal:deploy_kernel_id/baremetal:deploy_ramdisk_id ● User Image – to be deployed to bm – user-image/ – user-image-vmlinuz – user-image-initrd – Images' kernel_id/ramdisk_id ext props •
  • 20. 20 Ironic Commands • node-create - Create a new node. • node-delete - Delete a node. • node-get-console - return the connection information about the console. • node-list - list nodes. • node-set-console-mode - Enable or disable the console access. • node-set-power-state - Power the node on or off. • node-set-provision-state - Provision or tear down a node. • node-show - Show a node. • node-update - Upate a node. • node-validate - Validate the node driver interfaces.
  • 21. 21 Ironic Commands • port-create - Create a new port. • port-delete - Delete a port. • port-list - List ports. • port-show - Show a port. • port-update - Update a port. • chassis-create - Create a new chassis. • chassis-delete - Delete a chassis. • chassis-list - List chassis. • chassis-node-list - List the nodes contained in the chassis. • chassis-show - Show a chassis. • chassis-update - Update a chassis. • driver-list - List drivers. • driver-show - Show a driver.
  • 22. 22 How to use Ironic • Install Ironic - Try with devstack or TripleO's Devtest, it supports Ironic for long time – http://docs.openstack.org/developer/ironic/dev/dev-quickstart.html#deploying-ironic-with-devstack – https://wiki.openstack.org/wiki/Tuskar/Devtest • Setup the compute node's nova.conf • compute_driver = ironic.nova.virt.ironic.driver.IronicDriver • scheduler_host_manager = ironic.nova.scheduler.ironic_host_manager.IronicHostManager • Setup tftp folder and prepare pxe boot loader file • # cp pxelinux.0 /YOUR_TFTP_FOLDER/ • Prepare the baremetal flavor • # nova flavor-create <name> <id> <ram> <disk> <vcpus> • # nova flavor-key baremetal set "cpu_arch"="$ARCH" "baremetal:deploy_kernel_id"="$deploy_kernel_id" "baremetal:deploy_ramdisk_id"="$deploy_ramdisk_id" • Register these nodes with correct drivers • # ironic node-create driver=pxe_ipmitool • Register the ports information • # ironic port-create -a aa:bb:cc:dd:ee:ff -n 76305cdf-a30a-453e-bc92-b3f869a27fd8 • Nova boot to kick off the baremetal provision • Check node's provision_state/power_state value • # ironic node-show 76305cdf-a30a-453e-bc92-b3f869a27fd8
  • 23. 23 TripleO • TripleO = OpenStack on OpenStack • INFO: May 2014 at the Atlanta Summit: both RedHat's (InStack) and HP's (Helion) OpenStack distributions are now based on TripleO
  • 24. 24 TripleO – Covers full DevOps TripleO = NovaBM/Ironic + os-collect-config + os-apply-config + os-refresh-config + os-cloud-config + diskimage-builder (dib) + tripleo-image-elements (dib) + tripleo-heat-elements (dib) + Tuskar(tuskar/tuskarui/python-tuskarclient)
  • 25. 25 TripleO – Block Diagram v
  • 26. 26 PC Seed VM Undercloud Overcloud Controller Overcloud Compute Overcloud Compute Workload Workload Workload $ heat stack-create undercloud $ heat stack-create overcloud $ heat stack-create workload Seed / under / over Clouds in TripleO
  • 27. 27 References • Ironic wiki - https://wiki.openstack.org/wiki/Ironic • PXE Spec - http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf • IPMI overview - http://www.intel.com/content/dam/www/public/us/en/documents/product- briefs/ipmi-overview.pdf • IPMI Spec - http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-specifications.html • TripleO - https://wiki.openstack.org/wiki/TripleO