Make bootloader installation failures fatal for whole disk images

Since I4f2cecdc0af366364b18232dbd8ea4ffdd3165d2, bootloader installation
failures were ignored to facilitate backwards compatibility with older
Ironic Python Agents. However, this means that some genuine failures are
ignored.

We can now rely on having a sufficiently modern IPA, so this patch makes
bootloader installation failures fatal for whole disk images.

Change-Id: Ic280cc3e1a2bb462d5425efd71b336db8c14bb90
This commit is contained in:
Mark Goddard 2022-01-06 16:59:16 +00:00
parent d3ccd4d3a9
commit ca6499b62c
2 changed files with 12 additions and 14 deletions

View File

@ -1335,20 +1335,11 @@ class AgentDeployMixin(HeartbeatMixin, AgentOobStepsMixin):
software_raid=software_raid
)
if result['command_status'] == 'FAILED':
if not whole_disk_image:
msg = (_("Failed to install a bootloader when "
"deploying node %(node)s. Error: %(error)s") %
{'node': node.uuid,
'error': agent_client.get_command_error(result)})
log_and_raise_deployment_error(task, msg)
else:
# Its possible the install will fail if the IPA image
# has not been updated, log this and continue
LOG.info('Could not install bootloader for whole disk '
'image for node %(node)s, Error: %(error)s"',
{'node': node.uuid,
'error': agent_client.get_command_error(result)})
return
msg = (_("Failed to install a bootloader when "
"deploying node %(node)s. Error: %(error)s") %
{'node': node.uuid,
'error': agent_client.get_command_error(result)})
log_and_raise_deployment_error(task, msg)
try:
persistent = True

View File

@ -0,0 +1,7 @@
---
upgrade:
- |
Bootloader installation failures are now fatal for whole disk images.
Previously these failures were ignored to facilitate backwards
compatibility with older Ironic Python Agents, however we can now rely on
having a sufficiently modern IPA.