ironic deploy templates: bespoke bare metal€¦ · bare metal nodes are assigned a custom resource...
TRANSCRIPT
![Page 1: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/1.jpg)
Ironic Deploy Templates: Bespoke Bare Metal
Mark Goddard | mgoddardOpen Infrastructure Summit | Denver 2019
![Page 2: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/2.jpg)
Intro● Work for StackHPC in Bristol, UK● Working on OpenStack for HPC since 2014
○ Previously at Cray
● Core in Ironic, Kayobe & Kolla● Kolla Project Team Lead (PTL) for Train cycle● Started the Kayobe project● Job title: YAML wrangler?
![Page 3: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/3.jpg)
StackHPC● Mostly based in Bristol, UK
○ Some remote
● Software consultancy● Focus on OpenStack for Scientific Computing● https://stackhpc.com
![Page 4: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/4.jpg)
Get on with it!● BIOS & RAID today● Goals● Demo (part 1)● Recap: Scheduling in Nova● Ironic deployment steps● Ironic deployment templates● Demo (part 2)● Tomorrow’s RAID● Future Challenges
![Page 5: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/5.jpg)
BIOS & RAID today
![Page 6: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/6.jpg)
Ironic Node Cleaning● Perform actions to sanitise hardware● Mature feature● Typical use case - shredding disks● Executes a prioritised list of clean steps● Two modes
○ Automatic - when nodes are deprovisioned○ Manual - on demand
![Page 7: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/7.jpg)
Simplified Node State Machine
available deploying active cleaningdeploy undeploy
manual clean
Full diagram, for the brave: https://docs.openstack.org/ironic/latest/contributor/states.html
![Page 8: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/8.jpg)
Clean Steps● Each step has:
○ Interface■ Deploy, power, management, bios, raid
○ Step■ Method (function) name on the driver interface
○ Arguments■ Dictionary of keyword arguments
○ Priority■ Order of execution (higher runs earlier)
![Page 9: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/9.jpg)
BIOS● Added BIOS driver interface in Rocky● Provides two clean steps
○ Apply BIOS settings (list of names & values)
○ Factory reset
Example: Disable Hyperthreading
{ “interface”: “bios”, “step”: “apply_configuration”, “args”: { “settings”: [ { “name”: “LogicalProc”, “value”: “Disabled” } ] }}
![Page 10: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/10.jpg)
RAID● Added RAID interface in Mitaka● Provides two clean steps
○ Create configuration○ Delete configuration
● Target RAID configuration set via a separate API
Example: create RAID configuration
{ “interface”: “raid”, “step”: “create_configuration”, “args”: { “create_root_volume”: true, “create_nonroot_volumes”: true }}
![Page 11: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/11.jpg)
Limitations● BIOS & RAID not integrated into deployment
○ Good for homogeneous nodes, not for customisation
● Cleaning not available to users of Nova● RAID configuration applied in a separate API call
![Page 12: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/12.jpg)
Goals
![Page 13: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/13.jpg)
Use Cases● Allow a pool of hardware to be applied to various tasks● Use an optimal configuration for each task● Examples
○ A Hadoop node with Just a Bunch of Disks (JBOD)○ A database server with mirrored & striped disks (RAID 10)○ A High Performance Computing (HPC) compute node, with tuned BIOS parameters
![Page 14: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/14.jpg)
Custom deploy-time Configuration● BIOS
○ e.g. Enable Hyperthreading
● RAID○ Hardware or software○ e.g. Mirrored disks
● System performance profile○ e.g. tuned for HPC
● <your use case here>
![Page 15: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/15.jpg)
Make it Cloudy● Works for non-admin users● Abstracted from hardware specifics● Operator controlled
○ What can be configured○ Who can configure it
● Use existing interfaces
![Page 16: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/16.jpg)
Demo (part 1)
![Page 17: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/17.jpg)
Demo Setup
OpenStack controllerbare metal compute node
Flat network
RAID controller
SSD SSD
SSD SSD
![Page 18: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/18.jpg)
Demo Setup - Specifics● OpenStack Stein pre-release● Deployed via Kayobe● Some patches applied to Ironic for RAID configuration● Both nodes are Dell R630● Compute node has 4 x 372GB SSDs with a RAID controller
![Page 19: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/19.jpg)
Recap: Scheduling in Nova
![Page 20: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/20.jpg)
Placement● Added in Newton● Extracted from Nova in Stein● API for tracking resource inventory & consumption● Quantitative & qualitative scheduling
![Page 21: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/21.jpg)
Placement ConceptsA Resource Provider provides an Inventory of resources of different Resource Classes
A Resource Provider may be tagged with one or more Traits
A Consumer may have an Allocation that consumes some of a Resource Provider’s Inventory
![Page 22: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/22.jpg)
Placement Concepts (for VMs)A Compute Node provides an Inventory of vCPU, Disk & Memory resources
A Compute Node may be tagged with one or more Traits
An Instance may have an Allocation that consumes some of a Compute Node’s Inventory
![Page 23: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/23.jpg)
Placement Example (for VMs)GET /resource_providers/{uuid}/inventories{ "inventories": { "DISK_GB": { "allocation_ratio": 1.0, "max_unit": 35, "min_unit": 1, "reserved": 0, "step_size": 1, "total": 35 }, "MEMORY_MB": { "allocation_ratio": 1.5, "max_unit": 5825, "min_unit": 1, "reserved": 512, "step_size": 1, "total": 5825 }, "VCPU": { "allocation_ratio": 16.0, "max_unit": 4, "min_unit": 1, "reserved": 0, "step_size": 1, "total": 4 } }, "resource_provider_generation": 7}
![Page 24: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/24.jpg)
Why this doesn’t work for Ironic● Bare metal nodes are indivisible units● Cannot be shared (by instances)● Cannot be overcommitted● Either in use or not
![Page 25: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/25.jpg)
Placement Concepts (for Ironic)A Bare Metal Node provides an Inventory of one unit of a custom resource
A Bare Metal Node may be tagged with one or more Traits
An Instance may have an Allocation that consumes all of a Bare Metal Node’s Inventory
![Page 26: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/26.jpg)
Placement Example (for Ironic)GET /resource_providers/{uuid}/inventories{ "inventories": { "CUSTOM_GOLD": { "allocation_ratio": 1.0, "max_unit": 1, "min_unit": 1, "reserved": 0, "step_size": 1, "total": 1 } }, "resource_provider_generation": 1}
![Page 27: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/27.jpg)
Bare Metal Flavorsopenstack flavor show bare-metal-gold -f json \-c name -c ram -c properties -c vcpus -c disk
{ "name": "bare-metal-gold", "vcpus": 4, "ram": 4096, "disk": 1024, "properties": "resources:CUSTOM_GOLD='1', resources:DISK_GB='0', resources:MEMORY_MB='0', resources:VCPU='0'"}
![Page 28: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/28.jpg)
TraitsGET /resource_providers/{uuid}/traits{ "resource_provider_generation": 1, "traits": [ "CUSTOM_HW_FPGA_CLASS1", "CUSTOM_HW_FPGA_CLASS3" ]}
![Page 29: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/29.jpg)
Ironic Node Resource Class and TraitsA bare metal node has a resource class and zero or more traits:
GET /nodes/{uuid}?fields=name,resource_class,traits{ "Name": "gold-node-1", "Resource Class": "GOLD", "Traits": [ “CUSTOM_RAID0”, “CUSTOM_RAID1”, ] }
![Page 30: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/30.jpg)
Requesting Traitsopenstack flavor show bare-metal-gold -f json -c name -c properties
{ "name": "bare-metal-gold", "properties": "resources:CUSTOM_GOLD='1', resources:DISK_GB='0', resources:MEMORY_MB='0', resources:VCPU='0', trait:CUSTOM_RAID0='required'"}
![Page 31: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/31.jpg)
How Ironic Knows Which Traits Were RequestedGET /nodes/{uuid}?fields=name,instance_info,traits{ "Name": "gold-node-1", "Instance Info": { "traits": [ "CUSTOM_RAID0" ] } "Traits": [ "CUSTOM_RAID0", "CUSTOM_RAID1", ] }
![Page 32: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/32.jpg)
Scheduling Summary● Resource classes
○ Bare metal nodes are assigned a custom resource class○ A flavor requests one unit of the node’s resource class
● Traits○ Bare metal nodes may be assigned zero or more traits○ A flavor requests a subset of the node’s traits○ An image may also request a subset of the node’s traits○ Ironic is informed which traits were requested by an instance
![Page 33: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/33.jpg)
Deployment Steps
![Page 34: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/34.jpg)
Deployment Steps● Added in Rocky● Based on clean step model● Define steps to execute during deployment● Each step has:
○ Interface■ Deploy, power, management, bios, raid
○ Step■ Function name
○ Arguments■ Name/values
○ Priority■ Order of execution
![Page 35: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/35.jpg)
Simplified Node State Machine
available deploying active cleaningdeploy undeploy
manual clean
Full diagram, for the brave: https://docs.openstack.org/ironic/latest/contributor/states.html
![Page 36: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/36.jpg)
The Mega Step● Entire deployment process moved to a single step in Rocky● Drivers can currently add steps before or after this● Plan to split this into multiple core steps in Train
![Page 37: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/37.jpg)
Limitations● Steps are static for a given set of driver interfaces● Cannot execute steps on the deployment agent● Mega step limits ordering
![Page 38: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/38.jpg)
Deployment Templates
![Page 39: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/39.jpg)
Deployment Templates● Added in Stein● Adds an API to register deployment templates● A deployment template has
○ A name, which must be a valid trait○ A list of deployment steps
![Page 40: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/40.jpg)
ExamplePOST /v1/deploy_templates{ "name": "CUSTOM_HYPERTHREADING_ON", "steps": [ { "interface": "bios", "step": "apply_configuration", "args": { "settings": [ { "name": "LogicalProc", "value": "Enabled" } ] }, "priority": 150 } ]}
![Page 41: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/41.jpg)
End to End1. Operator creates deploy templates via Ironic API to execute deploy steps for
allowed actions2. Operator creates Nova flavors or Glance images with required traits that
reference deploy templates3. User creates bare metal instances using allowed flavors
![Page 42: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/42.jpg)
End to End (2)
Ironic
Nova
1. Create deploy templates
Operator
User
2. Create flavors with required traits
matching deploy template names
3. Create instance using flavor
![Page 43: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/43.jpg)
Bespoke Bare Metal● Finally, we have an API we can use to influence deployment● https://docs.openstack.org/ironic/stein/admin/node-deployment.html#deploy-steps● https://docs.openstack.org/ironic/stein/admin/node-deployment.html#deploy-templates
![Page 44: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/44.jpg)
Demo (part 2)
![Page 45: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/45.jpg)
Demo Setup Reminder
OpenStack controllerbare metal compute node
Flat network
RAID controller
SSD SSD
SSD SSD
![Page 46: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/46.jpg)
Tomorrow’s RAID
![Page 47: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/47.jpg)
Patchy McPatchface● In Stein we lack deploy step implementations to make this useful● Demo required patches to Ironic● Adds an ‘apply_configuration’ deploy step to the RAID interface● Accepts RAID configuration as an argument
○ No separate API call as in cleaning
● Changes to avoid unnecessary reboots● Should be included in Train release
![Page 48: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/48.jpg)
Future Challenges
![Page 49: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/49.jpg)
Train & Beyond● Splitting out the core deploy mega step● Running deploy steps in the agent● Deploy step implementations
○ BIOS○ RAID
● Executing a step multiple times○ How to combine multiple executions of the same step?○ e.g. multiple BIOS settings in different templates
![Page 50: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/50.jpg)
Train & Beyond (2)● Deploying with an explicit deploy step list
○ Similar to manual cleaning
● Executing deploy steps on active nodes○ BIOS tweaks etc.○ https://storyboard.openstack.org/#!/story/2005129
● Avoiding unnecessary reboots● Vendor-agnostic templates
![Page 51: Ironic Deploy Templates: Bespoke Bare Metal€¦ · Bare metal nodes are assigned a custom resource class A flavor requests one unit of the node’s resource class ... Entire deployment](https://reader035.vdocuments.net/reader035/viewer/2022063013/5fcbb44fd1e7b24ab6549cd9/html5/thumbnails/51.jpg)
Thanks for listening
Questions?