Dell PwrButton requires a job initated at reboot (#9012)
Dell systems do not change the bios setting PwrButton right away. The command will return changed=true, but it is not applied. Also no job is scheduled at next reboot for the change to take place. This patch aims to fix this issue.pull/9026/head
parent
3de4682193
commit
67ddb567c9
|
@ -0,0 +1,4 @@
|
||||||
|
minor_changes:
|
||||||
|
- redfish_utils module utils - schedule a BIOS configuration job at next
|
||||||
|
reboot when the BIOS config is changed
|
||||||
|
(https://github.com/ansible-collections/community.general/pull/9012).
|
|
@ -2311,11 +2311,19 @@ class RedfishUtils(object):
|
||||||
|
|
||||||
# Construct payload and issue PATCH command
|
# Construct payload and issue PATCH command
|
||||||
payload = {"Attributes": attrs_to_patch}
|
payload = {"Attributes": attrs_to_patch}
|
||||||
|
|
||||||
|
# WORKAROUND
|
||||||
|
# Dell systems require manually setting the apply time to "OnReset"
|
||||||
|
# to spawn a proprietary job to apply the BIOS settings
|
||||||
|
vendor = self._get_vendor()['Vendor']
|
||||||
|
if vendor == 'Dell':
|
||||||
|
payload.update({"@Redfish.SettingsApplyTime": {"ApplyTime": "OnReset"}})
|
||||||
|
|
||||||
response = self.patch_request(self.root_uri + set_bios_attr_uri, payload)
|
response = self.patch_request(self.root_uri + set_bios_attr_uri, payload)
|
||||||
if response['ret'] is False:
|
if response['ret'] is False:
|
||||||
return response
|
return response
|
||||||
return {'ret': True, 'changed': True,
|
return {'ret': True, 'changed': True,
|
||||||
'msg': "Modified BIOS attributes %s" % (attrs_to_patch),
|
'msg': "Modified BIOS attributes %s. A reboot is required" % (attrs_to_patch),
|
||||||
'warning': warning}
|
'warning': warning}
|
||||||
|
|
||||||
def set_boot_order(self, boot_list):
|
def set_boot_order(self, boot_list):
|
||||||
|
|
Loading…
Reference in New Issue