A service for managing and provisioning Bare Metal servers.
Go to file
Pavlo Shchelokovskyy 35cfc4a147 Fix take over for ACTIVE nodes in PXEBoot
when taking over an ACTIVE netboot-ed node with driver based on PXEBoot,
the `PXEBoot.prepare_instance` method fails as our current logic of
generating a 'service' mode PXE config relies on editing PXE env files
that must already exist on disk but are missing from the new conductor host
in this case.

This patch forces this method to first re-create the PXE env from scratch
for ACTIVE nodes when PXE config file is missing before attempting
to change it.
It does not try to re-download the deploy ramdisk and generate options for it
though.
It also does not try to re-set boot device for ACTIVE nodes as that
should have already have been set earlier before actual transition to
ACTIVE.

In order to make the logic cleaner, this patch also refactors private methods
for building pxe options to be deploy-vs-instance oriented instead of
pxe-vs-ipxe oriented.

Change-Id: I264d5477523f57552aadf2809021a9a63fee2730
Partial-Bug: #1646038
Closes-Bug: #1516816
(cherry picked from commit 035ad6a60b)
2017-01-25 11:00:45 +00:00
api-ref [api-ref] Remove temporary block in conf.py 2016-09-07 08:24:39 +00:00
devstack Allow to set min,max API microversion in tempest 2017-01-12 09:17:25 -08:00
doc/source Point documentation links to newton equivalents 2016-09-28 16:35:38 -04:00
etc Sync ironic-lib.filters from ironic-lib 2016-09-21 15:21:05 +02:00
install-guide/source [install-guide] describe service clients auth 2016-11-09 16:43:16 +02:00
ironic Fix take over for ACTIVE nodes in PXEBoot 2017-01-25 11:00:45 +00:00
ironic_tempest_plugin Remove service argument from tempest plugin client manager 2017-01-18 15:26:54 +00:00
releasenotes Fix take over for ACTIVE nodes in PXEBoot 2017-01-25 11:00:45 +00:00
tools Metric chassis, driver, node, and port API calls 2016-07-15 18:15:11 +00:00
.gitignore Add reno for release notes management 2015-11-13 03:22:32 -08:00
.gitreview Update .gitreview for stable/newton 2016-09-22 08:37:50 -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 Documentation update 2016-08-23 12:49:04 -07: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 proliantutils version required for Newton release 2016-09-15 06:55:26 +00:00
requirements.txt Remove websockify from requirements 2016-09-20 17:08:11 -07:00
setup.cfg DRAC OOB inspection 2016-09-02 12:08:38 +02:00
setup.py Updated from global requirements 2015-09-22 03:33:28 +00:00
test-requirements.txt Add a basic install guide 2016-09-07 08:40:48 -04:00
tox.ini Update UPPER_CONSTRAINTS_FILE for stable/newton 2016-09-22 08:37:57 -04:00
vagrant.yaml Added CORS support middleware to Ironic 2015-09-01 19:45:01 +00:00

README.rst

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