Power System Firmware Updates
I am in the process of updating the firmware for about 30 Power Systems and wanted to share how to do this from the command line as I find the command line much quicker and easier when updating frame firmware.
Download Fixes to NIM Server.
I downloaded all the Firmware updates to my NIM server and have also exchanged ssh private keys with the HMCs, the public key is added to the authorised keys file on the NIM server for a read-only type user account. The private key is copied to the HMC and placed in the users home directory.
List each p8 Server
When installing the firmware you need to know the system names, this will list all the frames managed by this HMC.
lssyscfg -r sys -F name
s41-844ABCD
Confirm Firmware Key Expiry Date
Power8 and higher systems require a valid license key to update the firmware. This is only available if you have a valid support contract with IBM. The date format is MM/DD/YYYY. From the example below, my key expired on 18th April 2017.
lslic -m s41-844ABCD -F mtms,update_access_key_exp_date
s41-844ABCD,04/18/2017
Obtaining a New Key
Please see this IBM link for details on update access keys and how to replace them.
http://www-01.ibm.com/support/docview.wss?uid=isg3T1020902
Apply the New Key
To apply the new keys, just enter the Capacity on Demand Key from the HMC command line.
chcod -m s41-844ABCD -o e -k ABCDEFGH24682468ADAT092020180012AB
Confirm the Key is correct
The date format is MM/DD/YYYY
lslic -m s41-844ABCD -F mtms,update_access_key_exp_date
s41-844ABCD,09/20/2018
Check Boot Side
This frame will boot from the Primary Permanent flash code.
lssyscfg -m s41-8444ABCD -r sys -F curr_power_on_side,pend_power_on_side
perm,perm
This frame will boot from the Secondary Temporary flash code.
lssyscfg -m s41-8444ABCD -r sys -F curr_power_on_side,pend_power_on_side
temp,temp
Commit the Existing Firmware
This step will commit the existing temporary Firmware and allow you to apply another Firmware update to the tempoary side.
WARNING: If you see the following message from the updlic -o c commands, you will not be able to do a concurrent update as the Power Server is running from the primary Permanent Firware side. Regardless of firmware update type, if you see this message it will be a disruptive update.
The accept operation cannot be performed because all components are running on the permanent flash side.
updlic -o c -v -m s41-844ABCD
s41-844ABCD: Updating accepted level.
s41-844ABCD Managed System Primary: Accepting updates.
s41-844ABCD Managed System Primary: Writing file 80f00101. 11328 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00109. 14912 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00114. 15424 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00208. 15680 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00213. 16192 bytes written.
s41-844ABCD Managed System Primary: Writing file 80e00947. 20544 bytes written.
s41-844ABCD: Completed All Updates.
Confirm the readiness for Upgrade
Check the Frame is ready for a firmware update and that is has no issues. This command appear to produce no output if the frame is ready to accept a new firmware update. The best way to check if the command succeeded is to check the return code. Please note that if any messages are displayed in the output you should review them and seek assistance from IBM support.
updlic -o k -v -m s41-844ABCD
echo $?
0
Concurrent Firmware Updates
These steps are how to update concurrent firmware releases. A concurrent update is normally an update where the existing code level is a higher than the last disruptive firmware level and you are staying at the same Firmware Release.
Disruptive Firmware Updates
A disruptive update is normally an update where the existing code level is a lower than the last disruptive firmware level or the Firmware release is higher than the installed Release. I plan to create another post for distruptive firmware updates soon.
Please note that a disruptive Firmware update will Power off the Frame after the update has been applied. You must ensure that there are NO running LPARs or VIO Servers before you start the Firmware update, otherwise the update may fail.
Update the Firmware
This first option uses the private and public ssh keys that have been exchanged between the HMC and NIM server.
updlic -v -o a -m s41-844ABCD -t all -l latest -r sftp -h 10.1.2.7 -u rouser -k /home/hscroot/HMCKey -d /export/HMC/SFW860
This second option uses a username and password for access to the NIM server.
updlic -v -o a -m s41-844ABCD -t all -l latest -r sftp -h 10.1.2.7 -u rouser --password abcd1234 -d /export/HMC/SFW860
Output From the Concurrent Firmware Update
Current profile data backup files have been copied:
s41-844ABCD: /var/hsc/profiles/844ABCD/backupFile_FirmwareUpdate01SV860, /var/hsc/profiles/844ABCD/directory/backupFile_FirmwareUpdate01SV860.dir
s41-844ABCD: Retrieving updates.
s41-844ABCD Managed System Primary: Retrieving updates.
s41-844ABCD: Installing updates.
s41-844ABCD Managed System Primary: Preparing for install.
s41-844ABCD: Installing updates.
s41-844ABCD Managed System Primary: Installing updates.
s41-844ABCD Managed System Primary: Writing update files.
s41-844ABCD Managed System Primary: Writing file 80a00701. 5828146 bytes written.
s41-844ABCD Managed System Primary: Writing file 80a00721. 261836 bytes written.
s41-844ABCD Managed System Primary: Writing file 80a00741. 130864 bytes written.
s41-844ABCD Managed System Primary: Writing file 80a00761. 785724 bytes written.
s41-844ABCD Managed System Primary: Writing file 80a00761. 10739596 bytes written.
s41-844ABCD Managed System Primary: Writing file 80a01000. 392808 bytes written.
s41-844ABCD Managed System Primary: Writing file 80a01003. 6875922 bytes written.
s41-844ABCD Managed System Primary: Writing file 80a01083. 2619332 bytes written.
s41-844ABCD Managed System Primary: Writing file 80a01083. 12704176 bytes written.
s41-844ABCD Managed System Primary: Writing file 80f00102. 1113154 bytes written.
s41-844ABCD Managed System Primary: Writing file 80f00102. 10346680 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00020. 6613978 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00020. 15716532 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00021. 7989184 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00021. 15716532 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00022. 9626334 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00023. 1047668 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00023. 10870568 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00024. 2553846 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00024. 4190996 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00109. 2291902 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00109. 9233418 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00114. 916696 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00114. 7727240 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00208. 5697174 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00209. 1440584 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00209. 7792726 bytes written.
s41-844ABCD Managed System Primary: Writing file 81e00800. 392808 bytes written.
s41-844ABCD Managed System Primary: Finished writing update files.
s41-844ABCD: Activating updates.
s41-844ABCD Managed System Primary: Activating updates - Restarting Flexible Service Processor.
s41-844ABCD Managed System Primary: Flexible Service Processor Restart completed successfully.
s41-844ABCD: Activating updates - PHYP.
s41-844ABCD: Activating updates - PHYP.
s41-844ABCD: Activating updates - PFW.
s41-844ABCD: Activating updates - PFW. 0 of 8 partitions completed.
s41-844ABCD: Activating updates - PFW. 6 of 8 partitions completed.
s41-844ABCD: Activating updates - PFW. 6 of 8 partitions completed.
s41-844ABCD Managed System Primary: Activation completed.
s41-844ABCD: Processing I/O updates.
s41-844ABCD: The following deferred fixes are present in the fix pack. Deferred fixes will be activated after the next IPL of the system.
An immediate IPL is not required, unless you want to activate one of the fixes below now.
On systems using PowerVM firmware, a problem was fixed for PCIe3 I/O expansion drawer (EMX0) link improved stability. The settings for the continuous time linear equalizers (CTLE) was updated for all the PCIe adapters for the PCIe links to the expansion drawer. The CEC must be re-IPL'ed for the fix to activate. (1012518/SW373863)
On systems using PowerVM firmware, a problem was fixed for DPO (Dynamic Platform Optimizer) operations taking a very long and impacting the server system with a performance degradation. The problem is triggered by a DPO operation being done on a system with unlicensed processor cores and a very high I/O load. The fix involves using a different lock type for the memory relocation activities (to prevent lock contention between memory relocation threads and partition threads) that is created at IPL time, so an IPL is needed to activate the fix. More information on the DPO function can be found at the IBM Knowledge Center-- www.ibm.com/support/knowledgecenter/en/8247-42L/p8hat/p8hat_dpoovw.htm (1026560/SW391984)
Confirm the Updates
Confirm the updates have been applied but not accepted. This means we can reject the updates if they are shown to be the cause of any issues or you can boot the frame from the permanent side that contains the previous firmware. Notice that the Activated Level and Installed Level are the same but the Accepted Level is lower.
lslic -m s41-844ABCD -F mtms,activated_spname,activated_level,installed_spname,installed_level,accepted_spname,accepted_level
s41-844ABCD,FW860.42,138,FW860.42,138,FW860.20,82