7e72ceffd1
Multiple spots were not using DB transactions when processing the terminal state transitions (error, abort, finish, timeout). The pattern looked like this: node_info.fsm_event(istate.Events.error) # more code node_info.finished(error='Oops!') which led to brief periodes of state inconsistency of NodeInfo records in the DB. This patch refactors the NodeInfo.finished() method to require a terminal state transition to perform as part of the NodeInfo state update: NodeInfo().finished(istate.Events.finish) NodeInfo().finished(istate.Events.abort, 'Canceled by operator') This patch also introduces a new state: aborting to allow the inspector to try call power-off the node before marking the introspection aborted. There's a new DB migration since the new state implies a schema change too (Enum). Closes-Bug: #1721233 Closes-Bug: #1721230 Closes-Bug: #1723384 Change-Id: I0bb051d1956a996ed006d55a5ca2d670d9455047 |
||
---|---|---|
devstack | ||
doc | ||
ironic_inspector | ||
releasenotes | ||
rootwrap.d | ||
tools | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
CONTRIBUTING.rst | ||
LICENSE | ||
README.rst | ||
babel.cfg | ||
config-generator.conf | ||
example.conf | ||
ironic-inspector.8 | ||
plugin-requirements.txt | ||
policy-generator.conf | ||
policy.yaml.sample | ||
requirements.txt | ||
rootwrap.conf | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Hardware introspection for OpenStack Bare Metal
Introduction
This is an auxiliary service for discovering hardware properties for a node managed by Ironic. Hardware introspection or hardware properties discovery is a process of getting hardware parameters required for scheduling from a bare metal node, given it's power management credentials (e.g. IPMI address, user name and password).
- Free software: Apache license
- Source: http://git.openstack.org/cgit/openstack/ironic-inspector
- Bugs: http://bugs.launchpad.net/ironic-inspector
- Downloads: https://pypi.python.org/pypi/ironic-inspector
- Documentation: https://docs.openstack.org/ironic-inspector/latest/
- Python client library and CLI tool: python-ironic-inspector-client (documentation).
Note
ironic-inspector was called ironic-discoverd before version 2.0.0.
Release Notes
For information on any current or prior version, see the release notes.