Hironori Shiina 927c487a0f Remove too large configdrive for handling error
When configdrive is too large, a node object cannot be saved to DB. If
it happens, the node cannot moved to DEPLOYFAIL because saving the node
is prevented again by the large configdrive in the object. In this
case, the node gets stuck in DEPLOYING, which doesn't allow any state
transition.

This patch removes the configdrive from a node object when storing the
configdrive fails. This also catches ConfigInvalid exception, which is
mentioned in the docsting, and any unexpected exception from
_store_configdrive() to avoid getting a node stuck in DEPLOYING.

Change-Id: I83cf3e02622fc3ed8f5b5389f533e374c1b985f3
Closes-Bug: 1745630
2018-02-14 17:13:06 +09:00
2018-02-02 11:21:29 +00:00
2018-01-29 12:55:35 +07:00
2013-05-02 14:55:43 -04:00
2013-10-28 10:19:15 +00:00
2013-07-22 09:51:10 +02:00
2017-11-21 21:02:52 +01:00
2017-08-21 17:41:52 -04:00
2013-05-02 14:55:43 -04:00
2017-08-21 17:41:52 -04:00
2017-03-02 11:45:27 +00:00
2018-01-26 18:27:10 +00:00
2015-08-07 09:51:32 +00:00

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: https://launchpad.net/ironic

For information on how to contribute to ironic, see https://docs.openstack.org/ironic/latest/contributor

Description
A service for managing and provisioning Bare Metal servers.
Readme 310 MiB
Languages
Python 97.9%
Shell 2.1%