SlideShare a Scribd company logo
1 of 28
Download to read offline
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

Red Hat OpenStack Deployment
Red Hat OpenStack DeploymentRed Hat OpenStack Deployment
Red Hat OpenStack DeploymentMichael Solberg
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges openstackindia
 
DevOps and OpenStack December 2012
DevOps and OpenStack December 2012DevOps and OpenStack December 2012
DevOps and OpenStack December 2012Matt Ray
 
Chef and OpenStack Workshop from ChefConf 2013
Chef and OpenStack Workshop from ChefConf 2013Chef and OpenStack Workshop from ChefConf 2013
Chef and OpenStack Workshop from ChefConf 2013Matt Ray
 
Introducing OpenStack for Beginners
Introducing OpenStack for Beginners Introducing OpenStack for Beginners
Introducing OpenStack for Beginners openstackindia
 
Mastering OpenStack - Episode 02 - Simple Architectures
Mastering OpenStack - Episode 02 - Simple ArchitecturesMastering OpenStack - Episode 02 - Simple Architectures
Mastering OpenStack - Episode 02 - Simple ArchitecturesRoozbeh Shafiee
 
Mastering OpenStack - Episode 01 - Simple Architectures
Mastering OpenStack - Episode 01 - Simple ArchitecturesMastering OpenStack - Episode 01 - Simple Architectures
Mastering OpenStack - Episode 01 - Simple ArchitecturesRoozbeh Shafiee
 
Demistifying open stack storage
Demistifying open stack storageDemistifying open stack storage
Demistifying open stack storageopenstackindia
 
Openstack – An introduction
Openstack – An introductionOpenstack – An introduction
Openstack – An introductionMuddassir Nazir
 
State of Linux Containers in OpenStack
State of Linux Containers in OpenStackState of Linux Containers in OpenStack
State of Linux Containers in OpenStackopenstackindia
 
OpenStack Kolla Introduction
OpenStack Kolla IntroductionOpenStack Kolla Introduction
OpenStack Kolla IntroductionDaneyon Hansen
 
Automating OpenStack Deployment with Fuel
Automating OpenStack Deployment with FuelAutomating OpenStack Deployment with Fuel
Automating OpenStack Deployment with FuelTomasz Zen Napierala
 
Mastering OpenStack - Episode 05 - Controller Nodes
Mastering OpenStack - Episode 05 - Controller NodesMastering OpenStack - Episode 05 - Controller Nodes
Mastering OpenStack - Episode 05 - Controller NodesRoozbeh Shafiee
 
Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10Andrei Savu
 
Docker Meetup Bangalore - Docker + Openstack
Docker Meetup Bangalore - Docker + OpenstackDocker Meetup Bangalore - Docker + Openstack
Docker Meetup Bangalore - Docker + OpenstackAshish Billore
 
Deploying openstack using ansible
Deploying openstack using ansibleDeploying openstack using ansible
Deploying openstack using ansibleopenstackindia
 

What's hot (20)

Red Hat OpenStack Deployment
Red Hat OpenStack DeploymentRed Hat OpenStack Deployment
Red Hat OpenStack Deployment
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges
 
DevOps and OpenStack December 2012
DevOps and OpenStack December 2012DevOps and OpenStack December 2012
DevOps and OpenStack December 2012
 
Chef and OpenStack Workshop from ChefConf 2013
Chef and OpenStack Workshop from ChefConf 2013Chef and OpenStack Workshop from ChefConf 2013
Chef and OpenStack Workshop from ChefConf 2013
 
Introducing OpenStack for Beginners
Introducing OpenStack for Beginners Introducing OpenStack for Beginners
Introducing OpenStack for Beginners
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
 
Mastering OpenStack - Episode 02 - Simple Architectures
Mastering OpenStack - Episode 02 - Simple ArchitecturesMastering OpenStack - Episode 02 - Simple Architectures
Mastering OpenStack - Episode 02 - Simple Architectures
 
oVirt Introduction
oVirt IntroductionoVirt Introduction
oVirt Introduction
 
Mastering OpenStack - Episode 01 - Simple Architectures
Mastering OpenStack - Episode 01 - Simple ArchitecturesMastering OpenStack - Episode 01 - Simple Architectures
Mastering OpenStack - Episode 01 - Simple Architectures
 
Demistifying open stack storage
Demistifying open stack storageDemistifying open stack storage
Demistifying open stack storage
 
