dellemc.openmanage.idrac_reset module – Factory reset the iDRACs

Note

This module is part of the dellemc.openmanage collection (version 9.8.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install dellemc.openmanage. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: dellemc.openmanage.idrac_reset.

New in dellemc.openmanage 2.1.0

Synopsis

  • This module resets the iDRAC to factory default settings.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 3.9.6

Parameters

Parameter

Comments

ca_path

path

added in dellemc.openmanage 5.0.0

The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation.

custom_defaults_buffer

string

added in dellemc.openmanage 9.2.0

This parameter provides the option to import the buffer input in XML format as a custom default configuration.

This option is applicable when reset_to_default is CustomDefaults.

custom_defaults_buffer is mutually exclusive with custom_defaults_file.

custom_defaults_file

string

added in dellemc.openmanage 9.2.0

Name of the custom default configuration file in the XML format.

This option is applicable when reset_to_default is CustomDefaults.

custom_defaults_file is mutually exclusive with custom_defaults_buffer.

default_password

string

added in dellemc.openmanage 9.4.0

This parameter is only applied when reset_to_default is All or ResetAllWithRootDefaults.

This parameter is required to track LifeCycle status of the server after the reset operation is performed. If this parameter is not provided, then the LifeCycle status is not tracked after the reset operation.

default_username

string

added in dellemc.openmanage 9.4.0

This parameter is only applied when reset_to_default is All or ResetAllWithRootDefaults.

This parameter is required to track LifeCycle status of the server after the reset operation is performed. If this parameter is not provided, then the LifeCycle status is not tracked after the reset operation.

force_reset

boolean

added in dellemc.openmanage 9.2.0

This parameter provides the option to force reset the iDRAC without checking the iDRAC lifecycle controller status.

This option is applicable only for iDRAC9.

Choices:

  • false ← (default)

  • true

idrac_ip

string / required

iDRAC IP Address.

idrac_password

aliases: idrac_pwd

string

iDRAC user password.

If the password is not provided, then the environment variable IDRAC_PASSWORD is used.

Example: export IDRAC_PASSWORD=password

idrac_port

integer

iDRAC port.

Default: 443

idrac_user

string

iDRAC username.

If the username is not provided, then the environment variable IDRAC_USERNAME is used.

Example: export IDRAC_USERNAME=username

job_wait_timeout

integer

added in dellemc.openmanage 9.2.0

Time in seconds to wait for job completion.

This is applicable when wait_for_idrac is true.

Default: 600

reset_to_default

string

added in dellemc.openmanage 9.2.0

If this value is not set the default behaviour is to restart the iDRAC.

All Discards all settings and reset to default credentials.

ResetAllWithRootDefaults Discards all settings and reset the default username to root and password to the shipping value.

Default Discards all settings, but preserves user and network settings.

CustomDefaults All configuration is set to custom defaults.This option is supported on firmware version 7.00.00.00 and newer versions.

Choices:

  • "Default"

  • "All"

  • "ResetAllWithRootDefaults"

  • "CustomDefaults"

timeout

integer

added in dellemc.openmanage 5.0.0

The socket level timeout in seconds.

Default: 30

validate_certs

boolean

added in dellemc.openmanage 5.0.0

If false, the SSL certificates will not be validated.

Configure false only on personally controlled sites where self-signed certificates are used.

Prior to collection version 5.0.0, the validate_certs is false by default.

Choices:

  • false

  • true ← (default)

wait_for_idrac

boolean

added in dellemc.openmanage 9.2.0

This parameter provides the option to wait for the iDRAC to reset and lifecycle controller status to be ready.

Choices:

  • false

  • true ← (default)

x_auth_token

string

added in dellemc.openmanage 9.3.0

Authentication token.

If the x_auth_token is not provided, then the environment variable IDRAC_X_AUTH_TOKEN is used.

Example: export IDRAC_X_AUTH_TOKEN=x_auth_token

Notes

Note

  • Run this module from a system that has direct access to Dell iDRAC.

  • This module supports both IPv4 and IPv6 address for idrac_ip.

  • This module supports check_mode.

  • If reset_to_default option is not specified, then this module triggers a graceful restart.

  • This module skips the execution if reset options are not supported by the iDRAC.

Examples

---
- name: Reset the iDRAC to default and do not wait till the iDRAC is accessible.
  dellemc.openmanage.idrac_reset:
   idrac_ip: "192.168.0.1"
   idrac_user: "user_name"
   idrac_password: "user_password"
   ca_path: "/path/to/ca_cert.pem"
   reset_to_default: "Default"
   wait_for_idrac: false

- name: Reset the iDRAC to All and wait for lifecycle controller status to be ready.
  dellemc.openmanage.idrac_reset:
   idrac_ip: "192.168.0.1"
   idrac_user: "user_name"
   idrac_password: "user_password"
   ca_path: "/path/to/ca_cert.pem"
   reset_to_default: "All"
   wait_for_idrac: true
   default_username: "user_name"
   default_password: "user_password"

- name: Force reset the iDRAC to default.
  dellemc.openmanage.idrac_reset:
   idrac_ip: "192.168.0.1"
   idrac_user: "user_name"
   idrac_password: "user_password"
   ca_path: "/path/to/ca_cert.pem"
   reset_to_default: "Default"
   force_reset: true

- name: Gracefully restart the iDRAC.
  dellemc.openmanage.idrac_reset:
   idrac_ip: "192.168.0.1"
   idrac_user: "user_name"
   idrac_password: "user_password"
   ca_path: "/path/to/ca_cert.pem"

- name: Reset the iDRAC to custom defaults XML and do not wait till the iDRAC is accessible.
  dellemc.openmanage.idrac_reset:
   idrac_ip: "192.168.0.1"
   idrac_user: "user_name"
   idrac_password: "user_password"
   ca_path: "/path/to/ca_cert.pem"
   reset_to_default: "CustomDefaults"
   custom_defaults_file: "/path/to/custom_defaults.xml"

- name: Reset the iDRAC to custom defaults buffer input and do not wait till the iDRAC is accessible.
  dellemc.openmanage.idrac_reset:
   idrac_ip: "192.168.0.1"
   idrac_user: "user_name"
   idrac_password: "user_password"
   ca_path: "/path/to/ca_cert.pem"
   reset_to_default: "CustomDefaults"
   custom_defaults_buffer: "<SystemConfiguration Model=\"PowerEdge R7525\" ServiceTag=\"ABCD123\">\n<Component FQDD=\"iDRAC.Embedded.1\">\n
                               <Attribute Name=\"IPMILan.1#Enable\">Disabled</Attribute>\n </Component>\n\n</SystemConfiguration>"

Return Values

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

Key

Description

error_info

dictionary

Details of the HTTP Error.

Returned: on HTTP error

Sample: {"error": {"@Message.ExtendedInfo": [{"Message": "Unable to process the request because an error occurred.", "MessageArgs": [], "MessageId": "GEN1234", "RelatedProperties": [], "Resolution": "Retry the operation. If the issue persists, contact your system administrator.", "Severity": "Critical"}], "code": "Base.1.0.GeneralError", "message": "A general error has occurred. See ExtendedInfo for more information."}}

msg

string

Status of the iDRAC reset operation.

Returned: always

Sample: "Successfully performed iDRAC reset."

reset_status

dictionary

Details of iDRAC reset operation.

Returned: reset operation is triggered.

Sample: {"idracreset": {"Data": {"StatusCode": 204}, "Message": "none", "Status": "Success", "StatusCode": 204, "retval": true}}

Authors

  • Felix Stephen (@felixs88)

  • Anooja Vardhineni (@anooja-vardhineni)

  • Lovepreet Singh (@singh-lovepreet1)

  • Abhishek Sinha (@ABHISHEK-SINHA10)