
This contains some changes to conversions of objects during a rolling upgrade. This changes objects.base.IronicObject.convert_to_version() to have a new parameter 'remove_unavail_fields': True (default) to remove fields that are unavailable in the target version -- for serialization/deserialization of objects. False to change unavailable fields as appropriate (for DB interactions). The reason for doing this is to make sure that during serialization (eg for RPC), that we don't include any object fields that are not supported. To make the code a bit more performant, we don't perform object conversions when the API service is serializing the objects for RPC to the conductor. This is because the conductor will always be running the same or a newer release as the API service. Change-Id: I6f77b24199412e3489dd6f3dcf0f51ed04c5c7c0 Partial-Bug: #1526283
Team and repository tags
Ironic
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://git.openstack.org/cgit/openstack/ironic
- Bugs: https://bugs.launchpad.net/ironic
- Wiki: https://wiki.openstack.org/wiki/Ironic
- APIs: https://developer.openstack.org/api-ref/baremetal/index.html
Project status, bugs, and requests for feature enhancements (RFEs) are tracked on Launchpad: https://launchpad.net/ironic
For information on how to contribute to ironic, see https://docs.openstack.org/ironic/latest/contributor