SlideShare a Scribd company logo
1 of 24
Download to read offline
Bare Metal Introspection service
(ironic-inspector)
Annie Lezil
Ramamani Yeleswarapu
AGENDA
● Ironic Inspector
● Workflow
● Plugins/ Collectors
● Introspection Rules & Reapplying Introspection
● Capabilities
● Biosdevname & Dmidecode collectors
IRONIC INSPECTOR
● Service for discovering hardware properties of a node
● Properties required for scheduling a bare metal node
● Inspection involves booting Ironic Python Agent(IPA) ramdisk on the node
● IPA - agent running in the ramdisk to control and deploy nodes
● Inspection requires configuring the IPA ramdisk, PXE/iPXE boot environments
GENERAL WORKFLOW
Enroll a node
(IPMI Credentials)
Bring node to
manageable
state
(CLI command)
Request node
inspection
(CLI command)
Inspector validates node
(power credentials,
power and provision states)
Inspector allows firewall
access
(PXE boot services for the
node)
Issues reboot command
(IPA boots on the node)
IPA collects the HW info
(post it back data to the
Inspector)
Inspector figures out
the node the data
belongs to
Inspector processes
the data
(updates the node’s
DB)
Inspector stores
HW inventory in
Swift
INSTALL / CONTRIBUTION
USAGE
● Node States
● Introspection Rules
● Reapplying Introspection on
Stored Data
● Discovery
● Capabilities Detection
● Plugins
NODE STATES
● The nodes should be moved to MANAGEABLE provision state before introspection.
● Move node to manageable state:
“openstack baremetal node manage <UUID>”
“ironic node-set-provision-state <node_UUID> manage”
● INSPECT a node:
“openstack baremetal node inspect <UUID>”
“openstack baremetal introspection start <UUID>”
“ironic node-set-provision-state <node_UUID> inspect”
● Get back a data in json file and store it in Swift:
“openstack baremetal introspection data save <UUID>”
● After successful introspection and before deploying nodes should be made available to Nova, by moving them to
AVAILABLE state:
“openstack baremetal node provide <UUID>”
“ironic node-set-provision-state <UUID> provide”
manageable
enroll
available
manage
(via API)
provide
(via API)
manage
(via API)
Inspection
inspect
(via API)
PLUGINS
● For data processing including standard functionality
● Plugins enabled by default:
scheduler, validate_interfaces, root_disk_selection, ramdisk_error, capabilities, pci_devices
● Optional plugins:
example, raid_device, local_link_connection, lldp_basic
● Set in ironic.conf:
processing_hooks
default_processing_hooks
PLUGINS
Receives data
from ramdisk
Run
pre-processing
hooks
Look up for node
Run
post-processing
hooks
Updates Ironic DBSaves data to Swift
INTROSPECTION RULES
● Operator/User creates “Conditions” on introspection data to perform “Action” on node.
● Simple JSON-based domain-specific language used to define rules.
Condition
{"field":"data://introspection.path,
"op": "eq", "value": "val"}
True
Action
{"action": "set-attribute",
"path":"/driver_info/ipmi_address",
"value": "{data[inventory][bmc_address]}"}
False Action not
performed
INTROSPECTION RULES EXAMPLES
● Save the conditions and actions as .json file.
INTROSPECTION RULES EXAMPLES
INTROSPECTION RULES EXAMPLES
REAPPLYING INTROSPECTION ON STORED DATA
Create/Import
Rules
Inspect
Reboots node
Collects data
Process the data
Applies the rules
Saves the data
in Swift
Reapply
Fetch data from
Swift
● Allows correcting mistakes
in introspection rules.
● Not necessary to inspect a
node if the rules created
are wrong.
● “openstack baremetal
introspection reprocess
<UUID>”
DISCOVERY
● Inspector can automatically enroll new nodes to Ironic
● Set “node_not_found_hook = enroll” in inspector.conf to load the
processing hook “enroll”
● Set "enroll_node_driver" option to the Ironic driver
● Node is manually booted without registering it with Ironic.
● Ramdisk is booted and data collected back to inspector.
● If inspector cannot find the node in ironic, it creates a new node.
CAPABILITIES DETECTION
● Currently, Inspector can discover these node capabilities:
○ Boot mode (current boot mode BIOS or UEFI)
○ Several CPU flags (cpu_aes, cpu_vt, cpu_txt, cpu_hugepages, cpu_hugepages_1g)
● Define your own rules by setting the [capabilities]/cpu_flags in
inspector.conf
CAPABILITIES DETECTION
Capabilities
added to
node’s
properties
CAPABILITIES DETECTION EXAMPLES
Nodes
should be
available
COLLECTORS in IPA
● Extensions of the inspection process during the IPA ramdisk run
● Adding a new collector requires rebuilding the IPA ramdisk and kernel images
● Using CoreOS/ TinyIPA/ Disk Image Builder
● Use the resulting .kernel and .initramfs files to set PXE/iPXE (.gz and .vmlinuz files in
the case of CoreOS/TinyIPA)
● Customize the list of collectors by appending to the kernel option in the
PXE/iPXE config:
ipa-inspection-collectors=default,logs,extra_hardware
DMIDECODE COLLECTOR
● Collects detailed output of dmidecode utility for processor, memory and bios
● Optional collector to be added to the ipa-inspection-collectors kernel argument
● Adds to the hardware inventory:
BIOSDEVNAME
● Biosdevname - utility that gives BIOS-given name of a device (interface).
● Default Collector - collects the hardware inventory of a node.
● Implementation:
○ Created the biosdevname utility for TinyIPA (ramdisk).
○ Implemented a function to collect the Bios given interface name and added it to interfaces
section of default collector.
Extra field
biosdevname
added
INTROSPECTION CLI COMMANDS
● baremetal introspection abort
● baremetal introspection data save
● baremetal introspection list
● baremetal introspection reprocess
● baremetal introspection rule delete
● baremetal introspection rule import
● baremetal introspection rule list
● baremetal introspection rule purge
● baremetal introspection rule show
● baremetal introspection start
● baremetal introspection status
Thank You

