summaryrefslogtreecommitdiff
path: root/ironic/drivers/modules/redfish/management.py
diff options
context:
space:
mode:
authorBob Fournier <bfournie@redhat.com>2021-03-31 14:58:26 -0400
committerBob Fournier <bfournie@redhat.com>2021-03-31 15:02:57 -0400
commit8bd25a9882e64ae378974e974c39b874d4b9b0e8 (patch)
tree031e12c128f90310c91240b0503626dd000d2ed2 /ironic/drivers/modules/redfish/management.py
parentc9f9c2ca9be7baeb72265de73feec0bf51645274 (diff)
downloadironic-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.py7
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.