CSCfi.hp-firmware-upgrade

ansible-role-hp-firmware-upgrade

This is an Ansible role designed to help you upgrade the firmware for HP systems.

Overview

For HPE Gen10 firmwares, you need to create a list of variables to specify which firmware packages you want to upgrade. Unlike Gen8 and Gen9 upgrade tasks, it is now the administrator's job to find the right firmware for the servers being managed.

You can find the latest firmware for your server model by visiting the HPE Support Center or by using the command:

dnf search <packagetoupgrade.rpm>

This will show you the latest versions available in your configured repositories (assuming you have the HP repositories set up).

Example Firmware List

Here’s an example of how to set the firmware_list variable for an HPE Apollo 4200 server. It’s a good idea to comment out firmware entries until you're ready to upgrade them.

firmware_list:
#  - { upgrade_target: 'ILO 5', hp_repository: fwpp, firmware: firmware-ilo5, extra: "", upgrade: false, local_installation: false, local_file: "", reboot: false }
  - { upgrade_target: 'BIOS', hp_repository: fwpp, firmware: firmware-system-u39, extra: "", upgrade: true, local_installation: false, local_file: "", reboot: true }
#  - { upgrade_target: 'HPE Smart Array P816i-a SR Gen10', hp_repository: fwpp, firmware: firmware-smartarray-f7c07bdbbd, extra: "", upgrade: false, local_installation: false, local_file: "", reboot: true }
#  - { upgrade_target: 'HPE 14TB 12G SAS HDD', hp_repository: fwpp, firmware: firmware-hdd-cf0b6cabe1, extra: "", upgrade: false, local_installation: false, local_file: "", reboot: false }
#  - { upgrade_target: 'SSD MR00480GXBGH Drive', hp_repository: fwpp , firmware: firmware-hdd-8f9bf23306, extra: "", upgrade: false, local_installation: false, local_file: "", reboot: false }
#  - { upgrade_target: 'NVMe', hp_repository: fwpp, firmware: 'firmware-hdd-MPK76H5Q', extra: "", upgrade: false, local_installation: false, local_file: "", reboot: false }
#  - { upgrade_target: 'NVMe backplane', hp_repository: spp , firmware: firmware-nvmebackplane-gen10, extra: "", upgrade: false, local_installation: false, local_file: "", reboot: false }
#  - { upgrade_target: 'HPE Ethernet 1Gb 2-port 332i Adapter - NIC', hp_repository: spp, firmware: firmware-nic-broadcom, extra: "", upgrade: false, local_installation: false, local_file: "", reboot: false }
#  - { upgrade_target: 'HPE Eth 10/25Gb 2p 631SFP28 Adapter -NIC', hp_repository: spp, firmware: firmware-nic-bcm-nxe, extra: kmod-bnxt_en, upgrade: false, local_installation: false, local_file: "", reboot: false }
#  - { upgrade_target: 'HPE Innovation Engine', hp_repository: spp, firmware: firmware-iegen10, extra: "", upgrade: false, local_installation: false, local_file: "", reboot: false }
#  - { upgrade_target: 'Power Management Controller', hp_repository: spp, firmware: firmware-powerpic-gen10, extra: "", upgrade: false, local_installation: false, local_file: "", reboot: false }
  - { upgrade_target: 'Server Platform Services (SPS)', hp_repository: fwpp, firmware: firmware-spsgen10, extra: "", upgrade: true, local_installation: false, local_file: "", reboot: false }

Components Upgraded for Gen8 and Gen9 HP Servers

This role can upgrade the following components:

  • iLO (version 4 or higher)
  • System ROM
  • Power Management Controller
  • Smart Array disk controller
  • Disk Drive
  • Disk Backplane Expander
  • Intel Network Adapter
  • Mellanox Infiniband-ethernet Adapter (VPI)
  • Qlogic Network Adapter (nx2)

Requirements

For the machine where the firmware upgrade will occur:

  • You need to configure Yum to access the Firmware Upgrade for Proliant repository.
  • It is also compatible with the SPP.
  • If you have a Yum mirror that stores old RPMs (meaning you have hp-firmware-hdd and firmware-hdd RPMs), this role may attempt to perform more firmware "upgrades" than necessary. Contributions to improve this are welcome.

Supported HP Proliant Generations

  • Gen8
  • Gen9
  • Gen10
  • If you have tested this role on other generations, please inform us via an issue or pull request.

Role Variables

By default, this role upgrades firmware for all the listed devices. You can customize your selection by editing defaults/main.yml.

Installation

Run the following command to install the role:

$ ansible-galaxy install CSCfi.hp-firmware-upgrade

Dependencies

You must have the role CSCfi.hp-firmware-upgrade installed.

Example Playbook

You can use this role simply by including it in your playbook like this:

- hosts: servers
  roles:
     - { role: CSCfi.hp-firmware-upgrade }

License

MIT

Author Information

This role was created by Karan Singh.

Contributions

Informazioni sul progetto

This role automates HP firmware upgradation process using ansible

Installa
ansible-galaxy install CSCfi.hp-firmware-upgrade
Licenza
mit
Download
695
Proprietario
Finnish expertise in ICT for research, education, culture and public administration