More Related Content

What's hot

KubeCon Prometheus Salon -- Kubernetes metrics deep dive
KubeCon Prometheus Salon -- Kubernetes metrics deep diveKubeCon Prometheus Salon -- Kubernetes metrics deep dive
KubeCon Prometheus Salon -- Kubernetes metrics deep diveBob Cotton
 
Improving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware LibeventdevImproving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware LibeventdevMichelle Holley
 
Skill translator usage guide
Skill translator usage guideSkill translator usage guide
Skill translator usage guideMichael Lee
 
Opensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNFOpensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNFMichelle Holley
 
Redis Meetup TLV - K8s Session 28/10/2018
Redis Meetup TLV - K8s Session 28/10/2018Redis Meetup TLV - K8s Session 28/10/2018
Redis Meetup TLV - K8s Session 28/10/2018Danni Moiseyev
 
Exactly Once Semantics Revisited (Jason Gustafson, Confluent) Kafka Summit NY...
Exactly Once Semantics Revisited (Jason Gustafson, Confluent) Kafka Summit NY...Exactly Once Semantics Revisited (Jason Gustafson, Confluent) Kafka Summit NY...
Exactly Once Semantics Revisited (Jason Gustafson, Confluent) Kafka Summit NY...confluent
 
Apache Apex - BufferServer
Apache Apex - BufferServerApache Apex - BufferServer
Apache Apex - BufferServerPradeep Dalvi
 
CRX2Oak - all the secrets of repository migration
CRX2Oak - all the secrets of repository migrationCRX2Oak - all the secrets of repository migration
CRX2Oak - all the secrets of repository migrationTomasz Rękawek
 
Open Connect Firmware Delivery With Spinnaker (Spinnaker Summit 2018)
Open Connect Firmware Delivery With Spinnaker (Spinnaker Summit 2018)Open Connect Firmware Delivery With Spinnaker (Spinnaker Summit 2018)
Open Connect Firmware Delivery With Spinnaker (Spinnaker Summit 2018)Asher Feldman
 
Sfo15 408- odp-dpdk platform performance
Sfo15 408- odp-dpdk platform performanceSfo15 408- odp-dpdk platform performance
Sfo15 408- odp-dpdk platform performanceLinaro
 
Scaling your logging infrastructure using syslog-ng
Scaling your logging infrastructure using syslog-ngScaling your logging infrastructure using syslog-ng
Scaling your logging infrastructure using syslog-ngPeter Czanik
 
