This change fixes the idrac-wsman BIOS hardware interface
implementation's determination of the result of its factory_reset
cleaning/deploy step, and, on success, updating of the cached BIOS
settings to their defaults. It uses a deterministic means of identifying
when the reset has successfully completed and the default BIOS settings
are available to be read.
The time when the iDRAC last performed a system inventory is referred to
as Collect System Inventory on Restart (CSIOR). CSIOR updates the values
of BIOS settings that can be read from the iDRAC. The interface reads
the CSIOR and records it on the ironic bare metal node before requesting
the factory reset and rebooting the system to process the request.
Following the system reboot, the CSIOR is periodically read until its
value changes from its recorded value. If that occurs before the
configured amount of time has passed, the step succeeds and the cached
BIOS settings are updated. Otherwise, the step fails and the node is
placed in the failed state.
Story: 2008058
Task: 40739
Depends-On: https://review.opendev.org/c/openstack/python-dracclient/+/748571
Change-Id: I11b92612d6686b7133ddef67068664c9b81df30e
(cherry picked from commit 82627acadc)
(cherry picked from commit df368cbd8a)