Blogs

About this blog

Welcome to the Application Performance Management Blog, where you can read the perspectives from APM experts. This Blog provides insights into the Application Performance Management solution, as well as technical details about specific IBM products.

Links

This blog post is to provide a general procedure to update framework components using either a local silent install, or a remote deploy of components from TEMS depot using "tacmd updateFramework".

Trying to use "INSTALL_FOR_PLATFORM=aix523" in a silent install response file will NOT work, the silent installation will still default to the detected 64-bit operating system and install components for aix536 platform.

Depending on the order of install performed from various ITM / ITCAM images, different versions / platform-architecture of framework may be installed. These back-level components can result in systems being flagged during security scans due to older versions of AX or GS or JR components being installed.

This is often seen with DB2 monitoring agent (UD) on 64-bit AIX platform. For reference:

6) Determine the component-platforms that you want to update.
Review the output from the above command.
Modify the file to ensure that there is an entry for each of the component-platforms that need to be updated and save it.
An updated file might look like the following based on the previous output:

7) You can use /tmp/tf$ARCH.txt to perform a local silent installation or you can put it into your TEMS depot (after doing tacmd addbundles for -t -tf without a platform)

8) Perform ONE of the following two options:

A) To perform a local silent installation using tf$ARCH.txt, run the following command.
$MEDIA/install.sh -h $CH -q -p /tmp/tf$ARCH.txt

B) To perform a remote tacmd updateframework, run the following commands on the HUB TEMS system.
Set the shell variable CH to the directory where ITM resides. Change "/opt/IBM/ITM" to the correct path.
Set the shell variable MEDIA to the directory where install.sh resides on the upacked installation media. Change "/mnt/ITM/06300600/Agents" to the correct path.
Set the shell variable ARCH to the same value that was generated on the endpoint. Change "aix536" to the correct value.
Respond to any prompts as required.
CH=/opt/IBM/ITM
MEDIA=/mnt/ITM/06300600/Agents
ARCH=aix536
$CH/bin/tacmd login -s localhost -t 1440
$CH/bin/tacmd addbundles -i $MEDIA/unix -t tf
DEPOTFILE=`find $CH/tables -name tf$ARCH.txt`
cp /tmp/tf$ARCH.txt $DEPOTFILE
$CH/bin/tacmd listsystems -t lz ux | egrep -e 'Managed System Name| Y *$'
Use one of the Managed System Names displayed for the -n on the following command. Change "NODE" to the correct value.
$CH/bin/tacmd updateframework -n NODE

6) From the output in step #5, determine the component-platforms that are back-level to update.
Modify the /tmp/tf$ARCH.txt file to add a "INSTALL_FRAMEWORK_PACKAGE=" line for each component to update:

In order to update the AX component for platform aix523, there needs to be a line to install the "axaix523" framework package:

Each component-platform you want to install / update for AX, GS, JR, UI should have its own INSTALL_FRAMEWORK_PACKAGE= line.
The install will only update the component if there is a higher version for it in the install image.

In this example, specifying to install "axaix526" will not install AX for "aix526" platform as the system is already running 6.3 FP6 level which is higher than the version in the 6.3 FP2 image extracted on the system.

Note that AX component for aix523 platform is upgrade. The installation also installed AX for aix536 platform, since that is what the 6.3 FP6 based common installer recognizes the OS architecture as (Step #3).

Note the "UI" was already updated for aix526 platform as a prerequisite of the UNIX OS agent on the "tacmd createNode"

If necessary to update "UI" for aix523 platform, it can be updated by making an entry for "uiaix523" in the tf$ARCH.txt file.

The general instructions make the assumption the TEMS is on UNIX / Linux to be able to use "find" to locate the correct tf*.txt file to update.

For a TEMS on Windows platforms, manually copy the modified tf$ARCH.txt to the correct location in TEMS depot.

You must identify the platform architecture for the endpoint which will be updated with the "tacmd updateFramework" command, step #3.
The platform architecture on the endpoint in this example is aix536, and the file in TEMS depot to be updated would be tfaix536.txt file.

For Windows based TEMS, the depot has a different directory structure than on UNIX / Linux:

On UNIX / Linux TEMS, you would look under <CandleHome>/tables directory.
On Windows TEMS, you would look under <CandleHome>\CMS\depot\PACKAGES\<platform architecture>\k<pc>\<version>\unix directory

So for "aix536" platform architecture, for "TF" component, and the version of package in the depot is 6.3 FP6, the directory to the tfaix536.txt file is:

KUICUF008I: Are you sure you want to update the TEMA Framework on node nc106182:KUX to the latest version? Updating the TEMA Framework stops all agents on the node that are running, applies the changes, and restarts them.

Enter Y for yes or N for no: y

KUICUF011I: Updating the agents.

KUICUF027I: The operation has been successfully queued for deployment, the transaction id is 1492231429875000000000041, use the getDeployStatus CLI to view the status.

Note that both AX and GS components for aix523 platform are updated to current levels.

With these steps, it should be possible to force the upgrade of AX, GS, JR, UI for any specific platform as long as you either have a copy of the ITM base agent image extracted on the endpoint to perform a local silent install using a modified response file including a separare INSTALL_FRAMEWORK_PACKAGE= for each component-platform you want to update, or you have added the TF bundle to your TEMS depot and you modify the tf<arch>.txt file under the TF bundle in the depot to add INSTALL_FRAMEWORK_PACKAGE= entries for those AX, GS, JR, UI component-platform you want to upgrade on an endpoint by performing a "tacmd updateFramework" using the modified tf<arch>.txt file.