IBM Support

Managing ifix on a VIO Server

Question & Answer


Question

How-to install, uninstall and check interim fix on a VIOS?

Answer

1. Checking if ifix applies to your VIOS
2. Commit all filesets before applying ifix
3. Installing the ifix
4. Considerations on SSP Cluster
5. Remove an ifix


VIOS is considered as an appliance and as such use of "oem_setup_env" must be avoided. This rule also applies for installation and update process, and by extent it includes ifix installation.
Note: In the following document, all command starting with a "$" prompt stands for padmin command, while command with "#" prompt are related to root command (so you need to run "oem_setup_env" before this one).
1. Checking if ifix applies to your VIOS

Before installing an ifix, there's a few easy steps to check the ifix applies to your VIOS:
1 - Check your VIOS level:

$ ioslevel

--> VIOS level must be the same as the one the ifix was built for.

2 - Check and confirm that the ifix was built for the correct fileset level :
Example, if your ifix applies to fileset devices.pciex.df1060e214103404.com at 6.1.9.30,
you can check the fileset level on your VIOS:

$ lssw | more
--> then type "/devices.pciex.df1060e214103404.com", it should show you something similar to:
...
devices.pciex.df1060e214103404.com   6.1.9.101 C F Common PCIe2 FC Adapter Device Software

Here we can see that "fileset devices.pciex.df1060e214103404.com" is already installed (and Committed as shown by letter "C" in the third column) at level 6.1.9.101.

Hence, the ifix received, does not apply to this VIOS level, as the fileset level installed is higher than the one the ifix was built for.

3 - Make sure there's no ifix already installed for the same component:
The "lssw" command list all fileset installed but also provides information for ifix at the very end of the output.

If you see "There is no efix data on this system.", then you are good to go, as there's no ifix installed. Otherwise, lssw output will show something similar to :

...

ID STATE LABEL INSTALL TIME UPDATED BY ABSTRACT
=== ===== ====== ============= ========== ==========================
1 S IV92895s7a 02/22/17 16:48:53 Ifix for apar IV92895

STATE codes:
S = STABLE
...

It means ifix IV92895s7a is installed on my VIOS. Unfortunately "$ lssw" does not provide more details on the ifix installed, so we have to check if one of the ifix installed lock our fileset "devices.pciex.df1060e214103404.com"

We can check this with :

$ lssw | more

--> and here search for keyword " CE "
(with a space before and after CE), it will show something like :

...
devices.ethernet.lnc2.rte 6.1.9.103 CE F 10 Gigabit Ethernet PCI-Express Adapter Software (lnc2)
devices.ethernet.mlx.diag 6.1.9.100 C F RoCE Converged Network Adapter Diagnostics
devices.ethernet.mlx.rte 6.1.9.102 CE F RoCE Converged Network Adapter devices.ethernet.shi.rte 6.1.9.103 CE F 10 Gigabit Ethernet PCI-Express Adapter Software (shi)
...

In this output "C" means the fileset is committed, and "E" means this fileset is ifix locked.
For our example the fileset "devices.pciex.df1060e214103404.com" is not ifix locked, then we should be able to apply an ifix on this VIOS.

But in this case our ifix for devices.pciex.df1060e214103404.com at 6.1.9.30 clearly does not apply, as we already have this files at an higher level.

2. Commit all filesets before applying ifix


Committing the already applied updates does not change the currently active version of a software product. It merely removes saved files for previous versions of the software product.

To commit last update :

$ updateios -commit
There are no uncommitted updates.

The following message is expected, and just indicates there's no further commit to be performed.

3. Installing the ifix

In most case i would recommend to create a directory in "/home/padmin" where we'll store the ifix we want to install, if there's multiple ifix to install, we can put all of them in this directory. Just make sure the directory does not contain any old ifix before we add the new one to be installed.

$ mkdir ifix

Then copy the ifix (scp, ftp...) in this directory.

