Cases exist where you can request a port to be created, in such a way where neutron has to defer assignment of addressing. In Neutron's world, it wants to map the host so it can be ensured that *correct* physical network is available and mapped to for the address range. Networking-baremetal helps backfill physical connection context so Neutron can make the appropriate address assignment. In order to ensure we do the right thing while also ensuring appropriate security around the state of the port and the bind, we need to go ahead and facilitate an *initial* context to neutron so address assignment can occur, but explicitly limits the provided information to a highly limited scope to prevent actual binding to a physical port. With the assignment of addresses, it becomes possible to begin to generate, or eventually *fix* network configuration metadata being provided to a baremetal node. In this *entire* process, we also identified you can create neutron ports with binding information "out of the gate" to be immediately bound. Thanks metalsmith! So the code pattern now checks the port, and unbinds the VIF before rebinding it. Related-Bug: #2106073 Change-Id: Ic53c626afe641ce63d71a7858e65df1fb250e3c0
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