ironic/ironic
Mark Goddard 3e51982252 Don't resume deployment or cleaning on heartbeat when polling
Some drivers use a periodic task to poll for completion of a deploy
or clean step. The iDRAC RAID driver is one example of this. In
https://review.opendev.org/#/c/676152, the agent heartbeat handler was
modified to resume deployment if not currently in the core deploy step.
This makes sense for the ilo driver, which does not poll for completion
of RAID configuration, but the iDRAC driver polls the lifecycle
controller's job queue, and expects to be able to resume deployment once
the job is complete. However, there is now a race between the agent
heartbeat as the node boots up, and the job queue poller.

This change adds new flags, cleaning_polling and deployment_polling,
which can be used by a driver to signal that they are polling for
completion of a deploy step, and that the agent heartbeat should not be
used for this purpose.

We also add here some more cleanup of the cleaning and deployment step
metadata in driver_internal_info, since if these fields are left in
place they may affect subsequent cleaning or deployment steps.

Change-Id: I34591440ab993a80a0cc88be6e10e33f1ae4a660
Story: 2003817
Task: 36563
2019-09-21 12:52:28 +01:00
..
api Use HTTPProxyToWSGI middleware from oslo 2019-08-02 12:29:37 +00:00
cmd Fix :param: in docstring 2019-06-14 14:23:57 +08:00
common Merge "Add `FLOPPY` boot device constant" 2019-09-21 07:05:00 +00:00
conductor Don't resume deployment or cleaning on heartbeat when polling 2019-09-21 12:52:28 +01:00
conf Merge "Add an option to abort cleaning and deployment if node is in maintenance" 2019-09-21 08:50:13 +00:00
db Replace deprecated with_lockmode with with_for_update 2019-06-18 17:39:09 +02:00
dhcp Merge "Enable no IP address to be returned" 2019-08-12 10:57:43 +00:00
drivers Don't resume deployment or cleaning on heartbeat when polling 2019-09-21 12:52:28 +01:00
hacking Fix regex string in the hacking check 2019-06-06 14:42:58 +08:00
objects Truncate node text fields when too long 2019-04-19 10:27:00 +02:00
tests Don't resume deployment or cleaning on heartbeat when polling 2019-09-21 12:52:28 +01:00
__init__.py Move eventlet monkey patch code 2017-03-02 13:48:18 +02:00
version.py Correct version.py and update current version string 2014-03-21 13:50:05 -07:00