Skip to content

Commit

Permalink
Adding EnableSecureBoot functionality (ansible-collections#5899)
Browse files Browse the repository at this point in the history
* rebase merge

* Sanity fixes

* Optimizing code as suggested by PR comments

* Optimizing code as suggested by PR comments

* PR comment changes

* Adding changelog fragment

* Update changelogs/fragments/5899-adding-enablesecureboot-functionality-to-redfish-config.yml

Agreed

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Kushal <t-s.kushal@hpe.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
  • Loading branch information
3 people authored and jikamens committed Feb 25, 2023
1 parent 98ac2a2 commit 9eddc69
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
minor_changes:
- redfish_command - adding ``EnableSecureBoot`` functionality (https://github.com/ansible-collections/community.general/pull/5899).
19 changes: 19 additions & 0 deletions plugins/module_utils/redfish_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -3198,3 +3198,22 @@ def verify_bios_attributes(self, bios_attributes):
"changed": False,
"msg": "BIOS verification completed"
}

def enable_secure_boot(self):
# This function enable Secure Boot on an OOB controller

response = self.get_request(self.root_uri + self.systems_uri)
if response["ret"] is False:
return response

server_details = response["data"]
secure_boot_url = server_details["SecureBoot"]["@odata.id"]

response = self.get_request(self.root_uri + secure_boot_url)
if response["ret"] is False:
return response

body = {}
body["SecureBootEnable"] = True

return self.patch_request(self.root_uri + secure_boot_url, body, check_pyld=True)
16 changes: 14 additions & 2 deletions plugins/modules/redfish_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,9 @@
default: {}
version_added: '5.7.0'
author: "Jose Delarosa (@jose-delarosa)"
author:
- "Jose Delarosa (@jose-delarosa)"
- "T S Kushal (@TSKushal)"
'''

EXAMPLES = '''
Expand Down Expand Up @@ -255,6 +257,14 @@
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Enable SecureBoot
community.general.redfish_config:
category: Systems
command: EnableSecureBoot
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
'''

RETURN = '''
Expand All @@ -273,7 +283,7 @@
# More will be added as module features are expanded
CATEGORY_COMMANDS_ALL = {
"Systems": ["SetBiosDefaultSettings", "SetBiosAttributes", "SetBootOrder",
"SetDefaultBootOrder"],
"SetDefaultBootOrder", "EnableSecureBoot"],
"Manager": ["SetNetworkProtocols", "SetManagerNic", "SetHostInterface"],
"Sessions": ["SetSessionService"],
}
Expand Down Expand Up @@ -386,6 +396,8 @@ def main():
result = rf_utils.set_boot_order(boot_order)
elif command == "SetDefaultBootOrder":
result = rf_utils.set_default_boot_order()
elif command == "EnableSecureBoot":
result = rf_utils.enable_secure_boot()

elif category == "Manager":
# execute only if we find a Manager service resource
Expand Down

0 comments on commit 9eddc69

Please sign in to comment.