Implements the foundational driver framework for the networking service, providing abstraction and loading mechanisms for network switch drivers: - Driver factory for loading and managing switch driver plugins using stevedore, with support for multiple concurrent drivers - Driver adapter for preprocessing switch configuration files and managing driver lifecycle - Driver translators for converting between ironic network data formats and driver-specific configuration formats - Utility functions for network configuration validation, VLAN range parsing, and RPC transport detection This framework provides the foundation for integrating various network switch drivers (e.g., networking-generic-switch) with the ironic networking service. The framework is used by the manager implementation added in the subsequent commit. Related-Bug: 2113769 Assisted-by: Claude/sonnet-4.5 Change-Id: Ifb6e662ef59f9e12aad7c34356d2e78c3ebb4143 Signed-off-by: Allain Legacy <alegacy@redhat.com>
Ironic
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
- 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