Tech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product UpdateTech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product UpdateAdaCore
 
Kubernetes #6 advanced scheduling
Kubernetes #6   advanced schedulingKubernetes #6   advanced scheduling
Kubernetes #6 advanced schedulingTerry Cho
 

What's hot (20)

SDAccel Design Contest: Xilinx SDAccel
SDAccel Design Contest: Xilinx SDAccel SDAccel Design Contest: Xilinx SDAccel
SDAccel Design Contest: Xilinx SDAccel
 
KubeCon Prometheus Salon -- Kubernetes metrics deep dive
KubeCon Prometheus Salon -- Kubernetes metrics deep diveKubeCon Prometheus Salon -- Kubernetes metrics deep dive
KubeCon Prometheus Salon -- Kubernetes metrics deep dive
 
Improving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware LibeventdevImproving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware Libeventdev
 
Curator intro
Curator introCurator intro
Curator intro
 
Skill translator usage guide
Skill translator usage guideSkill translator usage guide
Skill translator usage guide
 
Opensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNFOpensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNF
 
Redis Meetup TLV - K8s Session 28/10/2018
Redis Meetup TLV - K8s Session 28/10/2018Redis Meetup TLV - K8s Session 28/10/2018
Redis Meetup TLV - K8s Session 28/10/2018
 
Nagios intro
Nagios intro Nagios intro
Nagios intro
 
Neutron DVR
Neutron DVRNeutron DVR
Neutron DVR
 
Exactly Once Semantics Revisited (Jason Gustafson, Confluent) Kafka Summit NY...
Exactly Once Semantics Revisited (Jason Gustafson, Confluent) Kafka Summit NY...Exactly Once Semantics Revisited (Jason Gustafson, Confluent) Kafka Summit NY...
Exactly Once Semantics Revisited (Jason Gustafson, Confluent) Kafka Summit NY...
 
Apache Apex - BufferServer
Apache Apex - BufferServerApache Apex - BufferServer
Apache Apex - BufferServer
 
CRX2Oak - all the secrets of repository migration
CRX2Oak - all the secrets of repository migrationCRX2Oak - all the secrets of repository migration
CRX2Oak - all the secrets of repository migration
 
SDAccel Design Contest: Intro
SDAccel Design Contest: IntroSDAccel Design Contest: Intro
SDAccel Design Contest: Intro
 
Open Connect Firmware Delivery With Spinnaker (Spinnaker Summit 2018)
Open Connect Firmware Delivery With Spinnaker (Spinnaker Summit 2018)Open Connect Firmware Delivery With Spinnaker (Spinnaker Summit 2018)
Open Connect Firmware Delivery With Spinnaker (Spinnaker Summit 2018)
 
Sfo15 408- odp-dpdk platform performance
Sfo15 408- odp-dpdk platform performanceSfo15 408- odp-dpdk platform performance
Sfo15 408- odp-dpdk platform performance
 
Scaling your logging infrastructure using syslog-ng
Scaling your logging infrastructure using syslog-ngScaling your logging infrastructure using syslog-ng
Scaling your logging infrastructure using syslog-ng
 
Tech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product UpdateTech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product Update
 
rtnetlink
rtnetlinkrtnetlink
rtnetlink
 
Kubernetes #6 advanced scheduling
Kubernetes #6   advanced schedulingKubernetes #6   advanced scheduling
Kubernetes #6 advanced scheduling
 
L2 and L3 agent restructure
L2 and L3 agent restructureL2 and L3 agent restructure
L2 and L3 agent restructure
 

Similar to Bare Metal Introspection service (ironic-inspector) overview

OSDC 2015: Bernd Erk | Why favour Icinga over Nagios
OSDC 2015: Bernd Erk | Why favour Icinga over NagiosOSDC 2015: Bernd Erk | Why favour Icinga over Nagios
OSDC 2015: Bernd Erk | Why favour Icinga over NagiosNETWAYS
 
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
 
Development of a Cisco ACI device package for NGINX as a Load-Balancer
Development of a Cisco ACI device package for NGINX as a Load-BalancerDevelopment of a Cisco ACI device package for NGINX as a Load-Balancer
Development of a Cisco ACI device package for NGINX as a Load-BalancerFabrice Servais
 
