community.general.redfish_config – Manages Out-Of-Band controllers using Redfish APIs

Note

This plugin is part of the community.general collection.

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.redfish_config.

Synopsis

  • Builds Redfish URIs locally and sends them to remote OOB controllers to set or update a configuration attribute.

  • Manages BIOS configuration settings.

  • Manages OOB controller configuration settings.

Parameters

Parameter Choices/Defaults Comments
baseuri
string / required
Base URI of OOB controller
bios_attribute_name
string
Default:
"null"
name of BIOS attr to update (deprecated - use bios_attributes instead)
bios_attribute_value
raw
Default:
"null"
value of BIOS attr to update (deprecated - use bios_attributes instead)
bios_attributes
dictionary
added in 0.2.0 of
Default:
{}
dictionary of BIOS attributes to update
boot_order
list / elements=string
added in 0.2.0 of
Default:
[]
list of BootOptionReference strings specifying the BootOrder
category
string / required
Category to execute on OOB controller
command
list / elements=string / required
List of commands to execute on OOB controller
network_protocols
dictionary
added in 0.2.0 of
setting dict of manager services to update
nic_addr
string
added in 0.2.0 of
Default:
"null"
EthernetInterface Address string on OOB controller
nic_config
dictionary
added in 0.2.0 of
setting dict of EthernetInterface on OOB controller
password
string / required
Password for authentication with OOB controller
resource_id
string
added in 0.2.0 of
The ID of the System, Manager or Chassis to modify
timeout
integer
Default:
10
Timeout in seconds for URL requests to OOB controller
username
string / required
User for authentication with OOB controller

Examples

- name: Set BootMode to UEFI
  community.general.redfish_config:
    category: Systems
    command: SetBiosAttributes
    resource_id: 437XR1138R2
    bios_attributes:
      BootMode: "Uefi"
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"

- name: Set multiple BootMode attributes
  community.general.redfish_config:
    category: Systems
    command: SetBiosAttributes
    resource_id: 437XR1138R2
    bios_attributes:
      BootMode: "Bios"
      OneTimeBootMode: "Enabled"
      BootSeqRetry: "Enabled"
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"

- name: Enable PXE Boot for NIC1 using deprecated options
  community.general.redfish_config:
    category: Systems
    command: SetBiosAttributes
    resource_id: 437XR1138R2
    bios_attribute_name: PxeDev1EnDis
    bios_attribute_value: Enabled
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"

- name: Set BIOS default settings with a timeout of 20 seconds
  community.general.redfish_config:
    category: Systems
    command: SetBiosDefaultSettings
    resource_id: 437XR1138R2
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
    timeout: 20

- name: Set boot order
  community.general.redfish_config:
    category: Systems
    command: SetBootOrder
    boot_order:
      - Boot0002
      - Boot0001
      - Boot0000
      - Boot0003
      - Boot0004
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"

- name: Set boot order to the default
  community.general.redfish_config:
    category: Systems
    command: SetDefaultBootOrder
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"

- name: Set Manager Network Protocols
  community.general.redfish_config:
    category: Manager
    command: SetNetworkProtocols
    network_protocols:
      SNMP:
        ProtocolEnabled: True
        Port: 161
      HTTP:
        ProtocolEnabled: False
        Port: 8080
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"

- name: Set Manager NIC
  community.general.redfish_config:
    category: Manager
    command: SetManagerNic
    nic_config:
      DHCPv4:
        DHCPEnabled: False
      IPv4StaticAddresses:
        Address: 192.168.1.3
        Gateway: 192.168.1.1
        SubnetMask: 255.255.255.0
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
msg
string
always
Message with action result or error description

Sample:
Action was successful


Authors

  • Jose Delarosa (@jose-delarosa)