Openstack – An introduction
Openstack – An introductionOpenstack – An introduction
Openstack – An introduction
 
State of Linux Containers in OpenStack
State of Linux Containers in OpenStackState of Linux Containers in OpenStack
State of Linux Containers in OpenStack
 
OpenStack Kolla Introduction
OpenStack Kolla IntroductionOpenStack Kolla Introduction
OpenStack Kolla Introduction
 
Automating OpenStack Deployment with Fuel
Automating OpenStack Deployment with FuelAutomating OpenStack Deployment with Fuel
Automating OpenStack Deployment with Fuel
 
Mastering OpenStack - Episode 05 - Controller Nodes
Mastering OpenStack - Episode 05 - Controller NodesMastering OpenStack - Episode 05 - Controller Nodes
Mastering OpenStack - Episode 05 - Controller Nodes
 
Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10
 
Docker Meetup Bangalore - Docker + Openstack
Docker Meetup Bangalore - Docker + OpenstackDocker Meetup Bangalore - Docker + Openstack
Docker Meetup Bangalore - Docker + Openstack
 
Deploying openstack using ansible
Deploying openstack using ansibleDeploying openstack using ansible
Deploying openstack using ansible
 
dodai_grizzly.pdf
dodai_grizzly.pdfdodai_grizzly.pdf
dodai_grizzly.pdf
 
OpenStack Neutron behind the Scenes
OpenStack Neutron behind the ScenesOpenStack Neutron behind the Scenes
OpenStack Neutron behind the Scenes
 

Viewers also liked

New Relic Plugin for Cassandra | Blue Medora
New Relic Plugin for Cassandra | Blue MedoraNew Relic Plugin for Cassandra | Blue Medora
New Relic Plugin for Cassandra | Blue MedoraBlue Medora
 
VMware vROps Management Pack for Hadoop
VMware vROps Management Pack for HadoopVMware vROps Management Pack for Hadoop
VMware vROps Management Pack for HadoopBlue Medora
 
VMware vROps Management Pack for Amazon DynamoDB
VMware vROps Management Pack for Amazon DynamoDBVMware vROps Management Pack for Amazon DynamoDB
VMware vROps Management Pack for Amazon DynamoDBBlue Medora
 
Analyzing SAP Performance with VMware vRealize Operations (vROps)
Analyzing SAP Performance with VMware vRealize Operations (vROps)Analyzing SAP Performance with VMware vRealize Operations (vROps)
Analyzing SAP Performance with VMware vRealize Operations (vROps)Blue Medora
 
Business Automation and Service Delivery Platform for Openstack based cloud p...
Business Automation and Service Delivery Platform for Openstack based cloud p...Business Automation and Service Delivery Platform for Openstack based cloud p...
Business Automation and Service Delivery Platform for Openstack based cloud p...RackNap
 
VMware vROps Management Pack for Amazon RDS
VMware vROps Management Pack for Amazon RDSVMware vROps Management Pack for Amazon RDS
VMware vROps Management Pack for Amazon RDSBlue Medora
 
Software Defined Datacenter
Software Defined DatacenterSoftware Defined Datacenter
Software Defined DatacenterSUSE España
 
DevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y ModeloDevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y ModeloSUSE España
 
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)Chu-Siang Lai
 
EMC World 2016 - code.05 Automating your Physical Data Center with RackHD
EMC World 2016 - code.05 Automating your Physical Data Center with RackHDEMC World 2016 - code.05 Automating your Physical Data Center with RackHD
EMC World 2016 - code.05 Automating your Physical Data Center with RackHD{code}
 
Network Automation: Ansible 101
Network Automation: Ansible 101Network Automation: Ansible 101
Network Automation: Ansible 101APNIC
 
Network Automation: Ansible 102
Network Automation: Ansible 102Network Automation: Ansible 102
Network Automation: Ansible 102APNIC
 
Container & kubernetes
Container & kubernetesContainer & kubernetes
Container & kubernetesTed Jung
 
Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleJirayut Nimsaeng
 
OpenStack Ansible for private cloud at Kaidee
OpenStack Ansible for private cloud at KaideeOpenStack Ansible for private cloud at Kaidee
OpenStack Ansible for private cloud at KaideeJirayut Nimsaeng
 
Understanding Kubernetes
Understanding KubernetesUnderstanding Kubernetes
Understanding KubernetesTu Pham
 
