[RFE] Tracking current introspection state

Bug #1525241 reported by Sam Betts
6
This bug affects 1 person
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.

Tags: rfe
Revision history for this message
Sam Betts (sambetts) wrote :

Fix proposed to branch: master
Review: https://review.openstack.org/244733

Sam Betts (sambetts)
Changed in ironic-inspector:
assignee: Dmitry Tantsur (divius) → milan k (vetrisko)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.