A service for managing and provisioning Bare Metal servers.
Find a file
Julia Kreger 52300e0a62 OCI Basic Auth/Tag access
In order to support the deployment of OCI images utilizing bifrost,
we also need to explicitly support basic authentication.

This has been extended to support inclusion of the authentication
credentials into the pull secret string, and fallback on the deploy
interface settings for static configuration. While this will likely
never be perfect, it is at least a forward step to better supporting
a variety of use cases.

Additionally, doing some of this highlighted some extraneous guard
rail style checks which exist elsewhere in the overall image handling
flow. A exeception check was added to prevent tag based deployments
from failing because the existing code structure of the guard rail
checks cannot gain the context around basic auth.
In part becasue the check directly uses the image_source as well,
as opposed to any other state data which is presently available
in deploy_utils when the image information is identified.
That situation highlights why additional fixes are needed,
but bug 2133885 was opened for that separately.

Claude also helped me out with the unit tests.

Assisted-By: Claude Code - Claude Sonnet 4.5
Change-Id: I13f4d5cd8b98ad88e7b6088c79c7b014b6461668
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2025-12-15 13:13:52 -08:00
api-ref Merge "[api-ref] Fix api-ref to mention list port by cg" 2025-12-11 14:46:30 +00:00
devstack Merge "Switch graphical console image to ubuntu by default" 2025-12-05 16:38:12 +00:00
doc OCI Basic Auth/Tag access 2025-12-15 13:13:52 -08:00
etc/ironic Configuration file for Trait Based Networking 2025-11-21 12:20:46 -06:00
ironic OCI Basic Auth/Tag access 2025-12-15 13:13:52 -08:00
playbooks Run metal3 integration job using UEFI boot (default) 2025-10-24 10:45:41 +02:00
redfish-interop-profiles Update the redfish interoperability profile 2024-06-27 16:24:24 +02:00
releasenotes OCI Basic Auth/Tag access 2025-12-15 13:13:52 -08:00
tools Merge "Separate states code from states constants" 2025-12-11 05:33:25 +00:00
zuul.d Use new bifrost ci job name 2025-12-01 15:07:06 +01:00
.coveragerc Use .coveragerc file 2024-02-02 23:17:12 +09:00
.gitignore Add standalone networking service for ironic 2025-11-27 11:39:59 -05:00
.gitreview OpenDev Migration Patch 2019-04-19 19:40:53 +00:00
.mailmap Add my new address to .mailmap 2020-04-13 07:29:37 -07:00
.pre-commit-config.yaml chore: bump to latest pre-commit tools 2025-11-23 14:06:28 -06:00
.stestr.conf Migrate to stestr as unit tests runner 2017-09-22 08:56:34 +00:00
bindep.txt Drop xinetd/tftpd on CentOS 9 2025-12-02 14:49:39 +01:00
CONTRIBUTING.rst Project Contributing updates for Goal 2020-02-20 02:01:21 +00:00
driver-requirements.txt Remove sushy-oem-idrac from driver requirements 2025-10-28 17:26:28 +01:00
LICENSE Added project infrastructure needs. 2013-05-02 14:55:43 -04:00
pyproject.toml Merge "Add a kubernetes provider for console container" 2025-12-05 16:38:18 +00:00
README.rst doc: trivial: Quick revision of README 2025-11-20 07:33:02 -08:00
requirements.txt Merge "Add PCIe function fields to redfish inspection" 2025-12-10 04:11:33 +00:00
setup.cfg Migrate setup configuration to pyproject.toml 2025-09-22 11:46:52 +01:00
setup.py add pyproject.toml to support pip 23.1 2024-11-05 08:00:24 -06:00
test-requirements.txt Drop direct dependency on iso8601 2025-03-01 06:06:01 +00:00
tox.ini Add standalone networking service for ironic 2025-11-27 11:39:59 -05:00

======
Ironic
======

.. image:: https://governance.openstack.org/tc/badges/ironic.svg

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.

By default, it will use PXE and IPMI/Redfish to interact with bare metal
machines. Some drivers, like the Redfish drivers, also support advanced
features like leveraging HTTPBoot or Virtual Media based boot operations
depending on the configuration by the user. Ironic also supports
vendor-specific plug-ins which may implement additional functionality,
however many vendors have chosen to focus on their Redfish implementations
instead of customized drivers.

Numerous ways exist to leverage Ironic to deploy a bare metal node, above
and beyond asking Nova for a "bare metal" instance, or for asking Ironic
to manually deploy a specific machine. Bifrost and Metal3 are related
projects which seek to simplify the use and interaction of Ironic.

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
~~~~~~~~~~~~~~~~~

* Documentation: https://docs.openstack.org/ironic/latest
* Source: https://opendev.org/openstack/ironic
* Bugs: https://bugs.launchpad.net/ironic/+bugs
* Wiki: https://wiki.openstack.org/wiki/Ironic
* APIs: https://docs.openstack.org/api-ref/baremetal/index.html
* Release Notes: https://docs.openstack.org/releasenotes/ironic/
* Design Specifications: https://specs.openstack.org/openstack/ironic-specs/

Project status, bugs, and requests for feature enhancements (RFEs) are tracked
in Launchpad:
https://launchpad.net/ironic

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