A service for managing and provisioning Bare Metal servers.
Go to file
Grzegorz Grasza 9bc06783ec Add RPC and object version pinning
To support rolling upgrades, capping of RPC communication and Ironic
objects is required. Old RPC services and objects may still be running
while an upgrade is in progress. This makes sure that these old
services are called and all objects are used in a supported RPC and
objects version.

This patch adds the configuration option "pin_release_version". Setting
this option caps (downgrades) the internal RPC communication to the
specified version to enable communication with older services. When
doing a rolling upgrade from version X to Y, set this to X. It defaults
to using the newest (current) possible RPC behavior and object versions.

Change-Id: Ie2342d4051f85392a8b10d39ebffc287da57bf2b
Partial-Bug: #1526283
Co-Authored-By: Szymon Borkowski <szymon.borkowski@intel.com>
Co-Authored-By: Ruby Loo <ruby.loo@intel.com>
2017-03-24 02:05:02 +00:00
api-ref Fix API doc URL in GET / response 2017-03-15 19:05:54 -04:00
devstack Merge "Add standalone tests using direct HTTP links" 2017-03-23 17:55:06 +00:00
doc/source Add RPC and object version pinning 2017-03-24 02:05:02 +00:00
etc Add RPC and object version pinning 2017-03-24 02:05:02 +00:00
install-guide/source Merge "Add port groups configuration documentation" 2017-02-10 13:01:07 +00:00
ironic Add RPC and object version pinning 2017-03-24 02:05:02 +00:00
ironic_tempest_plugin Merge "Add standalone tests using direct HTTP links" 2017-03-23 17:55:06 +00:00
releasenotes Merge "Validation before perform node deallocation" 2017-03-20 20:05:27 +00:00
tools Prepare for using standard python tests 2017-02-03 14:30:41 -05:00
.gitignore Add reno for release notes management 2015-11-13 03:22:32 -08:00
.gitreview Added project infrastructure needs. 2013-05-02 14:55:43 -04:00
.mailmap Update mailmap for Joe Gordon 2013-10-28 10:19:15 +00:00
.testr.conf Prepare for functional testing 2015-09-28 21:27:01 +00:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 16:55:23 +01:00
LICENSE Added project infrastructure needs. 2013-05-02 14:55:43 -04:00
README.rst Show team and repo badges on README 2016-11-25 13:28:32 +01:00
RELEASE-NOTES Add release notes for 4.0.0 2015-08-31 21:43:58 +00:00
Vagrantfile Change vagrant.yml to vagrant.yaml 2015-08-07 09:51:32 +00:00
babel.cfg Run extract_messages 2013-07-22 09:51:10 +02:00
driver-requirements.txt Update new proliantutils version to 2.2.1 2017-03-15 11:43:28 -04:00
requirements.txt Updated from global requirements 2017-03-16 12:27:16 +00:00
setup.cfg Use Sphinx 1.5 warning-is-error 2017-03-08 08:22:24 +01:00
setup.py Updated from global requirements 2017-03-02 11:45:27 +00:00
test-requirements.txt Update test requirement 2017-03-02 16:58:48 +08:00
tox.ini flake8: Specify 'ironic' as name of app 2017-03-16 07:20:35 -07:00
vagrant.yaml Added CORS support middleware to Ironic 2015-09-01 19:45:01 +00:00

README.rst

Team and repository tags

image

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

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

For information on how to contribute to ironic, see http://docs.openstack.org/developer/ironic/dev/code-contribution-guide.html