Question & Answer
Question
Answer
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.
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.
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.
Was this topic helpful?
Document Information
Modified date:
11 July 2023
UID
isg3T1025002