[RFE] Tracking current introspection state
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic Inspector |
In Progress
|
Wishlist
|
milan k |
Bug Description
This blueprint aims to help fix the bug #1457226: we need to prevent situation when e.g. network retry on the ramdisk causes introspection processing to happen twice in parallel. To avoid locking the whole process() call, we need a way to mark a node as already being processed.
Introduce a new field 'state' in 'nodes' table of type string with the following values:
0. 'starting' when NodeInfo record was already created, but the ramdisk was not started yet
1. 'waiting' when the node is waiting for the ramdisk to return
2. 'processing' when hooks and rules are run on the node
3. 'finishing' when processing is done, but before we call the whole introspection done (e.g. we're waiting for IPMI credentials update)
4. 'finished' introspection is done.
Global locking may be required during lookup, so that 2 processes don't both set a node to 'processing' state, thus this blueprint supersedes bug #1457226.
Changed in ironic-inspector: | |
assignee: | Dmitry Tantsur (divius) → milan k (vetrisko) |
Fix proposed to branch: master /review. openstack. org/244733
Review: https:/