A service for managing and provisioning Bare Metal servers.
Go to file
Julia Kreger ef365f89b9 Provide a path to set explicit ipxe bootloaders
I did something stupid when started driving forth the split of ipxe
from the pxe interface: I didn't think about the need to actually
separate bootloaders. In part, because the use case was a mixed
Power8/Power9 and x86 cluster. Mainly because the Power hardware
does not honor or care about the bootfile name provided over DHCP.
The firmware knows how to read the PXELINUX boot file format
and the machines are able to boot from there.

Where this all goes sideways is when:
* Enabled boot interfaces are set to ipxe,pxe
* No default boot interface is set
* Node is created without a default for x86 hardware.
* Node uses ipxe boot_interface, and creates files under /httpboot
* bootfile transmitted via DHCP is pxelinux.0.

Fun right?

The simple workaround for the power user is to just define the iPXE
loader, or maybe use UEFI. But that is neither here nor there, this
is still a bug and a possible use case is GRUB2 via PXE and iPXE.
Not that would really work via ipxe, but hopefully people get the
idea.

The solution kind of seems clear, duplicate configuration and
fallback if not defined.

Story: #2007003
Task: #40282
Change-Id: I4419254c23095929e52a0fda11789f2f5167dc6b
(cherry picked from commit 5f7d84f483)
2021-07-22 08:14:09 -07:00
api-ref Add node lessee field 2020-04-07 15:33:42 +00:00
devstack Provide a path to set explicit ipxe bootloaders 2021-07-22 08:14:09 -07:00
doc Provide a path to set explicit ipxe bootloaders 2021-07-22 08:14:09 -07:00
etc Drop rootwrap.d/ironic-lib.filters file 2020-03-16 23:05:36 +01:00
ironic Provide a path to set explicit ipxe bootloaders 2021-07-22 08:14:09 -07:00
playbooks CI: Patch to fix CI jobs in bugfix/stable branches 2020-09-23 11:04:43 -07:00
releasenotes Provide a path to set explicit ipxe bootloaders 2021-07-22 08:14:09 -07:00
tools Make test-setup.sh compatible with mysql8 2021-05-26 08:03:48 +00:00
zuul.d Remove grenade jobs from old stable branches 2021-07-12 15:03:37 +02:00
.gitignore Migrate to stestr as unit tests runner 2017-09-22 08:56:34 +00:00
.gitreview Update .gitreview for stable/ussuri 2020-04-30 09:19:08 +00:00
.mailmap Add my new address to .mailmap 2020-04-13 07:29:37 -07:00
.stestr.conf Migrate to stestr as unit tests runner 2017-09-22 08:56:34 +00:00
CONTRIBUTING.rst Project Contributing updates for Goal 2020-02-20 02:01:21 +00:00
LICENSE Added project infrastructure needs. 2013-05-02 14:55:43 -04:00
README.rst Add ironic-specs link to readme.rst 2019-08-30 17:16:09 +08:00
babel.cfg Run extract_messages 2013-07-22 09:51:10 +02:00
bindep.txt Add librsvg2* to bindep 2019-12-23 17:04:00 +05:30
driver-requirements.txt opt: Enhance old stable branches to use latest python-ibmcclient 2020-10-21 21:18:17 +08:00
lower-constraints.txt Merge "Stop configuring install_command in tox." 2020-04-27 22:14:01 +00:00
reno.yaml tell reno to ignore the kilo branch 2020-02-07 16:42:15 -05:00
requirements.txt Stop configuring install_command in tox. 2020-04-21 12:52:07 +02:00
setup.cfg Merge "Implement the bios-interface for idrac-wsman driver" 2020-04-24 10:25:37 +00:00
setup.py Cleanup Python 2.7 support 2020-04-03 17:49:23 +02:00
test-requirements.txt Pin the python-ibmcclient upper bounds due to six usage 2020-05-15 14:26:15 +02:00
tox.ini Fix pep8 2020-05-13 11:40:16 +02:00

README.rst

Ironic

Team and repository tags

image

Overview

Ironic consists of an API and plug-ins for managing and provisioning physical machines in a security-aware and fault-tolerant manner. It can be used with nova as a hypervisor driver, or standalone service using bifrost. By default, it will use PXE and IPMI to interact with bare metal machines. Ironic also supports vendor-specific plug-ins which may implement additional functionality.

Ironic is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.

Project resources

Project status, bugs, and requests for feature enhancements (RFEs) are tracked in StoryBoard: https://storyboard.openstack.org/#!/project/943

For information on how to contribute to ironic, see https://docs.openstack.org/ironic/latest/contributor