nar_compute_nodes_firmware_upgrade
For H-series compute nodes, NetApp provides the nar_compute_nodes_firmware_upgrades Ansible role that helps you automate firmware upgrade for hardware components, such as the BMC, BIOS, and NIC.
- The target systems should use RHEL.
- The NetApp HCI role variables should be set.
For details about recommended values, troubleshooting, caveats, and configurations for the environment, see here.
- name: Compute Nodes FirmWare Upgrades
hosts: all
gather_facts: True
roles:
- role: nar_compute_nodes_firmware_upgrade
ansible-playbook -i hosts site.yml -e 'username=username password=password client-id=client-id audience=audience'
- When performing a cluster upgrade, provide
vcenter_ip
andcluster_id
only. - Do not set
controller_id
andhardware_ids
through extended argument. - Ensure that no values are specified for
controller_id
andhardware_ids
inall.yml
. - When performing single-node upgrade, provide
controller_id
andhardware_ids
only. - Do not set
vcenter_ip
andcluster_id
through extended argument. - Ensure that no values are specified for
vcenter_ip
andcluster_id
inall.yml
.
When you execute a playbook, you can filter tasks based on tags in two ways:
--tags
--skip-tags
For more details, read Tags.
Example:
ansible-playbook -i hosts site.yml -e 'username=username password=password client-id=client-id audience=audience' -t validate-requirements-prereqs
Create a .yml
file within ansible-roles/compute_nodes_firmware_upgrade/roles/nar_hci_compute_nodes_firmware_upgrade/tasks
.
Now add tasks to this file. For example: Filename: Validate_access_token.yml
---
- name: Hit /about API to collect mgmt bundle version, storage virtual ip and token url
include_tasks: collect_mnode_about_response.yml
- name: Verify Admin access
args:
apply:
delegate_to: localhost
include_tasks: verify_admin_access_token.yml
The standard output looks similar to the following:
PLAY [Hello World] *************************************************************
TASK [Say hello] ***************************************************************
ok: [127.0.0.1] => {
"msg": "Hello, world!"
}
PLAY RECAP *********************************************************************
127.0.0.1 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
- Each task executes distinctly and can be read in the log messages.
- The collective information of the playbook result can be found in the
PLAY RECAP
. - The Ansible
PLAY RECAP rescued
value is the count of nodes which failed upgrades, but were eventually rescued from aborting the playbook. - The Ansible
PLAY RECAP failed
value if found displays the failed list of hardware nodes and/or the failed health checks details at the end of execution of the playbook.
GNU v3
NetApp https://www.netapp.com