Dolphin: Regression Test System for Latitude
Dolphin: Regression Test System for LatitudeDolphin: Regression Test System for Latitude
Dolphin: Regression Test System for LatitudeTao Jiang
 
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...NGINX, Inc.
 
TechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityTechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityRobb Boyd
 
Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02Narender Kumar
 
Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02Narender Kumar
 
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...Ivanti
 
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NYPuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NYPuppet
 
Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn:...
Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn:...Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn:...
Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn:...Spark Summit
 
Apollo ecosystem
Apollo ecosystemApollo ecosystem
Apollo ecosystemJames Akwuh
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAkshaya Mahapatra
 
Automated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and RedfishAutomated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and RedfishJose De La Rosa
 
PaaSTA: Autoscaling at Yelp
PaaSTA: Autoscaling at YelpPaaSTA: Autoscaling at Yelp
PaaSTA: Autoscaling at YelpNathan Handler
 

Similar to Bare Metal Introspection service (ironic-inspector) overview (20)

OSDC 2015: Bernd Erk | Why favour Icinga over Nagios
OSDC 2015: Bernd Erk | Why favour Icinga over NagiosOSDC 2015: Bernd Erk | Why favour Icinga over Nagios
OSDC 2015: Bernd Erk | Why favour Icinga over Nagios
 
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
 
Development of a Cisco ACI device package for NGINX as a Load-Balancer
Development of a Cisco ACI device package for NGINX as a Load-BalancerDevelopment of a Cisco ACI device package for NGINX as a Load-Balancer
Development of a Cisco ACI device package for NGINX as a Load-Balancer
 
Dolphin: Regression Test System for Latitude
Dolphin: Regression Test System for LatitudeDolphin: Regression Test System for Latitude
Dolphin: Regression Test System for Latitude
 
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
 
RAT - Repurposing Adversarial Tradecraft
RAT - Repurposing Adversarial TradecraftRAT - Repurposing Adversarial Tradecraft
RAT - Repurposing Adversarial Tradecraft
 
TechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityTechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching Programmability
 
Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02
 
Ironic
IronicIronic
Ironic
 
Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02
 
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NYPuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
 
Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn:...
Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn:...Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn:...
Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn:...
 
Apollo ecosystem
Apollo ecosystemApollo ecosystem
Apollo ecosystem
 
RISC V in Spacer
RISC V in SpacerRISC V in Spacer
RISC V in Spacer
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps Approach
 
Automated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and RedfishAutomated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and Redfish
 
PaaSTA: Autoscaling at Yelp
PaaSTA: Autoscaling at YelpPaaSTA: Autoscaling at Yelp
PaaSTA: Autoscaling at Yelp
 

Recently uploaded

MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...ranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 

Recently uploaded (20)

MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 

