Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to...
Transcript of Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to...
![Page 1: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/1.jpg)
IronicProject Update, OpenStack Summit Sydney
Julia Kreger - TheJulia - [email protected] Shiina - hshiina - [email protected]
November 2017
![Page 2: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/2.jpg)
What is Ironic?A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud.
In essence, Bare-Metal as a Service.
Ironic started as “Nova Baremetal”, and now provides a virt driver for Nova, which has resulted in 13% of the OpenStack deployments utilizing bare metal for instances.
145 unique contributors contributed to Ironic during the Pike cycle, from 33 different organisations.
![Page 3: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/3.jpg)
Community Review Velocity
Community Commit Velocity
Highlighted events (Left to Right): Pike PTG, OSIC Impact, Boston Summit
Ironic Contributor Velocity
![Page 4: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/4.jpg)
Rolling upgrades!➡ Enables downtime-less N-1 upgrades
Initial Boot from Volume support!➡ iPXE based PXE boot configurations➡ iRMC virtual media boot
Hardware Types➡ Easier to now change driver behavior!➡ For all previous “classic” drivers➡ Including a redfish hardware type!
OpenStack Pike Ironic Features
![Page 5: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/5.jpg)
Networking➡ Physical network information storage➡ Port group information now sent to Neutron➡ VIF attachment/detachment support
Migration to scheduling based on a custom resource class
Drivers that do not have Third Party CI have been removed
Many bug fixes!
OpenStack Pike Ironic Features
![Page 6: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/6.jpg)
Client/Server API version defaults and negotiation updates
Reworking service authentication to use keystoneauth
Reference architecture documentation \o/
Neutron event Processing
Routed networks support
RESCUE mode \o/
OpenStack Queens Ironic
![Page 7: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/7.jpg)
BIOS configuration framework
Ansible deployment interface
Deprecations
➡ Classic Drivers➡ “ironic” CLI in favor of OpenStack Client
OpenStack Queens Ironic
![Page 8: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/8.jpg)
Support for Traits!
Use of traits to influence deployments
Removal of Classic Drivers
Removal of “ironic” CLI
Beyond Queens
![Page 9: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/9.jpg)
Ironic sub-projectsironic-inspector
“Discovery of hardware properties for a node managed by ironic.”
ironic-python-agent
“Agent to facilitate the deployment and undeployment of bare metal.”
ironic-ui
“A horizon panel to manage resources in ironic.”
bifrost
“An Ansible based toolkit for standalone Ironic usage.”
![Page 10: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/10.jpg)
Ironic sub-projectsnetworking-baremetal
“Additional networking integration for bare metal.”
molteniron
“Tooling to assist with pure bare metal cloud management.”
sushy
“Library to facilitate communication to, and emulation of redfish.”
virtualbmc
“An emulated IPMI management controller for testing.”
![Page 11: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/11.jpg)
Ironic-inspector Pike Features
Dependencies for introspection hooks
LLDP Processing Enhancements
API Usability Enhancements
Option to disable port creation upon (re)introspection
DHCP/PXE filter driver framework
![Page 12: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/12.jpg)
Ironic-inspector Queens
Implementation of firewall and dnsmasq filter drivers
High availability support for active/active inspector deployments
Virtual Media boot integration with Ironic
UX Enhancements (inspect-wait state)
![Page 13: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/13.jpg)
Ironic-inspector Queens
Some impact anticipated from merger of inspector functionality into Ironic.
Deprecation:
➡ No deprecations expected
Delayed:➡ uWSGI support
![Page 14: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/14.jpg)
Ironic-inspector beyond Queens
Possible merger of inspection capability into Ironic
Introspection rules processing as a service
Inspector may solely focus on node discovery
![Page 15: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/15.jpg)
Cross-Project WorkPython 3 Compatibility:
ironic - Ready - Gate change remainsironic-inspector - Blocked on Swift usageironic-python-agent - Ready minus TinyIPA, this is being worked.
Policy in Code:ironic - Mostly completed in the past, minor items finishedironic-inspector - Completed in Queens
uWSGI:ironic - Mostly done - Reviews neededironic-inspector - Blocked
Tempest Plugin Split:Blocked until zuulv3 jobs are in-tree.
![Page 16: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/16.jpg)
Cross-Project WorkScheduling/Traits Support➡ Automatic resource class identification➡ Forward direction on Traits➡ Automatic discovery of Traits➡ Scheduling for Traits
![Page 17: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/17.jpg)
Dive into Boot from Volume➡ Overview of Boot from Volume➡ Making bare metal servers more reliable with BFV
![Page 18: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/18.jpg)
BFV Separates Compute and Storage
Node
volume
Node Remote Volume
volume
Boot from Local Disk➡ Disk size is fixed➡ Data cannot be accessed when a server has
failed
Boot from Remote Volume➡ Disk size is flexible➡ Data is available even if a server has failed
![Page 19: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/19.jpg)
Overview of Booting from Volume
Node Remote Volume
Nova
Ironic Cinder
Backend Storage
4. Pass volume target information
3. Driver prepares volume connection
1. Mediate between ironic and cinder to pass information
6. Boot from remote volume
2. Pass connector information to initialize connection
5. Driver configures booting from volume
![Page 20: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/20.jpg)
Volume connector:
contains connector information of a node
Volume Target:
contains target information of a volume
Ironic Resources for Boot from Volume
Node Volume targetVolume connector
Server iSCSI Initiator
RemoteVolume
iSCSI Target
![Page 21: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/21.jpg)
Generic implementation (iPXE based PXE boot configuration): A node gets iSCSI volume information with iPXE.
Vendor implementation: iRMC driver configures a node with BMC API for iSCSI and FibreChannel.
Driver Implementation
BMC
Out of Band Network
CNA/HBA
BMC
NIC
Out of Band Network
Volume
Ironic Volume
Node
Node
Storage Network
Storage Network
http
Ironic
![Page 22: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/22.jpg)
When a server is failed, another server can be booted from the same volume.
Switch over at Server Failure
Node
Remote Volume
1. A server has failed.
![Page 23: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/23.jpg)
When a server is failed, another server can be booted from the same volume.
Switch over at Server Failure
Node
Remote Volume
Node
2. Power off the server.
3. Deploy another server with the same volume.
![Page 24: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/24.jpg)
With Compute service(nova), bare metal servers behind an instance can be switched by compute API such as cold-migration and resize.
Change for ironic driver in nova is working in progress.
Bare Metal Instance Switchover with nova (in progress)
Node
RemoteVolumeInstance
Node
![Page 25: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/25.jpg)
How to give feedbackCome give the Ironic community feedback!
… Or just tell us we are crazy!
Tomorrow! 5:00 PM to 5:40 PM - Exhibition Centre - Level 4 - C4.10
![Page 26: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/26.jpg)
How to contributeJoin us in #openstack-ironic
Contributor Guide can be found at https://docs.openstack.org/ironic/
Come ask questions at the Ironic project onboarding session!Tomorrow: 11:40AM - 12:20 PM - Exhibition Centre - Level 4 - C4.6
![Page 27: Ironic - openstack.org · What is Ironic? A project to provide an API service and tooling to facilitate the lifecycle management of a hardware in a cloud. In essence, Bare-Metal as](https://reader030.fdocuments.net/reader030/viewer/2022040313/5e0cf7c115ec9733ff09f93e/html5/thumbnails/27.jpg)
@OpenStack
Q&AThank you!
openstack openstack OpenStackFoundation