As part of the broader effort to remove eventlet support from Ironic this patch updates the conductor’s worker pools to use `futurist.DynamicThreadPoolExecutor` in place of `futurist.GreenThreadPoolExecutor` Although we are now explicitly configuring DynamicThreadPoolExecutor, eventlet monkey-patching remains in effect, meaning these threads are still cooperative green threads underneath. One or more follow-up patches will be required to remove monkey-patching entirely, switch backends and service launchers to native thread-based implementations. The goal here is to decouple from `GreenThreadPoolExecutor`, which is deprecated, and start validating behavior and tuning under the real thread interface. To this end, we also change the rejector out from the futurist provided default rejector, to one which better models the threaded behavior Ironic will exhibit once Ironic is launching in threading mode. Note: This does *not* complete the migration, but is one of the last major steps before we explicitly begin to remove the invocation of eventlet. Depends-On: https://review.opendev.org/c/openstack/futurist/+/955217 Change-Id: I433b0b51f80d7c238e8109878b5c8bc15f9f5849 Signed-off-by: Afonne-CID <afonnepaulc@gmail.com> Signed-off-by: Julia Kreger <juliaashleykreger@gmail.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