- It does not catch errors in Jython expressions
var aVar = 5
var isTrue = Jython[aVar && int(avar) > 5]
This will compile fine in APDE and even the TPM web UI for creating/modifying workflows, but will not work, as:
aVar && int(avar) > 5
is not a valid Jython/Python expression (Python does not have && operator). The correct expression is:
aVar and int(avar) > 5
- It does not catch errors in DCM Query expressions:
var slotToDelegate = 2
var sysIdToDelegate = DCMQuery(/server[@id=$HostPlatformID]/property[@key="ZVM_SSI_SLOT_" + $slotToDelegate]/@value)
var hostToDelegate = DCMQuery(/server/property[@key="ZVM_SYSTEM_IDENTIFIER" and value=sysIdToDelegate]/@id)
These queries will compile fine in APDE, but will not work.
Correct queries are:
var slotToDelegate = 2
var slot_no = "ZVM_SSI_SLOT_" + slotToDelegate
var sysIdToDelegate = DCMQuery(/server[@id=$HostPlatformID]/property[@key=$slot_no]/@value)
var hostToDelegate = DCMQuery(/server/property[@key="ZVM_SYSTEM_IDENTIFIER" and @value=$sysIdToDelegate]/@id)
The TPM web UI for creating/modifying workflows however, is able to catch these errors.
Automation Packages in Tivoli Provisioning Manager (TPM)
I thank my colleague, Piyush Chordia for figuring this out for me, when I needed this urgently.
Very rarely, but at times one might need to change the version of a tcdriver installed in TPM, using a brute force technique, for following reason.
A tcdriver with version number lower than what is already installed in a TPM installation, will NOT install on it, and throw an error like "the installed version of this tcdriver is higher then the version being attempted to install".
For example if the installed version of VMware_Virtual_Infrastructure.tcdriver is 184.108.40.2065 then you can reinstall this tcdriver only if the tcdriver file has version 220.127.116.1155 or higher. A tcdriver file having version 18.104.22.16803 can not be installed on it
But for some reason if the version being attempted to install is lower than the version already there, then the following brute force technique can be used to bring down the installed version so that the installation can succeed.
First log into TPM as tioadmin and connect to db2 with:
>db2 connect to maxdb71 user maximo using <your_password>
Change the version of VMware_Virtual_Infrastructure tcdriver, issueing the following command (change the version and tcdriver name as needed in this command)
>db2 update maximo.tcdriver set version='22.214.171.12403' where tcdriver_id = (SELECT TPTCDRIVER.ID FROM MAXIMO."TPTCDRIVER" AS TPTCDRIVER WHERE TPTCDRIVER.NAME = 'VMware_Virtual_Infrastructure')
This is a hack to forcefully change the version of the tcdriver in the TPM database.
After doing the above example a VMware_Virtual_Infrastructure.tcdriver file with version 126.96.36.19903 can be installed.
1. A variable in TPM workflow is just a string.
The generated Java source for this line of workflow would also look like:
Some TPM customers don't use APDE and write all their custom
workflows from the TPM UI. The TPM UI does provide an option to export
individual workflows, but if you have a lot of custom workflows written
from the UI then exporting each workflow could be tedious. Here is a
quick and easy way to package all the custom workflows into one
[For TPM/TSAM on Windows, use a cygwin prompt to run the above commands or replace $TIO_HOME with %TIO_HOME% and '.sh' with '.cmd' in the above commands if using a windows command prompt]
This is very useful if you have more than one TPM server and you want to the custom workflows created in one TPM server to be copied to the other TPM servers.
Latest version of the VMware Virtual Infrastructure Automation Package on ISML
Note: All information in this entry may