20170315 Cloud Accelerated Genomics - Tel Aviv / Phoenix
20170315 Cloud Accelerated Genomics - Tel Aviv / Phoenix20170315 Cloud Accelerated Genomics - Tel Aviv / Phoenix
20170315 Cloud Accelerated Genomics - Tel Aviv / PhoenixAllen Day, PhD
 
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)Chu-Siang Lai
 

Viewers also liked (20)

New Relic Plugin for Cassandra | Blue Medora
New Relic Plugin for Cassandra | Blue MedoraNew Relic Plugin for Cassandra | Blue Medora
New Relic Plugin for Cassandra | Blue Medora
 
VMware vROps Management Pack for Hadoop
VMware vROps Management Pack for HadoopVMware vROps Management Pack for Hadoop
VMware vROps Management Pack for Hadoop
 
VMware vROps Management Pack for Amazon DynamoDB
VMware vROps Management Pack for Amazon DynamoDBVMware vROps Management Pack for Amazon DynamoDB
VMware vROps Management Pack for Amazon DynamoDB
 
Analyzing SAP Performance with VMware vRealize Operations (vROps)
Analyzing SAP Performance with VMware vRealize Operations (vROps)Analyzing SAP Performance with VMware vRealize Operations (vROps)
Analyzing SAP Performance with VMware vRealize Operations (vROps)
 
Business Automation and Service Delivery Platform for Openstack based cloud p...
Business Automation and Service Delivery Platform for Openstack based cloud p...Business Automation and Service Delivery Platform for Openstack based cloud p...
Business Automation and Service Delivery Platform for Openstack based cloud p...
 
VMware vROps Management Pack for Amazon RDS
VMware vROps Management Pack for Amazon RDSVMware vROps Management Pack for Amazon RDS
VMware vROps Management Pack for Amazon RDS
 
Ironic - Vietnam OpenStack Technical Meetup #12
Ironic - Vietnam OpenStack Technical Meetup #12Ironic - Vietnam OpenStack Technical Meetup #12
Ironic - Vietnam OpenStack Technical Meetup #12
 
Multi tenancy for docker
Multi tenancy for dockerMulti tenancy for docker
Multi tenancy for docker
 
Software Defined Datacenter
Software Defined DatacenterSoftware Defined Datacenter
Software Defined Datacenter
 
DevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y ModeloDevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y Modelo
 
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
 
EMC World 2016 - code.05 Automating your Physical Data Center with RackHD
EMC World 2016 - code.05 Automating your Physical Data Center with RackHDEMC World 2016 - code.05 Automating your Physical Data Center with RackHD
EMC World 2016 - code.05 Automating your Physical Data Center with RackHD
 
Network Automation: Ansible 101
Network Automation: Ansible 101Network Automation: Ansible 101
Network Automation: Ansible 101
 
Network Automation: Ansible 102
Network Automation: Ansible 102Network Automation: Ansible 102
Network Automation: Ansible 102
 
Container & kubernetes
Container & kubernetesContainer & kubernetes
Container & kubernetes
 
Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack Ansible
 
OpenStack Ansible for private cloud at Kaidee
OpenStack Ansible for private cloud at KaideeOpenStack Ansible for private cloud at Kaidee
OpenStack Ansible for private cloud at Kaidee
 
Understanding Kubernetes
Understanding KubernetesUnderstanding Kubernetes
Understanding Kubernetes
 
20170315 Cloud Accelerated Genomics - Tel Aviv / Phoenix
20170315 Cloud Accelerated Genomics - Tel Aviv / Phoenix20170315 Cloud Accelerated Genomics - Tel Aviv / Phoenix
20170315 Cloud Accelerated Genomics - Tel Aviv / Phoenix
 
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)
 

Similar to Ironic 140622212631-phpapp02

Stateless Hypervisors at Scale
Stateless Hypervisors at ScaleStateless Hypervisors at Scale
Stateless Hypervisors at ScaleAntony Messerl
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon 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
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataMarketingArrowECS_CZ
 
Juniper Network Automation for KrDAG
Juniper Network Automation for KrDAGJuniper Network Automation for KrDAG
Juniper Network Automation for KrDAGKwonSun 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 blissmacslide
 
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 ContainersMichelle 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 BlocksChen-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 asRISC-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 moreOpenIO 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 linuxmacchiang
 
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/QEMUOpenStack Foundation
 
”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016Kuniyasu 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 sessionveerababu 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 HypervisorAnil 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 EnvironmentsMichael 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

SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 

Recently uploaded (20)

SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 

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