Adding VerifyBiosAttributes functionality (#5900)

* Adding VerifyBiosAttributes functionality

* Updating authors information

* PR comment changes

* Update plugins/modules/redfish_command.py

Agreed

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

* Adding author as redfish maintainer

* Adding changelog fragment

* Update changelogs/fragments/5900-adding-verifybiosattribute-fucntionality-to-redfish-command.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>
This commit is contained in:
TSKushal 2023-02-17 12:19:54 +05:30 committed by GitHub
parent 33df7b61c0
commit 49e3da3646
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 65 additions and 3 deletions

View file

@ -239,8 +239,16 @@ options:
type: bool
default: false
version_added: 3.7.0
bios_attributes:
required: false
description:
- BIOS attributes that needs to be verified in the given server.
type: dict
version_added: 6.4.0
author: "Jose Delarosa (@jose-delarosa)"
author:
- "Jose Delarosa (@jose-delarosa)"
- "T S Kushal (@TSKushal)"
'''
EXAMPLES = '''
@ -629,6 +637,17 @@ EXAMPLES = '''
category: Manager
command: PowerReboot
resource_id: BMC
- name: Verify BIOS attributes
community.general.redfish_command:
category: Systems
command: VerifyBiosAttributes
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
bios_attributes:
SubNumaClustering: "Disabled"
WorkloadProfile: "Virtualization-MaxPerformance"
'''
RETURN = '''
@ -662,7 +681,7 @@ from ansible.module_utils.common.text.converters import to_native
CATEGORY_COMMANDS_ALL = {
"Systems": ["PowerOn", "PowerForceOff", "PowerForceRestart", "PowerGracefulRestart",
"PowerGracefulShutdown", "PowerReboot", "SetOneTimeBoot", "EnableContinuousBootOverride", "DisableBootOverride",
"IndicatorLedOn", "IndicatorLedOff", "IndicatorLedBlink", "VirtualMediaInsert", "VirtualMediaEject"],
"IndicatorLedOn", "IndicatorLedOff", "IndicatorLedBlink", "VirtualMediaInsert", "VirtualMediaEject", "VerifyBiosAttributes"],
"Chassis": ["IndicatorLedOn", "IndicatorLedOff", "IndicatorLedBlink"],
"Accounts": ["AddUser", "EnableUser", "DeleteUser", "DisableUser",
"UpdateUserRole", "UpdateUserPassword", "UpdateUserName",
@ -726,6 +745,7 @@ def main():
)
),
strip_etag_quotes=dict(type='bool', default=False),
bios_attributes=dict(type="dict")
),
required_together=[
('username', 'password'),
@ -785,6 +805,9 @@ def main():
# Etag options
strip_etag_quotes = module.params['strip_etag_quotes']
# BIOS Attributes options
bios_attributes = module.params['bios_attributes']
# Build root URI
root_uri = "https://" + module.params['baseuri']
rf_utils = RedfishUtils(creds, root_uri, timeout, module,
@ -845,6 +868,8 @@ def main():
result = rf_utils.virtual_media_insert(virtual_media, category)
elif command == 'VirtualMediaEject':
result = rf_utils.virtual_media_eject(virtual_media, category)
elif command == 'VerifyBiosAttributes':
result = rf_utils.verify_bios_attributes(bios_attributes)
elif category == "Chassis":
result = rf_utils._find_chassis_resource()