{"id":21526405,"url":"https://github.com/netapp/nar_compute_firmware_upgrade","last_synced_at":"2025-03-17T18:34:27.407Z","repository":{"id":37480821,"uuid":"362370360","full_name":"NetApp/nar_compute_firmware_upgrade","owner":"NetApp","description":"Compute firmware cluster and node level upgrade.","archived":false,"fork":false,"pushed_at":"2022-06-23T14:12:31.000Z","size":40,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-24T05:41:48.216Z","etag":null,"topics":["netapp-public"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NetApp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-28T07:02:51.000Z","updated_at":"2024-01-29T17:44:26.000Z","dependencies_parsed_at":"2022-09-14T12:12:30.873Z","dependency_job_id":null,"html_url":"https://github.com/NetApp/nar_compute_firmware_upgrade","commit_stats":null,"previous_names":["netapp/nar_compute_firmware_upgrade"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fnar_compute_firmware_upgrade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fnar_compute_firmware_upgrade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fnar_compute_firmware_upgrade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fnar_compute_firmware_upgrade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NetApp","download_url":"https://codeload.github.com/NetApp/nar_compute_firmware_upgrade/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244089417,"owners_count":20396247,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["netapp-public"],"created_at":"2024-11-24T01:44:50.499Z","updated_at":"2025-03-17T18:34:27.381Z","avatar_url":"https://github.com/NetApp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Readme\n\n## Role name\n\nnar_compute_nodes_firmware_upgrade\n\n## Description\n\nFor 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.\n\n## Requirements\n\n- The target systems should use RHEL.\n- The NetApp HCI role variables should be set.\n\nFor details about recommended values, troubleshooting, caveats, and configurations for the environment, see  [here](README_USER_GUIDE.md).\n\n```\n- name: Compute Nodes FirmWare Upgrades\n  hosts: all\n  gather_facts: True\n  roles:\n    - role: nar_compute_nodes_firmware_upgrade\n```\n\n## Run Ansible playbooks\n\n```\nansible-playbook -i hosts site.yml -e 'username=username password=password client-id=client-id audience=audience'\n```\n\n- When performing a cluster upgrade, provide `vcenter_ip` and `cluster_id` only.\n- Do not set `controller_id` and `hardware_ids` through extended argument.\n- Ensure that no values are specified for `controller_id` and `hardware_ids` in `all.yml`.\n- When performing single-node upgrade, provide `controller_id` and `hardware_ids` only.\n- Do not set `vcenter_ip` and `cluster_id` through extended argument.\n- Ensure that no values are specified for `vcenter_ip` and `cluster_id` in `all.yml`.\n\n## Example for running an individual task\n\nWhen you execute a playbook, you can filter tasks based on tags in two ways:\n\n--tags\n\n--skip-tags\n\nFor more details, read [Tags](https://docs.ansible.com/ansible/2.9/user_guide/playbooks_tags.html).\n\nExample:\n```\nansible-playbook -i hosts site.yml -e 'username=username password=password client-id=client-id audience=audience' -t validate-requirements-prereqs\n```\n\n## Example for running a specific task\n\nCreate a `.yml` file within `ansible-roles/compute_nodes_firmware_upgrade/roles/nar_hci_compute_nodes_firmware_upgrade/tasks`.\n\nNow add tasks to this file. For example: Filename: Validate_access_token.yml\n\n```\n---\n- name: Hit /about API to collect mgmt bundle version, storage virtual ip and token url\n  include_tasks: collect_mnode_about_response.yml\n- name: Verify Admin access\n  args:\n    apply:\n      delegate_to: localhost\n  include_tasks: verify_admin_access_token.yml\n```\n\n## Playbook logs, messages, and recap\n\nThe standard output looks similar to the following:\n\n```\nPLAY [Hello World] *************************************************************\n\nTASK [Say hello] ***************************************************************\nok: [127.0.0.1] =\u003e {\n    \"msg\": \"Hello, world!\"\n}\n\nPLAY RECAP *********************************************************************\n127.0.0.1                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n```\n- Each task executes distinctly and can be read in the log messages.\n- The collective information of the playbook result can be found in the `PLAY RECAP`.\n- The Ansible `PLAY RECAP rescued` value is the count of nodes which failed upgrades, but were eventually rescued from aborting the playbook.\n- 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.\n\n## License\n\nGNU v3\n\n## Author Information\n\nNetApp https://www.netapp.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetapp%2Fnar_compute_firmware_upgrade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetapp%2Fnar_compute_firmware_upgrade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetapp%2Fnar_compute_firmware_upgrade/lists"}