If you want to install multiple ifix file at the same time you can copy all of it in the same directory, and then create the install list file (it also works if there's a single ifix to install) :

$ oem_setup_env
# ls *.epkg.Z > ifix.list

If you plan to apply this ifix on numerous VIOS, the you may want to consider creating a directory on a NIM server (or NFS server).

Before installing the ifix we want to first check if a reboot is required, we can do this with :

# cd /home/padmin/ifix
# ls -l
total 1728
-rwxr-xr-x    1 padmin   staff        732879 May 07 21:33 IJ24885m2a.200512.VIOS3.1.1.20-3.1.1.21.epkg.Z
-rwxr-xr-x    1 padmin   staff        143724 May 07 21:33 IJ25390s2b.200608.VIOS.3.1.1.21.epkg.Z
-rw-r--r--    1 root     staff            86 May 07 21:46 ifix.list
# emgr -d -e IJ24885m2a.200512.VIOS3.1.1.20-3.1.1.21.epkg.Z -v3 | grep "REBOOT"
REBOOT REQUIRED:  yes

So here, we'll need to plan a reboot of the VIOS after applying ifix for IJ24885m2a.

Attention : In case your VIOS is part of an SSP cluster, please refer to the "Consideration on SSP cluster".

To install/apply the ifix, run the following :

  • For a single ifix copied in VIOS home directory, with no "ifix.list" file created :
$ oem_setup_env
# cd /home/padmin/ifix
#emgr -e <ifix file name>
 --- For instance ---
# emgr -e IJ24885m2a.200512.VIOS3.1.1.20-3.1.1.21.epkg.Z
  • For multiple ifix copied in the VIOS, where "ifix.list" was previously created :
$ oem_setup_env
# cd /home/padmin/ifix
# cat ifix.list
IJ24885m2a.200512.VIOS3.1.1.20-3.1.1.21.epkg.Z
IJ25390s2b.200608.VIOS.3.1.1.21.epkg.Z
# emgr -f ifix.list

For ifix stored on a nim server (here NIM server is moon), the same command as above works, you just need to manually mount the NIM master filesystem on "/mnt" before going under oem_setup_env :

$ mount moon:/export/lpp_source/ifixes/ifix /mnt
$ oem_setup_env
# cd /mnt
# cat ifix.list
IJ24885m2a.200512.VIOS3.1.1.20-3.1.1.21.epkg.Z
IJ25390s2b.200608.VIOS.3.1.1.21.epkg.Z
# emgr -f ifix.list

Here are some extract of the output we could expect :

*******************************************************************************
EFIX MANAGER PREVIEW START
*******************************************************************************

+-----------------------------------------------------------------------------+
Efix Manager Initialization
+-----------------------------------------------------------------------------+
Initializing log /var/adm/ras/emgr.log ...

+-----------------------------------------------------------------------------+
Processing Efix Package 1 of 1.
+-----------------------------------------------------------------------------+
Efix package file is: /mnt/ifix/IV92895s7a/IV92895s7a.170217.epkg.Z
<== snip ==>

+-----------------------------------------------------------------------------+
Installp Prerequisite Verification
+-----------------------------------------------------------------------------+
Verifying prerequisite file ...
Checking prerequisites ...

Prerequisite Number: 1
Fileset: devices.ethernet.shi.rte
Minimal Level: 6.1.9.103
Maximum Level: 6.1.9.103
Actual Level: 6.1.9.103
Type: PREREQ
Requisite Met: yes

Prerequisite Number: 2
Fileset: devices.ethernet.lnc2.rte
Minimal Level: 6.1.9.103
Maximum Level: 6.1.9.103
Actual Level: 6.1.9.103
Type: PREREQ
Requisite Met: yes

Prerequisite Number: 3
Fileset: devices.ethernet.mlx.rte
Minimal Level: 6.1.9.102
Maximum Level: 6.1.9.102
Actual Level: 6.1.9.102
Type: PREREQ
Requisite Met: yes

All prerequisites have been met.
<== snip ==>
+-----------------------------------------------------------------------------+
Processing APAR reference file
+-----------------------------------------------------------------------------+
ATTENTION: Interim fix is enabled for automatic removal by installp.

+-----------------------------------------------------------------------------+
Efix Attributes
+-----------------------------------------------------------------------------+
LABEL: IV92895s7a
PACKAGING DATE: Fri Feb 17 03:24:21 CST 2017
ABSTRACT: Ifix for apar IV92895
PACKAGER VERSION: 7
VUID: 00F850C44C00021703022117
REBOOT REQUIRED: yes
BUILD BOOT IMAGE: no
PRE-REQUISITES: yes
SUPERSEDE: no
PACKAGE LOCKS: no
E2E PREREQS: no
FIX TESTED: no
ALTERNATE PATH: None
EFIX FILES: 3

Install Scripts:
PRE_INSTALL: no
POST_INSTALL: no
PRE_REMOVE: no
POST_REMOVE: no
<== snip ==>
+-----------------------------------------------------------------------------+
Efix Description
+-----------------------------------------------------------------------------+
IV92895 - ABEND IN ENTCORE_KPROC

+-----------------------------------------------------------------------------+
Efix Lock Management
+-----------------------------------------------------------------------------+
Checking locks for file /usr/lib/drivers/pci/lnc2entdd ...
Checking locks for file /usr/lib/drivers/pci/mlxentdd ...
Checking locks for file /usr/lib/drivers/pci/shientdd ...

All files have passed lock checks.
<== snip ==>

+-----------------------------------------------------------------------------+
Reboot Processing
+-----------------------------------------------------------------------------+

*** NOTICE ***
This efix package requires the target system to be rebooted after the current
operation is complete. It is recommended that you reboot the target system as
soon as possible after installation to avoid disruption of current functionality.

*******************************************************************************
EFIX MANAGER PREVIEW END
*******************************************************************************

+-----------------------------------------------------------------------------+
Operation Summary
+-----------------------------------------------------------------------------+
Log file is /var/adm/ras/emgr.log

EPKG NUMBER LABEL OPERATION RESULT
=========== ============== ================= ==============
1 IV92895s7a INSTALL PREVIEW SUCCESS

ATTENTION: system reboot will be required by the actual (not preview) operation.
Please see the "Reboot Processing" sections in the output above or in the
/var/adm/ras/emgr.log file.

Return Status = SUCCESS

Continue the installation [y|n]? y
<== snip ==>

+-----------------------------------------------------------------------------+
Operation Summary
+-----------------------------------------------------------------------------+
Log file is /var/adm/ras/emgr.log

EPKG NUMBER LABEL OPERATION RESULT
=========== ============== ================= ==============
1 IV92895s7a INSTALL SUCCESS

ATTENTION: system reboot is required. Please see the "Reboot Processing"
sections in the output above or in the /var/adm/ras/emgr.log file.

Return Status = SUCCESS


From the "Operation Summary" we can see the install process completed successfully. As stated in the "ATTENTION" message, you should double check if the ifix requires a reboot, and plan it as soon as possible.

4. Considerations on SSP Cluster

Before installing an ifix on a VIOS node in an SSP cluster, you first need to stop cluster services for this node.

To check if your VIOS is part of an SSP cluster, you can run the "cluster -list" command, which provides similar output :

- If no cluster configured :

$ cluster -list
Cluster does not exist.


- If this VIOS is part of a cluster :

$ cluster -list
CLUSTER_NAME: galaxy_cluster
CLUSTER_ID: 871b1460190111e6800200215e89cd29


You can check current node state with "cluster -status" command :

$ cluster -status
Cluster Name State
galaxy_cluster OK

Node Name        MTM                  Partition Num          State    Pool State
polaris          8233-E8B021010E1P    1                      OK       OK
acrux            8233-E8B021010E1P    2                      OK       OK

If current node state is OK, then you will have to stop it first before applying ifix :

$ clstartstop -stop -n <clustername> -m <nodename>

Once node is stopped, you can proceed with the updateios command as seen in chapter 3.
Perform a VIOS reboot if needed for ifix to be applied :

$ shutdown -restart


As we have manually stopped cluster services on VIOS before the reboot SSP will not come up by itself, we'll have to manually restart the node:

$ clstartstop -start -n <clustername> -m <nodename>

5. Remove an ifix

In most case you won't need to remove an ifix, because they are build to be automatically removed when you perform an update which includes the final APAR for this ifix. But in some case you may need to manually remove an ifix (for instance when you want to install a multi-ifix including the one already installed).

Attention : In case your VIOS is part of an SSP cluster, please refer again to the "Consideration on SSP cluster".
The install requirement for SSP also applies for removal process.

To remove ifix, first check ifix label using "emgr -l" command, then check if reboot is required, uninstall the ifix, and reboot if needed :

$ oem_setup_env
# emgr -l

ID  STATE LABEL      INSTALL TIME      UPDATED BY ABSTRACT
=== ===== ========== ================= ========== ======================================
1   *Q*   IJ24885m2a 05/07/70 23:17:34            Fix for multiple apars
2   *Q*   IJ25390s2b 05/07/70 23:17:42            Slow TCP performance
...
# emgr -l -L IJ24885m2a -v3 | grep "REBOOT"
STATE:                  *REBOOT REQUIRED*
REBOOT REQUIRED:        yes
# emgr -r -L IJ24885m2a
# exit
$ shutdown -restart
--> Reboot if needed.

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSPHKW","label":"PowerVM Virtual I\/O Server"},"ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1.0"}]

Document Information

Modified date:
11 July 2023

UID

isg3T1025002