Bare Metal Introspection service (ironic-inspector) overview

  • 1. Bare Metal Introspection service (ironic-inspector) Annie Lezil Ramamani Yeleswarapu
  • 2. AGENDA ● Ironic Inspector ● Workflow ● Plugins/ Collectors ● Introspection Rules & Reapplying Introspection ● Capabilities ● Biosdevname & Dmidecode collectors
  • 3. IRONIC INSPECTOR ● Service for discovering hardware properties of a node ● Properties required for scheduling a bare metal node ● Inspection involves booting Ironic Python Agent(IPA) ramdisk on the node ● IPA - agent running in the ramdisk to control and deploy nodes ● Inspection requires configuring the IPA ramdisk, PXE/iPXE boot environments
  • 4. GENERAL WORKFLOW Enroll a node (IPMI Credentials) Bring node to manageable state (CLI command) Request node inspection (CLI command) Inspector validates node (power credentials, power and provision states) Inspector allows firewall access (PXE boot services for the node) Issues reboot command (IPA boots on the node) IPA collects the HW info (post it back data to the Inspector) Inspector figures out the node the data belongs to Inspector processes the data (updates the node’s DB) Inspector stores HW inventory in Swift
  • 6. USAGE ● Node States ● Introspection Rules ● Reapplying Introspection on Stored Data ● Discovery ● Capabilities Detection ● Plugins
  • 7. NODE STATES ● The nodes should be moved to MANAGEABLE provision state before introspection. ● Move node to manageable state: “openstack baremetal node manage <UUID>” “ironic node-set-provision-state <node_UUID> manage” ● INSPECT a node: “openstack baremetal node inspect <UUID>” “openstack baremetal introspection start <UUID>” “ironic node-set-provision-state <node_UUID> inspect” ● Get back a data in json file and store it in Swift: “openstack baremetal introspection data save <UUID>” ● After successful introspection and before deploying nodes should be made available to Nova, by moving them to AVAILABLE state: “openstack baremetal node provide <UUID>” “ironic node-set-provision-state <UUID> provide” manageable enroll available manage (via API) provide (via API) manage (via API) Inspection inspect (via API)
  • 8. PLUGINS ● For data processing including standard functionality ● Plugins enabled by default: scheduler, validate_interfaces, root_disk_selection, ramdisk_error, capabilities, pci_devices ● Optional plugins: example, raid_device, local_link_connection, lldp_basic ● Set in ironic.conf: processing_hooks default_processing_hooks
  • 9. PLUGINS Receives data from ramdisk Run pre-processing hooks Look up for node Run post-processing hooks Updates Ironic DBSaves data to Swift
  • 10. INTROSPECTION RULES ● Operator/User creates “Conditions” on introspection data to perform “Action” on node. ● Simple JSON-based domain-specific language used to define rules. Condition {"field":"data://introspection.path, "op": "eq", "value": "val"} True Action {"action": "set-attribute", "path":"/driver_info/ipmi_address", "value": "{data[inventory][bmc_address]}"} False Action not performed
  • 11. INTROSPECTION RULES EXAMPLES ● Save the conditions and actions as .json file.
  • 14. REAPPLYING INTROSPECTION ON STORED DATA Create/Import Rules Inspect Reboots node Collects data Process the data Applies the rules Saves the data in Swift Reapply Fetch data from Swift ● Allows correcting mistakes in introspection rules. ● Not necessary to inspect a node if the rules created are wrong. ● “openstack baremetal introspection reprocess <UUID>”
  • 15. DISCOVERY ● Inspector can automatically enroll new nodes to Ironic ● Set “node_not_found_hook = enroll” in inspector.conf to load the processing hook “enroll” ● Set "enroll_node_driver" option to the Ironic driver ● Node is manually booted without registering it with Ironic. ● Ramdisk is booted and data collected back to inspector. ● If inspector cannot find the node in ironic, it creates a new node.
  • 16. CAPABILITIES DETECTION ● Currently, Inspector can discover these node capabilities: ○ Boot mode (current boot mode BIOS or UEFI) ○ Several CPU flags (cpu_aes, cpu_vt, cpu_txt, cpu_hugepages, cpu_hugepages_1g) ● Define your own rules by setting the [capabilities]/cpu_flags in inspector.conf
  • 19.
  • 20. COLLECTORS in IPA ● Extensions of the inspection process during the IPA ramdisk run ● Adding a new collector requires rebuilding the IPA ramdisk and kernel images ● Using CoreOS/ TinyIPA/ Disk Image Builder ● Use the resulting .kernel and .initramfs files to set PXE/iPXE (.gz and .vmlinuz files in the case of CoreOS/TinyIPA) ● Customize the list of collectors by appending to the kernel option in the PXE/iPXE config: ipa-inspection-collectors=default,logs,extra_hardware
  • 21. DMIDECODE COLLECTOR ● Collects detailed output of dmidecode utility for processor, memory and bios ● Optional collector to be added to the ipa-inspection-collectors kernel argument ● Adds to the hardware inventory:
  • 22. BIOSDEVNAME ● Biosdevname - utility that gives BIOS-given name of a device (interface). ● Default Collector - collects the hardware inventory of a node. ● Implementation: ○ Created the biosdevname utility for TinyIPA (ramdisk). ○ Implemented a function to collect the Bios given interface name and added it to interfaces section of default collector. Extra field biosdevname added
  • 23. INTROSPECTION CLI COMMANDS ● baremetal introspection abort ● baremetal introspection data save ● baremetal introspection list ● baremetal introspection reprocess ● baremetal introspection rule delete ● baremetal introspection rule import ● baremetal introspection rule list ● baremetal introspection rule purge ● baremetal introspection rule show ● baremetal introspection start ● baremetal introspection status