IBM Support

Newer ksh shell may allow regression of ITM installation.

Troubleshooting


Problem

The ITM installer has a problem with some newer versions of the Korn Shell (ksh). Current versions of the ITM installer for all ITM release families; 6.1.0, 6.2.0, 6.2.1, 6.2.2, 6.2.3, have all been modified to function correctly with this change. However, some ITM application images in the field still contain a version of the ITM installer which does not function correctly with these newer ksh shells. Installing agents and/or application support from these older application images can potentially regress the installer and itmcmd tools and also the ITM Java runtime environment.

Resolving The Problem

Diagnosing the problem:

  1. Examine install.sh on the installation media to determine whether the ITM installer is fixed or broken.
    Run the following command from the media directory where install.sh is found:
    grep -F 'grep "^VRMF' install.sh

    If install.sh is fixed, the result lines will start with curVRMF and newVRMF. The lines will look like this:
       curVRMF=$(grep "^VRMF *=" $curFile | cut -d"=" -f2)
       newVRMF=$(grep "^VRMF *=" $newFile | cut -d"=" -f2)

    If install.sh is broken, the result lines will start with curVer and newVer. The lines will look like this:
       curVer=$(grep "^VRMF *=" $curFile | cut -d"=" -f2)
       newVer=$(grep "^VRMF *=" $newFile | cut -d"=" -f2)

  2. Examine install.sh on the installation media to determine whether an additional problem in the ITM installer is fixed or broken.
    Run the following command from the media directory where install.sh is found:
    grep -F 'printf("' install.sh

    If install.sh is fixed, the result lines will contain the string 'printf("%d"'. The lines will look like this:
       curVer=$(print $curVer | $AWK '{ nval=$1; pad=10^(8-length(nval)); printf("%d", nval*pad)}')
      newVer=$(print $newVer | $AWK '{ nval=$1; pad=10^(8-length(nval)); printf("
    %d", nval*pad)}')

    If install.sh is broken, the result lines will contain the string 'printf("0%d"'. The lines will look like this:
       curVer=$(print $curVer | $AWK '{ nval=$1; pad=10^(8-length(nval)); printf("0%d", nval*pad)}')
      newVer=$(print $newVer | $AWK '{ nval=$1; pad=10^(8-length(nval)); printf("
    0%d", nval*pad)}')

  3. Run ./cinfo -i after an install to determine whether the "Installer Lvl' has been regressed.
    If you are not sure whether the "Installer Lvl" has regressed, you can compare the "Installer Lvl" to the "Version" for the ax components. If the "Version" for any of the ax components is larger than the "Installer Lvl", the installation has been regressed.

    Before:
    *********** Tue Oct 27 16:44:10 CDT 2009 ******************
    User: root Groups: system bin sys security cron audit lp itmgroup
    Host name : systema      
    Installer Lvl:06.21.00.04
    CandleHome: /opt/IBM/ITM
    ***********************************************************

    ...  Product inventory

    ax      IBM Tivoli Monitoring Shared Libraries
            aix523  Version: 06.20.00.00
            aix526  Version: 06.21.00.04


    After:
    *********** Tue Oct 27 18:44:10 CDT 2009 ******************
    User: root Groups: system bin sys security cron audit lp itmgroup
    Host name : systema      
    Installer Lvl:06.20.00.00
    CandleHome: /opt/IBM/ITM
    ***********************************************************

    ...  Product inventory

    ax      IBM Tivoli Monitoring Shared Libraries
            aix523  Version: 06.20.00.00
            aix526  Version: 06.21.00.04

  4. Run an ./itmcmd or ./tacmd command like the following:

    ./tacmd listQueries -s <system> -u <user> -p <password>

    and receive error messages similar to these:

    Can't load library "/opt/IBM/ITM/JRE/ls3266/bin//libjava.so", because
    libjvm.so: cannot open shared object file: No such file or directory
    Can't load library "/opt/IBM/ITM/JRE/ls3266/bin//libcore.so", because
    /opt/IBM/ITM/JRE/ls3266/bin//libcore.so: cannot open shared object
    file: No such file or directory

    KUIC02101W: The Java Runtime Environment shared library could not be
    loaded.  Java will execute using unsecured credentials.
    The java class could not be loaded. java.lang.
    UnsupportedClassVersionError:
    com/ibm/tivoli/itm/workspace/cli/WorkspaceImportExportCLI (Unsupported
    major.minor version 49.0)                                            

The following is a list of known application images which can cause this regression issue:

OMEGAMON XE z/OS Application Data v4.1.0

OMEGAMON XE on z/VM and Linux v4.1.0 FP03
OMEGAMON XE on z/VM and Linux v4.1.1
OMEGAMON XE on z/VM and Linux v4.1.2
OMEGAMON XE on z/VM and Linux v4.1.2 FP01
OMEGAMON XE on z/VM and Linux v4.1.2 FP01 IF01

OMEGAMON XE for Mainframe Networks 4.1.0

IBM Tivoli NetView for z/OS Enterprise Management Agent V5.3.0
IBM Tivoli NetView for z/OS Enterprise Management Agent V5R3

ITM for Databases v6.1 FP01
Monitoring Agent for DB2 v6.1 FP01
Monitoring Agent for Oracle v6.1 FP01
Monitoring Agent for Sybase v6.1 FP01
Monitoring Agent for Microsoft SQL Server v6.1 FP01

ITM for Databases v6.2
Monitoring Agent for DB2 v6.2
Monitoring Agent for Oracle v6.2
Monitoring Agent for Sybase v6.2
Monitoring Agent for Microsoft SQL Server v6.2

ITM for Databases v6.2 FP01
ITCAM for Applications v6.2
ITCAM for Applications v6.2.1
ITCAM for Applications v6.2.2
Monitoring Agent for DB2 v6.2 FP01
Monitoring Agent for Oracle v6.2 FP01
Monitoring Agent for Sybase v6.2 FP01
Monitoring Agent for Microsoft SQL Server v6.2 FP01

ITM for Applications v6.2
ITCAM for Applications v6.2
Monitoring Agent for mySAP v6.2

ITCAM for Applications v6.2.1
ITCAM for Applications v6.2.2
ITCAM for Applications v6.2.3
Monitoring Agent for Siebel V6.1
Monitoring Agent for mySAP v6.2

ITCAM for Messaging and Collaboration v6.1
Domino Agent v6.1

ITCAM for Messaging and Collaboration v6.1 FP02
ITCAM for Applications v6.2
ITCAM for Applications v6.2.1
Domino Agent v6.1 FP02

ITM for Virtual Severs v6.1.2
VMWare VI Agent v6.1.2

ITM for Microsoft Applications v6.1.1
ITM for Microsoft Applications v6.1.2
ITM for Microsoft Applications v6.2.0
ITM for Microsoft Applications v6.2.0 IF01

ITCAM for WebSphere/J2EE/Web Resources v6.1 FP02
ITCAM for WebSphere/J2EE/Web Resources v6.1 FP03
ITCAM for WebSphere/J2EE/Web Resources v6.1 FP04
ITCAM for WebSphere/J2EE/Web Resources v6.1 FP05

ITCAM for Application Diagnostics v7.1

ITCAM for SOA v6.1
ITCAM for SOA v7.1
ITCAM for SOA v7.1.1

ITCAM for Tx v6.2.0 FP03
ITCAM for Internet Service Monitoring 6.0.1
ITCAM for Transactions: Internet Service Monitoring 7.1
ITCAM for RT v6.2 FP01
ITCAM for RT v6.2 FP02

ITM Agent for Tivoli Netcool/Omnibus v7.2.0
ITM Agent for Tivoli Netcool/Omnibus v7.2.1

ITM Agent for Tivoli Enterprise Console V3.9.0
ITM Agent for Tivoli Enterprise Console V3.9.1

ITCAM System Edition for WebSphere DataPower v6.1

ITM for Energy Management v6.2
ITM for Energy Management v6.2.1

Monitoring for Email Servers agents (includes Domino® and Microsoft Exchange)
TT Component 7.1 FP2

Resolving the problem:

NOTE: You must follow the steps to repair the installation. Repairing an older media and re-installing from the repaired media image will not repair the damaged installation.


1) Repairing a corrupted installation:

  • Make a backup copy of the install_dir/config directory on the system you are going to reinstall. Tar the entire config/ directory. Do not use the * wildcard because you will want to backup the hidden directory under config/.
    Do not remove any files from the config/ directory even though they are backed up.
    After the upgrade we may need to examine the config/*.ini files to verify the local GSKit settings.
  • To determine the correct image to use as the current base image for repairing an installation, run ./cinfo -i and review the version information for the ax component. In the following example, both 06.20.00.00 and 06.21.00.04 are displayed as ax versions. Choose the largest value as the version which identifies the current base image, in this case it is 06.21.00.04.

    *********** Tue Oct 27 16:44:10 CDT 2009 ******************
    User: root Groups: system bin sys security cron audit lp itmgroup
    Host name : systema      
    Installer Lvl:06.21.00.04
    CandleHome: /opt/IBM/ITM
    ***********************************************************

    ...  Product inventory

    ax      IBM Tivoli Monitoring Shared Libraries
            aix523  Version: 06.20.00.00
            aix526  Version: 06.21.00.04

  • Reinstall the (OS) agent / TEMS / TEPS from the current ITM base image.

    If the TEMS and TEPS are in the same CANDLEHOME directory:
    • If an agent has been installed from the current ITM base image into the CANDLEHOME containing the TEMS / TEPS:
      Install that agent again from the current ITM base image, instead of the TEMS or TEPS.
    • If no agent has been installed from the current ITM base image into the CANDLEHOME containing the TEMS / TEPS:
      Install that the TEMS again from the current ITM base image, instead of the TEPS.

    If the TEMS and TEPS are in different CANDLEHOME directories:
    • If an agent has been installed from the current ITM base image into the CANDLEHOME containing the TEMS:
      Install that agent again from the current ITM base image, instead of the TEMS.
    • If no agent has been installed from the current ITM base image into the CANDLEHOME containing the TEMS:
      Install that the TEMS again from the current ITM base image.
    • If an agent has been installed from the current ITM base image into the CANDLEHOME containing the TEPS:
      Install that agent again from the current ITM base image, instead of the TEPS.
    • If no agent has been installed from the current ITM base image into the CANDLEHOME containing the TEPS:
      Install that the TEPS again from the current ITM base image.

  • During the install, when prompted with:
    Do you want to install the SAME version [ 1=Yes, 2=No ; default is "2" ] ?
    You should reply “n” or “2”

  • At this point the installer and itmcmd tools and also the ITM Java runtime environment should be restored to the correct level.

  • Verify that the application support is still installed with the following command:
    ./cinfo -i

2) Repairing an older media image:


You must repair the image which caused this regression before using it again. This applies to installing application support to a TEMS or TEPS as well as installing an agent. You must check other application support and agent images and repair them if necessary before using them.


  • Examine install.sh on the installation media to determine whether the first problem in the ITM installer is fixed or broken.
    Run the following command from the media directory where install.sh is found:
    grep -F 'grep "^VRMF' install.sh
  • If the first problem in install.sh is fixed, the result lines will start with curVRMF and newVRMF and this image does not need to be repaired for the first problem. The lines will look like this:
      curVRMF=$(grep "^VRMF *=" $curFile | cut -d"=" -f2)
     
    newVRMF=$(grep "^VRMF *=" $newFile | cut -d"=" -f2)
  • If the first problem in install.sh is broken, the result lines will start with curVer and newVer and this image must be repaired before it is used. The lines will look like this:
     
    curVer=$(grep "^VRMF *=" $curFile | cut -d"=" -f2)
     
    newVer=$(grep "^VRMF *=" $newFile | cut -d"=" -f2)
  • Follow these instructions to repair the first problem in install.sh if required.

    Note: You must have write access to the image to be repaired, and install.sh. If you do not, then copy the image to an area with enough free space where you do have write access.
    1. Make a backup copy of install.sh
    2. Edit install.sh
    3. Locate the following line
      # f32162 - need to use VRMF if present
    4. On the next line after the located line, replace the line
        curVer=$(grep "^VRMF *=" $curFile | cut -d"=" -f2)
      with the lines
        curVRMF=$(grep "^VRMF *=" $curFile | cut -d"=" -f2)
        curVer=${curVRMF##+( )+(0)}
    5. Six lines later, replace the line
        newVer=$(grep "^VRMF *=" $newFile | cut -d"=" -f2)
      with the lines
        newVRMF=$(grep "^VRMF *=" $newFile | cut -d"=" -f2)
        newVer=${newVRMF##+( )+(0)}
    6. Save install.sh

  • Examine install.sh on the installation media to determine whether the second problem in the ITM installer is fixed or broken.
    Run the following command from the media directory where install.sh is found:
    grep -F 'printf("' install.sh
  • If the second problem in install.sh is fixed, the result lines will contain the string 'printf("%d"' and this image does not need to be repaired for the second problem. The lines will look like this:
       curVer=$(print $curVer | $AWK '{ nval=$1; pad=10^(8-length(nval)); printf("%d", nval*pad)}')
      newVer=$(print $newVer | $AWK '{ nval=$1; pad=10^(8-length(nval)); printf("
    %d", nval*pad)}')
  • If the second problem in install.sh is broken, the result lines will contain the string 'printf("0%d"' and this image must be repaired before it is used. The lines will look like this:
      curVer=$(print $curVer | $AWK '{ nval=$1; pad=10^(8-length(nval)); printf("
    0%d", nval*pad)}')
      newVer=$(print $newVer | $AWK '{ nval=$1; pad=10^(8-length(nval)); printf("
    0%d", nval*pad)}')
  • Follow these instructions to repair the second problem in install.sh if required.

    Note: You must have write access to the image to be repaired, and install.sh. If you do not, then copy the image to an area with enough free space where you do have write access.
    1. Make a backup copy of install.sh
    2. Edit install.sh
    3. Locate the first line containing
      printf("0%d"
    4. Replace the string
      printf("0%d"
      with the string
      printf("%d"
    5. On the next line, repeat the replacement on step 4 again.
    6. Save install.sh

[{"Product":{"code":"SSTFXA","label":"Tivoli Monitoring"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"ITM Distributed Installer V6","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"6.1;6.2;6.2.1;6.2.2;6.2.3;6.3;6.3.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
23 June 2018

UID

swg21408506