Skip to content

CSCfi/ansible-role-hp-firmware-upgrade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

ansible-role-hp-firmware-upgrade

Ansible role to upgrade HP system firmwares.

For HPE Gen10 firmwares, you will need create a list of host or group variables for the firmware packages you wish upgrade. Compared to gen8 and gen9 upgrade tasks, now it is administrator responsibity to find suitable firmwares to the maintained servers.

At HPE Support Center you can search for latest available firmwares to your server model and by running

dnf search <packagetoupgrade.rpm>

you will find latest available version in your configured repositories (assuming you have configured HP repositories).

Example firmware_list variable for a HPE Apollo 4200 server. It may be advisable to keep listed firmwares commented unless you are really going to update them.

firmware_list:
#  - { upgrade_target: 'ILO 5', hp_repository: fwpp, firmware: firmware-ilo5, extra: "", upgrade: false, local_installation: false, local_file: "" }
  - { upgrade_target: 'BIOS', hp_repository: fwpp, firmware: firmware-system-u39, extra: "", upgrade: true, local_installation: false, local_file: "" }
#  - { upgrade_target: 'HPE Smart Array P816i-a SR Gen10', hp_repository: fwpp, firmware: firmware-smartarray-f7c07bdbbd, extra: "", upgrade: false, local_installation: false, local_file: "" }
#  - { upgrade_target: 'HPE 14TB 12G SAS HDD', hp_repository: fwpp, firmware: firmware-hdd-cf0b6cabe1, extra: "", upgrade: false, local_installation: false, local_file: "" }
#  - { upgrade_target: 'SSD MR00480GXBGH Drive', hp_repository: fwpp , firmware: firmware-hdd-8f9bf23306, extra: "", upgrade: false, local_installation: false, local_file: "" }
#  - { upgrade_target: 'NVMe', hp_repository: fwpp, firmware: 'firmware-hdd-MPK76H5Q', extra: "", upgrade: false, local_installation: false, local_file: "" }
#  - { upgrade_target: 'NVMe backplane', hp_repository: spp , firmware: firmware-nvmebackplane-gen10, extra: "", upgrade: false, local_installation: false, local_file: "" }
#  - { 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: "" }
#  - { 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: "" }
#  - { upgrade_target: 'HPE Innovation Engine', hp_repository: spp, firmware: firmware-iegen10, extra: "", upgrade: false, local_installation: false, local_file: "" }
#  - { upgrade_target: 'Power Management Controller', hp_repository: spp, firmware: firmware-powerpic-gen10, extra: "", upgrade: false, local_installation: false, local_file: "" }
  - { upgrade_target: 'Server Platform Services (SPS)', hp_repository: fwpp, firmware: firmware-spsgen10, extra: "", upgrade: true, local_installation: false, local_file: "" }

For Gen8 and Gen9 HP Servers, list of components upgraded by this role are

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

Requirements

  • The machine where firmware upgrade is taking place:
    • Yum must be configured to access Firmware Upgrade for Proliant repository
    • It also works with SPP
    • If you maintain a yum mirror which retains old RPMs ( == you have hp-firmware-hdd and firmware-hdd RPMs then this role currently runs more firmware "upgrades" than necessary. See #19 for more details. Contributions are welcome.
  • Supporting following HP Proliant generations
    • Gen8
    • Gen9
    • Gen10
    • If you have tested this role on other generations please let us know via an issue or PR

Role Variables

By default this role upgrades firmwares for all the devices mentioned above. You can customize your selection by editing defaults/main.yml

Installation

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

Dependencies

The role CSCfi.hp-firmware-upgrade must be installed.

Example Playbook

  • You can simply use this role like
- hosts: servers
  roles:
     - { role: CSCfi.hp-firmware-upgrade }

License

MIT

Author Information

This role was created by Karan Singh Contributions: