diff options
author | Bob Fournier <bfournie@redhat.com> | 2021-03-31 14:58:26 -0400 |
---|---|---|
committer | Bob Fournier <bfournie@redhat.com> | 2021-03-31 15:02:57 -0400 |
commit | 8bd25a9882e64ae378974e974c39b874d4b9b0e8 (patch) | |
tree | 031e12c128f90310c91240b0503626dd000d2ed2 /ironic/drivers/modules/redfish/management.py | |
parent | c9f9c2ca9be7baeb72265de73feec0bf51645274 (diff) | |
download | ironic-8bd25a9882e64ae378974e974c39b874d4b9b0e8.tar.gz |
Restrict syncing of boot mode to Supermicro
The fix for https://storyboard.openstack.org/#!/story/2008252 synced
the boot mode after changing the boot device, because Supermicro nodes
reset the boot mode if not included in the boot device set. However this
can cause a problem on Dell nodes when changing the mode uefi->bios or
bios->uefi. Restrict the syncing of the boot mode to Supermicro.
Story: 2008712
Task: 42046
Change-Id: I9f305cb3f33766c1c93cf4347368b1ce025fc635
Diffstat (limited to 'ironic/drivers/modules/redfish/management.py')
-rw-r--r-- | ironic/drivers/modules/redfish/management.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ironic/drivers/modules/redfish/management.py b/ironic/drivers/modules/redfish/management.py index 3dd11ff3d..7af5273d1 100644 --- a/ironic/drivers/modules/redfish/management.py +++ b/ironic/drivers/modules/redfish/management.py @@ -239,7 +239,12 @@ class RedfishManagement(base.ManagementInterface): # Ensure that boot mode is synced with what is set. # Some BMCs reset it to default (BIOS) when changing the boot device. - boot_mode_utils.sync_boot_mode(task) + # It should only be synced on these vendors as other vendor + # implementations will result in an error + # (see https://storyboard.openstack.org/#!/story/2008712) + vendor = task.node.properties.get('vendor', None) + if vendor and vendor.lower() == 'supermicro': + boot_mode_utils.sync_boot_mode(task) def get_boot_device(self, task): """Get the current boot device for a node. |