Make the erase_devices clean step abortable

This patches updates the get_clean_steps() method to make the
erase_devices step abortable. Erasing devices is something that can be
cancelled without damaging the machine.

When a clean step is aborted the provision state of the Ironic node
will go to CLEANFAIL state. The operator can then do what is needed to
fix the problem (i.e network booting issues) and restart the cleaning
later on.

Partial-Bug: #1455825
Change-Id: Ic181ac3712810c6f6925e8b627ee79e77ecf4d83
This commit is contained in:
Lucas Alvares Gomes 2015-07-15 15:23:45 +01:00
parent cdb4b520eb
commit cd70f514d6

@ -234,6 +234,12 @@ class HardwareManager(object):
'reboot_requested': Whether the agent should request Ironic reboots
the node via the power driver after the
operation completes.
'abortable': Boolean value. Whether the clean step can be
stopped by the operator or not. Some clean step may
cause non-reversible damage to a machine if interrupted
(i.e firmware update), for such steps this parameter
should be set to False. If no value is set for this
parameter, Ironic will consider False (non-abortable).
}
If multiple hardware managers return the same step name, the priority
@ -257,7 +263,8 @@ class HardwareManager(object):
'step': 'erase_devices',
'priority': 10,
'interface': 'deploy',
'reboot_requested': False
'reboot_requested': False,
'abortable': True
}
]