dellemc.openmanage.omevv_firmware module – Update the firmware of a specific host in the cluster
Note
This module is part of the dellemc.openmanage collection (version 9.10.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.omevv_firmware
.
New in dellemc.openmanage 9.10.0
Synopsis
This module allows you to update the firmware of a specific host in the cluster.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.9.6
Parameters
Parameter |
Comments |
---|---|
The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. |
|
Check vSAN health while updating the firmware.
Choices:
|
|
Date and time when the job must run. This is applicable when run_now is The supported format is YYYY-MM-DDThh:mm:ss<offset>. |
|
Whether to delete the job queue in iDRAC while updating firmware.
Choices:
|
|
Allows you to check if DRS of the cluster is enabled or not.
Choices:
|
|
VM migration policy during management mode.
Choices:
|
|
Time out value during maintenance mode in minutes. Default: |
|
Allows to move the virtual machine (VM) to other host when current host is powered off.
Choices:
|
|
Whether to exit management mode after Update.
Choices:
|
|
IP address or hostname of the OpenManage Enterprise Modular. |
|
Update job description. |
|
Update job name. |
|
Whether to wait till completion of the job. This is applicable when power_on is
Choices:
|
|
The maximum wait time of job_wait in seconds. The job is tracked only for this duration. This option is applicable when job_wait is Default: |
|
Allows to check if any host in cluster is in management mode.
Choices:
|
|
OpenManage Enterprise HTTPS port. Default: |
|
Host reboot option for firmware update.
Choices:
|
|
Whether to reset the iDRAC while performing firmware update.
Choices:
|
|
Whether to run the update job now or later.
Choices:
|
|
The target details for the firmware update operation. Either cluster, servicetag or host is required for the firmware update operation. |
|
Name of the cluster to which firmware needs to updated. cluster is mutually exclusive with servicetag and host. This module supports only single cluster update. |
|
List of host firmware components to update. dellemc.openmanage.omevv_firmware_compliance_info module can be used to fetch the supported firmware components. |
|
The IP address or hostname of the host. host is mutually exclusive with servicetag and cluster. dellemc.openmanage.omevv_device_info module can be used to fetch the device information. |
|
The service tag of the host. servicetag is mutually exclusive with host and cluster. dellemc.openmanage.omevv_device_info module can be used to fetch the device information. |
|
The socket level timeout in seconds. Default: |
|
Whether to check SSL certificate. - If Choices:
|
|
Password for OpenManage Enterprise Integration for VMware vCenter (OMEVV). If the password is not provided, then the environment variable Example: export OMEVV_VCENTER_PASSWORD=password |
|
Username for OpenManage Enterprise Integration for VMware vCenter (OMEVV). If the username is not provided, then the environment variable Example: export OMEVV_VCENTER_USERNAME=username |
|
Universally Unique Identifier (UUID) of vCenter. vCenter UUID details can be retrieved using dellemc.openmanage.omevv_vcenter_info module. If UUID is not provided, then the environment variable Example: export OMEVV_VCENTER_UUID=uuid |
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: full |
Can run in check_mode and return changed status prediction without modifying target, if not supported the action will be skipped. |
|
Support: full |
Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode. |
Notes
Note
Run this module from a system that has direct access to Dell OpenManage Enterprise.
This module supports IPv4 and IPv6 addresses.
Examples
---
- name: Immediately update the firmware of a single component for a specific host
dellemc.openmanage.omevv.omevv_firmware:
hostname: "XXX.XXX.XXX.XX"
vcenter_uuid: "xxxxx"
vcenter_username: "username"
vcenter_password: "password"
ca_path: "path/to/ca_file"
run_now: false
date_time: "2024-09-10T20:50:00Z"
enter_maintenance_mode_timeout: 60
enter_maintenance_mode_options: FULL_DATA_MIGRATION
drs_check: true
evacuate_VMs: true
exit_maintenance_mode: true
reboot_options: NEXTREBOOT
maintenance_mode_count_check: true
check_vSAN_health: true
reset_idrac: true
delete_job_queue: true
targets:
- servicetag: SVCTAG1
firmware_components:
- "DCIM:INSTALLED#802__Diagnostics.Embedded.1:LC.Embedded.1"
- name: Update the firmware of multiple components at scheduled time for a specific host
dellemc.openmanage.omevv.omevv_firmware:
hostname: "XXX.XXX.XXX.XY"
vcenter_uuid: "xxxxx"
vcenter_username: "username"
vcenter_password: "password"
ca_path: "path/to/ca_file"
run_now: false
date_time: "2024-09-10T20:50:00+05:30"
enter_maintenance_mode_timeout: 60
enter_maintenance_mode_options: ENSURE_ACCESSIBILITY
drs_check: true
evacuate_VMs: true
exit_maintenance_mode: true
reboot_options: FORCEREBOOT
maintenance_mode_count_check: true
check_vSAN_health: true
reset_idrac: false
delete_job_queue: false
targets:
- host: "XXX.XXX.XXX.XZ"
firmware_components:
- "DCIM:INSTALLED#iDRAC.Embedded.1-1#IDRACinfo"
- "DCIM:INSTALLED#301_C_BOSS.SL.14-1"
- "DCIM:INSTALLED#807__TPM.Integrated.1-1"
- name: Update the firmware of multiple components at scheduled time for a cluster
dellemc.openmanage.omevv.omevv_firmware:
hostname: "XXX.XXX.XXX.XX"
vcenter_uuid: "xxxxx"
vcenter_username: "username"
vcenter_password: "password"
ca_path: "path/to/ca_file"
run_now: false
date_time: "2024-09-10T20:50:00+05:30"
enter_maintenance_mode_timeout: 60
enter_maintenance_mode_options: ENSURE_ACCESSIBILITY
drs_check: true
evacuate_VMs: true
exit_maintenance_mode: true
reboot_options: SAFEREBOOT
maintenance_mode_count_check: true
check_vSAN_health: true
reset_idrac: false
delete_job_queue: false
targets:
- cluster: cluster_a
firmware_components:
- "DCIM:INSTALLED#iDRAC.Embedded.1-1#IDRACinfo"
- "DCIM:INSTALLED#301_C_BOSS.SL.14-1"
- "DCIM:INSTALLED#807__TPM.Integrated.1-1"
- name: Retrieve firmware compliance report of all hosts in the specific cluster
dellemc.openmanage.omevv_firmware_compliance_info:
hostname: "XXX.XXX.XXX.XX"
vcenter_uuid: "xxxxx"
vcenter_username: "username"
vcenter_password: "password"
ca_path: "path/to/ca_file"
clusters:
- cluster_name: cluster_a
register: compliance_data
- name: Initialize compliance status results
ansible.builtin.set_fact:
source_names: []
service_tag: ""
- name: Flatten host compliance reports
ansible.builtin.set_fact:
host_reports: "{{
compliance_data.firmware_compliance_info |
map(attribute='hostComplianceReports') |
flatten(levels=1) }}"
- name: Flatten and filter concompliant components
ansible.builtin.set_fact:
non_compliant_components: >-
{{
host_reports
| map(attribute='componentCompliances')
| flatten(levels=1)
| selectattr('driftStatus', 'equalto', 'NonCompliant')
}}
- name: Gather components source name and set service tag
ansible.builtin.set_fact:
source_names: "{{ source_names + [item.sourceName] }}"
service_tag: "{{ host_report.serviceTag }}"
loop: "{{ non_compliant_components }}"
vars:
host_report: >-
{{
host_reports
| selectattr('componentCompliances', 'contains', item)
| first
}}
- name: Combine the final non compliance report
ansible.builtin.set_fact:
noncompliance_report:
sourceNames: "{{ source_names }}"
serviceTag: "{{ service_tag }}"
- name: Update firmware at the scheduled time for a specific host
dellemc.openmanage.omevv.omevv_firmware:
hostname: "192.168.0.1"
vcenter_uuid: "{{ vcenter_uuid }}"
vcenter_username: "username"
vcenter_password: "password"
ca_path: "path/to/ca_file"
run_now: false
date_time: "2024-09-10T20:50:00Z"
enter_maintenance_mode_timeout: 60
enter_maintenance_mode_options: NO_DATA_MIGRATION
drs_check: true
evacuate_VMs: false
exit_maintenance_mode: true
reboot_options: SAFEREBOOT
maintenance_mode_count_check: true
check_vSAN_health: true
reset_idrac: true
delete_job_queue: true
targets:
- servicetag: "{{ noncompliance_report.serviceTag }}"
firmware_components: "{{ noncompliance_report.sourceNames }}"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Details of the module HTTP Error. Returned: on HTTP error Sample: |
|
Status of the firmware update operation. Returned: always Sample: |