IBM Prerequisite Scanner User Manual

Page 1
Prerequisite Scanner
Version 1.1.1.10
User's Guide

Page 2
Page 3
Prerequisite Scanner
Version 1.1.1.10
User's Guide

Page 4
Note
Before using this information and the product it supports, read the information in “Notices” on page 151.
This edition applies to Version 1.1.1.10 of IBM Prerequisite Scanner and to all subsequent releases and modifications until otherwise indicated in new editions.
© Copyright IBM Corporation 2009, 2012.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Page 5
Contents
Figures ...............v
Tables ...............vii
Chapter 1. Prerequisite Scanner
overview ..............1
Prerequisite Scanner architecture........1
Prerequisite properties ..........1
Product codes ............12
Prerequisite Scanner configuration files ....13
Prerequisite Scanner collectors .......20
Prerequisite Scanner evaluators .......22
Output formats ............23
Scanning process ............31
New in this release ............33
Chapter 2. Installing Prerequisite
Scanner ..............37
Prerequisites ..............37
Installing the compressed file ........38
Uninstalling Prerequisite Scanner .......38
Chapter 3. Extending Prerequisite
Scanner ..............39
Before you run Prerequisite Scanner ......39
Required checks and extension tasks for
Windows systems ...........39
Required checks and extension tasks for UNIX
systems...............40
Adding product codes ...........41
Creating custom configuration files ......41
Adding prerequisite properties ........43
Editing prerequisite properties ........45
Creating custom collectors for Windows systems . . 46
Creating custom VBScript collectors common to
all configuration files ..........46
Creating custom VBScript collectors specific to a
product and product version .......48
Creating custom collectors for UNIX systems . . . 50 Editing the package test script for UNIX systems . . 51 Creating custom evaluators for Windows systems 53 Creating custom evaluators for UNIX systems . . . 57
Chapter 4. Running Prerequisite
Scanner ..............59
prereq_checker .............59
Running Prerequisite Scanner from the command
line .................64
Common directory locations .........66
Chapter 5. Troubleshooting
Prerequisite Scanner ........67
Troubleshooting on Windows systems .....67
Troubleshooting on UNIX systems .......69
Execution problems............71
Return codes ..............72
Appendix A. Product codes reference 75
Appendix B. Configuration files
reference..............79
Appendix C. Prerequisite properties
reference..............83
Common data properties ..........84
Autonomic Deployment Engine data properties . . 88
Connectivity data properties.........89
DB2 data properties ...........89
MS SQL Server data properties ........90
Internet Explorer data properties .......90
Network data properties ..........91
Oracle data properties ...........92
Operating system data properties .......93
Installed software data properties ......104
User data properties ...........104
Windows network data properties ......105
UNIX network data properties .......105
Appendix D. Predefined collectors for
UNIX systems ...........107
Appendix E. Common functions for
Windows systems .........113
allFiles() ...............114
arrayToString() .............114
bigthan() ...............115
changeMG() ..............115
checkItemToString() ...........116
dictionaryToString() ...........116
exeCommand() .............117
filterCommand() ............117
filterFile()...............118
findNewest() .............118
findSuitableFile() ............119
fmt() ................120
formatForDisplay() ...........120
formatSizeForDisplay() ..........121
getDecimalSeparator() ..........121
getFirstMatch() .............121
isMatch() ...............122
notInLatter()..............122
passOrFail() ..............123
ppread() ...............124
readFile() ...............124
unitMGTOG() .............125
varToString() .............125
© Copyright IBM Corp. 2009, 2012 iii
Page 6
Appendix F. Logging utility sub
routines for Windows systems ....127
Appendix G. File utility sub routines
for Windows systems ........129
Appendix H. Other common functions and sub routines for Windows
systems..............131
ffirstMatch() ..............131
getValue() ..............132
removeSpecialCharacters() .........133
versionCompare() ............133
Appendix J. Other functions for UNIX
systems..............141
formatSizeDisplay() ...........142
versionCompare() ............142
checkHpux()..............144
checkLinux() .............144
checkSunOS() .............144
getValue() ..............145
setValue()...............145
copyValue() ..............145
getSystemId() .............146
getClosestExistingParentDir() ........146
parseDirParameter() ...........147
printDirSize() .............147
Appendix I. Common functions for
UNIX systems ...........135
changeMG() ..............135
AddMG()...............136
compare() ..............136
cutdown() ..............137
mes4path() ..............138
mes4Path1() ..............138
findOSInfo() ..............139
telnetNFS() ..............139
NFScheck() ..............140
Appendix K. Logging utility functions
for UNIX systems..........149
Notices ..............151
Support information and feedback 155
Index ...............157
iv
Prerequisite Scanner: User's Guide
Page 7
Figures
1. Output to the command-line interface on
Windows systems ..........25
2. Output to the command-line interface on
UNIX systems............26
3. precheck.log file ...........27
4. prs.debug file on UNIX systems ......28
5. prs.trc file on UNIX systems .......29
6. result.txt file on Windows systems .....30
7. result.txt file on UNIX systems ......31
8. Prerequisite Scanner architecture and scanning
process ..............32
9. Running the script and setting the detail
parameter on UNIX systems .......62
10. Running the script without setting the detail
parameter on Windows systems......63
11. precheck.log file with the debug data ....68
12. precheck.log file without debug data ....69
13. prs.debug file on UNIX systems ......70
14. prs.trc file on UNIX systems .......71
© Copyright IBM Corp. 2009, 2012 v
Page 8
vi Prerequisite Scanner: User's Guide
Page 9
Tables
1. Special characters to represent types of ranges 2
2. Examples of prerequisite properties .....3
3. Basic prerequisite properties categories ....4
4. Predefined subtypes ..........6
5. Predefined qualifiers ..........9
6. Supported data type categories and values 15
7. Scanned sections of a configuration file for
Windows .............18
8. Scanned sections of a configuration file for
UNIX ..............19
9. New configuration files ........33
10. Modified product script files .......34
11. Defects fixed in this release .......34
12. Checks and tasks before using a configuration
file for Windows systems ........39
13. Checks and tasks before using a configuration
file for UNIX systems .........40
14. Special characters legend for the Prerequisite
Scanner script ............59
15. Execution problems checklist .......71
16. Predefined product codes ........75
17. Predefined configuration files ......79
18. Predefined categories for prerequisite
properties .............83
19. Common data prerequisite properties ....84
20. Autonomic Deployment Engine data
properties .............88
21. DB2 data properties..........90
22. MS SQL Server data properties ......90
23. Internet Explorer data properties .....91
24. Network data properties ........91
25. Oracle data properties .........92
26. Operating system data properties .....93
27. Installed software data properties .....104
28. User data properties .........104
29. Windows network data properties ....105
30. UNIX network data properties ......105
31. UNIX collectors ...........107
32. Functions in common_function.vbs ....113
33. Called function for each variable type. 125
34. Logging utility sub routines.......127
35. File utility sub routines ........129
36. File utility functions .........129
37. Other common functions and sub routines for
Windows systems ..........131
38. Parent functions calling ffirstMatch() 131
39. Scripts using getValue() ........132
40. Parent functions calling versionCompare 133
41. Functions in common_function.sh.....135
42. Common functions in multiple files ....141
43. Common functions in TAD722_impl.sh 141
44. Parent functions calling versionCompare 143
45. Logging utility functions on UNIX systems 149
© Copyright IBM Corp. 2009, 2012 vii
Page 10
viii Prerequisite Scanner: User's Guide
Page 11
Chapter 1. Prerequisite Scanner overview
IBM®Prerequisite Scanner is a scanning tool that performs identification, checking, and verification of prerequisites for specified software before the actual deployment takes place. It scans for hardware and software prerequisites based on the values set for prerequisite properties. The Scanner displays the results of the scan in the command-line interface and also saves the results to text files. It also writes informational, trace, and debugging messages to log files.
Prerequisite Scanner initially checks the operating system of the machine and verifies whether it is the correct version for the specified software. If it is a supported operating system, the Scanner continues the prerequisite scan and generates the results; otherwise, it exits. If any of the individual checks for prerequisites fail, the overall scan fails.
You can run the Prerequisite Scanner after an installation or at any time to confirm your current environment. The Prerequisite Scanner does not require that you run the installation program of the software for which you want to check prerequisites.
You can extend the Prerequisite Scanner to scan for prerequisites that are not part of the core set of prerequisite checks supplied with the Scanner.
Prerequisite Scanner invokes the following types of scripts depending upon your platform:
v Windows: VBScript and batch
v UNIX: shell
Note: You cannot run the UNIX scripts on Windows systems even if you have installed a UNIX-like environment on the Windows machines, for example, Cygwin.
Prerequisite Scanner architecture
IBM Prerequisite Scanner comprises the following main components: a script to run in a command-line interface, a set of properties for the prerequisite checks, prerequisite property configuration files, prerequisite collectors, and prerequisite evaluators. The results of running the Prerequisite Scanner are available in various output formats.
Prerequisite properties
Prerequisite properties are the expected values for different software and hardware prerequisites, required by the products or solutions to be installed. Examples of prerequisite properties include the total disk space available on the machine, the set of ports that are not in use on a machine, and the current set of installed applications.
Because the values for these prerequisite properties can change with different products, the properties and their values are represented as name value pairs, with optional qualifiers. They are contained in the prerequisite properties configuration files. There is only one prerequisite property on each line.
© Copyright IBM Corp. 2009, 2012 1
Page 12
Prerequisite properties adhere to the following format:
[prefix_identifier.]property_name[.suffix_identifier]= [[qualifier_name:qualifier_value]]property_value
where:
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required by some of the predefined categories.
v property_name is the name of the prerequisite property.
v suffix_identifier is an optional identifier for a subtype of prerequisite properties as
outlined in Table 4 on page 6.
v qualifier_name is an optional attribute for the prerequisite property. IBM
Prerequisite Scanner uses it to qualify the prerequisite property or type of check to perform on the prerequisite property.
Note: You can have multiple qualifiers, each separated by a comma. The set of qualifiers must be enclosed by [] square brackets.
v qualifier_value is the value for the optional attribute. Each qualifier and its value
must be delimited by a : colon.
v property_value is the value for the prerequisite property and it can be a string or
integer.
A prerequisite property can have one or many values depending upon the data type and qualifier as follows:
v A single integer, for example, 8080 to represent the value of a port number.
v A range or group of integers represented by using special characters as outlined
in Table 1.
Table 1. Special characters to represent types of ranges
Special character Description
* Identifies a placeholder for multiple values. For example, ports.*
can represent a superset of ports for both a database product,
ports.DB and IBM WebSphere
+ Identifies that the actual version must at least match the value for
expected version. For example, os.versionNumber=5.0+, means that the version must be 5.0 or later.
- Identifies that the actual version must at most match the value for expected version. For example, os.versionNumber=5.0-, means that the version must be 5.0 or earlier.
.* Identifies that the actual version can match any wildcard value for
the expected version. For example, os.versionNumber=5.*, means that the version can be 5.0, 5.0.1 or 5.5.
®
Application Server, ports.WAS.
Restriction: On Windows systems, the * wildcard is only supported if used within a regular expression in the OS Version prerequisite property.
v A string that can represent any of the following values for prerequisite types:
– A numeric value with a unit, for example, 8GB or 10MB – An application, operating system, architecture, or package, for example, IBM
Lotus Symphony, RedHat Enterprise Linux 5.4, 32-bit,orftp
Note: A string might also comprise multiple values separated by a comma, for example, a list of applications.
2 Prerequisite Scanner: User's Guide
Page 13
– Either or values represented by one of the following combinations, such as,
True|False, Available|Unavailable,orEnabled|Disabled
Table 2 outlines examples of prerequisite properties.
Table 2. Examples of prerequisite properties
Prerequisite property Explanation
Disk=1GB The amount of free disk space, where:
v property_name is Disk v property_value is 1GB
user.isAdmin=True Whether the logged on user belongs to an
Administrator group, where: v prefix_identifier is user, for user prerequisite
properties
v property_name is isAdmin v property_value is True
network.availablePorts.DB=60000­60005 network.availablePorts.WAS=8080 network.availablePorts.FTP=21
os.dir.home=[dir:/ home,type:permission]755+
Checks whether ports 60000-60005 are available for the database server, port 8080 is available for the WebSphere Application Server, and port 21 for FTP, where:
v prefix_identifier is network, for general prerequisite
properties
v property_name is availablePorts v suffix_identifier are DB for available database ports,
WAS for the available WebSphere Application Server port, and FTP for the available FTP port
v property_value is 60000-60005, 8080,or21
Checks whether the home directory has drwxr-xr-x permissions, where:
v prefix_identifier is os, for operating system
prerequisite properties
v property_name is dir v suffix_identifier is home for the directory to check v qualifier_name are dir and type that qualify the
prerequisite property and type of check
v qualifier_value are home and permission, the values
for the qualifiers
v property_value is 755+, that is, the octal digit
representation of the access permissions for the home directory
You can add or edit predefined prerequisite properties for each product for which you want to run the Prerequisite Scanner. You can also create custom prerequisite properties and use Prerequisite Scanner collectors and evaluators as required to scan for and compare the prerequisite properties.
Chapter 1. Prerequisite Scanner overview 3
Page 14
Related concepts:
“Predefined qualifiers for prerequisite properties” on page 8 IBM Prerequisite Scanner provides a set of basic qualifiers for some prerequisite properties in a predefined category. Qualifiers represent attributes of the prerequisite property that Prerequisite Scanner uses to qualify the prerequisite property or type of check to perform on that prerequisite property.
Predefined categories of prerequisite properties
IBM Prerequisite Scanner provides a set of basic prerequisite properties for different categories of data: common, installed software, operating system, user, connectivity, Internet Explorer, database server, environment variables, and network including platform-specific properties for Windows and UNIX.
<prefix_identifier> is an identifier for a predefined category of prerequisite properties.
Table 3 outlines the predefined categories of hardware and software prerequisites.
Table 3. Basic prerequisite properties categories
Data category Description
Common This category checks common prerequisites such as processor speed,
RAM, disk, and temporary space. This example is the prerequisite property for checking the operating system:
OS Version=RedHat Enterprise Linux 5.4
Installed software
User This category checks user prerequisites such as whether the logged on
Operating system
Connectivity This category checks connectivity prerequisites such as whether Telnet is
Network This category checks network prerequisites that can be common across all
Windows network
This category checks installed software prerequisites such as the programs registered in the Windows registry and whether cygwin and gskit are installed. This example is the prerequisite property for scanning the operating system registry for installed programs with locations:
installedSoftware=list_of_installed_programs
user had administrative rights or is the root user. This example is the prerequisite property for checking whether the logged on user is a member of the Administrator group:
user.isAdmin=True
This category checks operating system prerequisites such as version, architecture, total memory, available memory, and total physical memory. This example is the prerequisite property for checking whether the remote registry service is running:
os.isServiceRunning.remoteRegistry=True
running and to which IP addresses and ports the Scanner can connect.
platforms such as whether there are ports available. This example is the prerequisite property for checking whether the 8080 port is available for IBM WebSphere Application Server:
network.availablePorts.was=8080
This category checks Windows network prerequisites such as whether NetBIOS and DHCP are enabled on the machine, and pinging properties. This example is the prerequisite property for checking whether at least one adapter with a valid IP address has NetBIOS enabled as a protocol:
network.netBIOSEnabled=True
Required prefix identifier
None
None
user
os
None
network
network
4 Prerequisite Scanner: User's Guide
Page 15
Table 3. Basic prerequisite properties categories (continued)
Data category Description
UNIX network This category checks UNIX network prerequisites such as whether
NetBIOS and DHCP are enabled on the machine, and pinging properties. This example is the prerequisite property for checking whether the local host responds to the ping protocol:
network.pingLocalhost=True
Internet Explorer
This category checks Microsoft Internet Explorer prerequisites such as the version. This example is the prerequisite property for checking whether the Internet Explorer version is 7.0:
internetExplorer.version=7.0
Database server,
®
DB2
This category checks DB2 prerequisites such as the version. This example is the prerequisite property for whether the DB2 version is at least 9.5:
DB2 Version=9.5.*
Database server, Oracle
This category checks Oracle prerequisites such as the version. This example is the prerequisite property for checking whether Oracle client version is at least 9.2.0.8:
oracle.Client=9.2.0.8+
Environment variables
This category checks environment variable prerequisites such as whether the environment variable has been set. This example is the prerequisite property for checking whether the class path contains the Derby JAR file:
env.classpath.derbyJAR=False
Autonomic Deployment Engine
This category checks Autonomic Deployment Engine prerequisites such as whether the Autonomic Deployment Engine is installed or the installation unit for Tivoli
®
Integrated Portal. This example is the prerequisite property for checking whether the installation unit for Tivoli Integrated Portal Version 2.1.1.0 or 2.1.1.1 is installed on a Windows system:
de.installationUnit=regex{.*C37109911C8A11D98E1700061BDE7AEA.* |.*TIP 2.1.1.0.*|.*TIP 2.1.1.1.*}
Database server, MS SQL
This category checks MS SQL prerequisites such as the version. This example is the prerequisite property for checking whether MS SQL Server version is SQL Server 2008 R2 Developer Edition:
mssql.Server=10.50.1600.1
Required prefix identifier
network
internetExplorer
DB2
Oracle
env
de
mssql
Predefined subtypes for prerequisite properties
IBM Prerequisite Scanner provides a set of basic subtypes for some prerequisite properties in a predefined category. Subtypes further categorize a prerequisite property such as categorization by application, utility, or service subtype.
Chapter 1. Prerequisite Scanner overview 5
Page 16
For example, you can have a prerequisite property for available network ports. You can further categorize that prerequisite property to check available ports for a database server, application server, or protocol.
<suffix_identifier> is an optional identifier for a subtype in the prerequisite property name.
Table 4 outlines the predefined subtypes for different categories of prerequisite properties including the <suffix_identifier>.
Table 4. Predefined subtypes
Prerequisite property subtype Suffix identifier Platform Description
Platform independent network category
network.availablePorts.
app_type
network.portsInUse.
app_type
Operating system category
os.dir.dir_name dir_name UNIX Use this naming convention
os.file.
script_name
os.file. isService Running.
service_name
app_type All Use this naming convention
for checking whether the port or range of ports is not being listened to or is available for the app_type application type.
app_type All Use this naming convention
for checking whether the port or range of ports is being listened to or is in use for the app_type application type.
for checking the dir_name file system. The value for the prerequisite property uses predefined qualifiers.
script_name UNIX Use this naming convention
for checking whether the script_name script is available on the machine.
service_name Windows Use this naming convention
for checking whether the service_name service is running on the machine.
Valid values for the subtype
String to represent app_type, for example:
v DB2 checks ports for DB2
database server
v WAS checks ports for
WebSphere Application Server
v ftp checks the FTP port
String to represent app_type, for example:
v DB2 checks ports for DB2
database server
v WAS checks ports for
WebSphere Application Server
v ftp checks the FTP port
String to represent dir_name, for example:
v tmp v home
String to represent script_name, for example:
v bash v expect v gzip v tar
String to represent service_name, for example:
v remoteRegistry v DNSClient v terminalServices
6 Prerequisite Scanner: User's Guide
Page 17
Table 4. Predefined subtypes (continued)
Prerequisite property subtype Suffix identifier Platform Description
os.lib.
lib_name_version
lib_name _version
UNIX Use this naming convention
for checking that the supported version of the lib_name_version library is installed on the machine.
Valid values for the subtype
String to represent lib_name_version, for example, in bold:
v 32-bit libstdc++.so.#
library
v 64-bit libstdc++.so.#
library
v 32-bit libXft.so.# library v 32-bit libXtst.so.#
library
v 64-bit libaio.so.# library v 32-bit xlC.rte XLC
runtime level
v 32-bit xlC.aix50.rte XLC
run time for AIX Version
5.3
v 32-bit xlC.aix61.rte XLC
run time for AIX Version
6.1
®
v AIX
IOCP bos.iocp.rte
library
v bos.loc.iso.en_us, the
ISO code fileset for the AIX base operating system
regex {str}, a regular expression with the input parameter,str, representing the search pattern for the library name, for example:
regex {.*libgcc.*}
Checks whether a version of the GCC low-level runtime library, libgcc, for that operating system exists.
Chapter 1. Prerequisite Scanner overview 7
Page 18
Table 4. Predefined subtypes (continued)
Prerequisite property subtype Suffix identifier Platform Description
os.package.
package_name
os.space.
dir_name
package_name UNIX Use this naming convention
for checking that the supported version of the package_name package is installed on the machine.
dir_name UNIX Use this naming convention
for checking the available disk space for the specified dir_name file system. The value for the prerequisite property uses predefined qualifiers.
Valid values for the subtype
String to represent package_name, for example, in bold:
v bash shell v expect for the TCL
extension package
v libgcc for GCC low-level
runtime package
v openssh for the Open
Source secure shell
v openssl for the Open
Source toolkit for SSL/TLS
v perl for the Perl scripting
package
v rpm for the RPM or RPM
Build packages
v telnet for the Telnet
package
v wget for the GNU file
retrieval package
String to represent dir_name, for example:
v usr v home v tmp v var
Predefined qualifiers for prerequisite properties
IBM Prerequisite Scanner provides a set of basic qualifiers for some prerequisite properties in a predefined category. Qualifiers represent attributes of the prerequisite property that Prerequisite Scanner uses to qualify the prerequisite property or type of check to perform on that prerequisite property.
For example, you can have a prerequisite property for a file system. You can qualify which check to perform for that prerequisite property based on its file system name and access permissions attributes. You can also qualify which type of units to use when checking the available disk space based on the file system path and unit attributes.
Qualifiers support customization to meet the needs of your environment and prevent the Scanner having to make implicit assumptions about the attributes of multidimensional prerequisites such as the default path and access permissions. You can change the values for the predefined qualifiers, but you cannot add new qualifiers to the existing set of predefined qualifiers for a predefined prerequisite property.
Qualifiers must adhere to the following format:
[qualifier_name:qualifier_value, qualifier_name:qualifier_value ] property_value
8 Prerequisite Scanner: User's Guide
Page 19
where:
v qualifier_name is an optional attribute for the prerequisite property that IBM
Prerequisite Scanner uses to qualify the prerequisite property or type of check to perform on the prerequisite property.
v qualifier_value is the value for the optional attribute.
The value for the qualifier can also be a name value pair to support multiple valid values depending upon user type. For example, different paths for the home directory depending up whether it is a root or non-root user.
v property_value is the value for the prerequisite property and it can be a string or
integer.
Each qualifier and its value must be delimited by a : colon. You can have multiple qualifiers, each separated by a comma. The set of qualifiers must be enclosed by [] square brackets.
Table 5 outlines the predefined qualifiers for different categories of prerequisite properties. Some prerequisite properties also use predefined subtypes to further categorize a prerequisite property.
Important: You cannot use the predefined qualifiers with other predefined prerequisite properties.
Table 5. Predefined qualifiers
Prerequisite property Platform Description Valid qualifiers and values
Operating system category with predefined subtype
os.dir.dir_name UNIX Checks the dir_name file system based
on the following qualification attributes: v dir attribute, to determine which file
system to check
v type attribute, to determine which
attribute of the file system to check, for example, the <octal_digits> octal digit representation for the access permissions to that file system
<dir_name> can represent for example:
v tmp v home
String with the following qualifier format:
[dir:dir_name, type:permission] octal_digits+
For example, to check whether the home directory has drwxr-xr-x permissions:
os.dir.home=[dir:/home, type:permission]755+
Chapter 1. Prerequisite Scanner overview 9
Page 20
Table 5. Predefined qualifiers (continued)
Prerequisite property Platform Description Valid qualifiers and values
os.space.
dir_name
UNIX Checks the available disk space for the
specified dir_name file system based on one or more of the following qualification attributes:
v dir attribute, to determine which
path to the file system to check
v unit attribute, to determine which
units for disk space to use
The value for dir attribute is dependant on the logged on user; thus, the value is a name value pair to represent the user type, that is, root or non-root, and the associated path.
dir_name can represent for example:
v usr v home v tmp v var
String with the following qualifier format for the file system of a root user:
[dir:root=dir_path, unit:unit_name]
disk_space
For example:
os.space.usr= [dir:root=/usr/ibm/common/acsi, unit:GB]200
String with the following qualifier format for the file system of a non-root user:
[dir:non_root=dir_path,
unit:unit_name]
disk_space
For example:
os.space.home= [dir:non_root=USERHOME/.acsi_HOST, unit:MB]200
Operating system category without predefined subtype
os.mountcheck UNIX Checks whether the file system is
mounted based on the following qualification attributes:
v drive attribute, to determine which
directory is the mounted file system
v nosuid attribute, to determine
whether the mount option is set if the file system is mounted
String with the following qualifier format, using only one qualifier:
[dir:dir_path] disk_space MB
For example:
os.space.home=[dir:/home/sat]250MB
String with the following qualifier format:
[drive:dir_name, mount_option:
false|true] True|False
For example, to check whether /home directory is mounted and the nosuid option is not set:
os.mountcheck=[drive:/home, nosuid:false]True
10 Prerequisite Scanner: User's Guide
Page 21
Table 5. Predefined qualifiers (continued)
Prerequisite property Platform Description Valid qualifiers and values
os.SELinux Linux Checks the enforcement status of the
Security-Enhancement Linux feature based on the following qualification attributes:
v source attribute, to determine the
command to use for the relevant operating system
v String with the following qualifier
format:
[source:Command] Disabled|Enabled
For example, to check whether the feature is disabled or has a permissive status on either Red Hat or SUSE operating system:
os.SELinux=[source: Command]Disabled
v String without a qualifier, where the
operating system is a generic Linux variant:
os.SELinux=Disabled
os.ulimit UNIX Use this naming convention for
checking whether an unlimited number of processes can be run based on the following qualification attributes:
v type attribute, to determine which
additional limit to check, for example, the filedescriptorlimit checks the limit for the number of file descriptors that processes can open
Common category without predefined subtype
String with the following qualifier format:
[type:limit_name]limit_value, limited|unlimited
For example, to check whether the file descriptor limit is greater than 8192, with unlimited number of processes:
os.ulimit= [type:filedescriptorlimit] 8192+,unlimited
Valid types of limits to check, where limit_name represents the type of limit are as follows:
v ALL, checks all limits v corefilesizelimit v datasegmentlimit v filedescriptorlimit v filesizelimit v hardlimit v processlimit v maxmemorysizelimit v maxprocesseslimit v stacksizelimit v threadlimit
Chapter 1. Prerequisite Scanner overview 11
Page 22
Table 5. Predefined qualifiers (continued)
Prerequisite property Platform Description Valid qualifiers and values
Disk Windows The amount of free disk space, with the
following optional qualification attributes:
v dir attribute, to determine which
path to the directory to check
v unit attribute, to determine which
units for disk space to use
String with the following qualifier format:
[dir:dir_path, unit:unit_name]
disk_space
For example:
Disk= [dir:C:\Program Files\IBM\SQLLIB, unit:MB]1431
Numeric format in MBs or GBs:
<disk_space>MB|GB
For example:
Disk=250MB
Product codes
IBM Prerequisite Scanner uses multicharacter codes in file names and parameter names to identify products and components and determine which type of configuration file to use.
product_code
It is the variable to represent a product code on either Windows or UNIX systems. Product codes identify the product, an individual platform such as Windows, AIX, HP-UX, Linux, and Solaris, and optionally the version of the operating system that is supported by that product. They are stored in the codename.cfg file. Any product that supports multiple platforms has multiple product codes, with each one identifying a product, platform, and version of the operating system as required.
For example, the COD, COK and COX product codes identify some of the supported operating systems and versions for IBM Tivoli Provisioning Manager:
COD=Tivoli Provisioning Manager for AIX 6.1 COK=Tivoli Provisioning Manager for HP-UX COX=Tivoli Provisioning Manager for Windows 2008
When you run the Prerequisite Scanner, you pass the product code and optionally the product version as input parameters. The Scanner automatically detects the operating system of the machine. It then checks the operating system against the operating system listed for that product code in the codename.cfg file.
If the operating system of the machine is supported, the Scanner then uses the input parameters to find the configuration file in the ips_root/Windows|UNIX_Linux directory. The file name contains the same product code and product version as the input parameters. If you do not pass the optional product version parameter, the Scanner uses the latest version of the configuration file that it finds in this directory. Prerequisite Scanner then begins the scan.
Important: If the platform is not supported, Prerequisite Scanner exits and displays a message to state that the platform is not supported.
12 Prerequisite Scanner: User's Guide
Page 23
Prerequisite Scanner configuration files
The IBM Prerequisite Scanner configuration files for individual platforms contain the prerequisite properties and their expected values for each platform that is supported by the product. Prerequisite Scanner provides a predefined set of configuration files that you can edit. You must create configuration files for new products and platforms to be supported.
When the operating system of the machine is supported, Prerequisite Scanner checks the prerequisite properties in the configuration files. It can also check in only the sections associated with that operating system.
Configuration files have a .cfg file extension. You store them in the ips_root/<OS> directory, where <OS> is the name of the operating system type, for example, Windows or UNIX_Linux.
Configuration files must adhere to the following rules:
v File extension must be .cfg
v Naming convention for the file name:
product_code[_<version>].cfg
where:
product_code
It is the variable to represent a product code on either Windows or UNIX systems. Product codes identify the product, an individual platform such as Windows, AIX, HP-UX, Linux, and Solaris, and optionally the version of the operating system that is supported by that product. They are stored in the codename.cfg file. Any product that supports multiple platforms has multiple product codes, with each one identifying a product, platform, and version of the operating system as required.
<version> is the 8-digit code to represent the version, release, modification,
and level, with two digits for each part of the code; for example, 7.3.21 is
07032100.
v Group prerequisite properties under sections that must follow a naming
convention for the section titles.
v Standard format for each prerequisite property is a name value pair with
optional qualifiers, and only one property on each line:
[<prefix_identifier>.]<property_name>[.<suffix_identifier>]= [[<qualifier_name>:<qualifier_value>]]<property_value>
Example of a configuration file without sections
This example checks for prerequisite properties but does not differentiate between different prerequisite properties for the required operating system versions.
os.space.var=[dir:root=/var/ibm/common/acsi,unit:MB]1.0 os.space.usr=[dir:root=/usr/ibm/common/acsi,unit:MB]200 os.space.home=[dir:non_root=USERHOME/.acsi_HOST,unit:MB]200 os.space.tmp=30MB env.classpath.derbyJAR=False network.pingSelf=True network.pingLocalhost=True network.availablePorts.Derby=4130 OS Version=RedHat Enterprise Linux 4.*,RedHat Enterprise Linux 5.* os.package.compat-libstdc++-33=compat_libstdc++_33 os.package.libgcc=libgcc-3.4.3-9
Chapter 1. Prerequisite Scanner overview 13
Page 24
Related concepts:
“Sections in configuration files” Prerequisite properties can be grouped under a set of sections in configuration files, with each section representing a data type category. Sections are optional in configuration files.
Sections in configuration files
Prerequisite properties can be grouped under a set of sections in configuration files, with each section representing a data type category. Sections are optional in configuration files.
The naming convention for the section title is:
[category_name:category_value]
where:
v category_name is the multicharacter code that represents the data type category
v category_value is the multicharacter code that represents an allowed value for the
category
Note: The values can use the special characters as outlined in Table 1 on page 2.
Each category name and its value must be delimited by a : colon and enclosed by [] square brackets.
You can have multiple data type categories by combining section titles, thereby restricting prerequisite properties to that set of specified categories only.
[category_name:category_value][category_name:category_value]
For example, to specify prerequisite properties that apply to a machine running 32-bit, SUSE Linux Enterprise Server version 11, Itanium operating system:
[OSType:SUSELinuxEnterpriseServer11][OSArch:64-bit][CPU:Itanium]
For all platforms, you can use the | logical OR symbol to use either or data type categories. For example, to have any of the environment variables set to True, the combination of section titles is:
v UNIX systems
[@TPAE_DB_FEATURE:True|@TPAE_DIR_FEATURE:True|@TPAE_J2EE_FEATURE:True]
v Windows systems
[@TPAE_DB_FEATURE:True]|[@TPAE_DIR_FEATURE:True]|[@TPAE_J2EE_FEATURE:True]
Important: The position of the | logical OR symbol is different between Windows and UNIX systems. For UNIX systems, the set of section titles are enclosed by one set of [] square brackets only with each section title separated by the symbol. For Windows systems, the symbol delimits each complete section title with associated [] square brackets.
For Windows systems only, you can use the ! logical NOT symbol to exclude a data type category. For example, to exclude Windows Server 2003 R2 variant, the combination of section titles is:
[OSType:Windows Server 2003][!OSType:Windows Server 2003 R2]
Table 6 on page 15 outlines the supported data type categories and associated allowed values.
14 Prerequisite Scanner: User's Guide
Page 25
Table 6. Supported data type categories and values
Data type category Description Allowed values
OSType The operating system
type
v UNIX
Indicates that all properties in this category are common to all UNIX platforms, including, AIX, HP-UX, Linux, and Solaris, for example:
[OSType:UNIX]
v AIX
Indicates that all properties in this category are common to all AIX operating system variants, for example:
[OSType:AIX]
v HP-UX
Indicates that all properties in this category are common to all HP-UX operating system variants, for example:
[OSType:HP-UX]
v LINUX
Indicates that all properties in this category are common to all Linux operating system variants, for example:
[OSType:LINUX]
v RedHat
Indicates that all properties in this category are common to all RedHat Linux operating system variants, for example:
[OSType:RedHat]
v RedHatEnterpriseLinuxServer
Indicates that all properties in this category are common to all RedHat Enterprise Linux Server operating system variants, for example:
[OSType:RedHatEnterpriseLinuxServer]
v SUSE
Indicates that all properties in this category are common to all SUSE Linux operating system variants, for example:
[OSType:SUSE]
v SUSELinuxEnterpriseServer
Indicates that all properties in this category are common to all SUSE Linux Enterprise Server operating system variants, for example:
[OSType:SUSELinuxEnterpriseServer]
v Solaris
Indicates that all properties in this category are common to all Solaris operating system variants, for example:
[OSType:Solaris]
Chapter 1. Prerequisite Scanner overview 15
Page 26
Table 6. Supported data type categories and values (continued)
Data type category Description Allowed values
v Windows
Indicates that all properties in this category are common to all Windows operating systems, for example:
[OSType:Windows]
v Windows 2000 Workstation (Version 5.0.*)
Indicates that all properties in this category are common to all Windows 2000 operating system variants, for example:
[OSType:Windows 2000]
v Windows XP Workstation (Version 5.1.*)
Indicates that all properties in this category are common to all Windows XP Professional 32-bit operating system variants, for example:
[OSType:Windows XP]
v Windows XP Workstation (Version 5.2.*)
Indicates that all properties in this category are common to all Windows XP Professional 64-bit operating system variants, for example:
[OSType:Windows XP]
v Windows Vista Workstation (Version 6.0.*)
Indicates that all properties in this category are common to all Windows Vista operating system variants, for example:
[OSType:Windows Vista]
v Windows 7 Workstation (Version 6.1.*)
Indicates that all properties in this category are common to all Windows 7 operating system variants, for example:
[OSType:Windows 7]
v Windows 2000 Server (Version 5.0.*)
Indicates that all properties in this category are common to all Windows 2000 Server operating system variants, for example:
[OSType:Windows 2000]
v Windows Server 2003 (Version 5.2.*)
Indicates that all properties in this category are common to Windows Server 2003 operating system variants, for example:
[OSType:Windows Server 2003]
v Windows Server 2003 R2 (Version 5.2.* and other type of OS
description is R2)
Indicates that all properties in this category are common to the Windows Server 2003 R2 operating system variant only, for example:
[OSType:Windows Server 2003 R2]
16 Prerequisite Scanner: User's Guide
Page 27
Table 6. Supported data type categories and values (continued)
Data type category Description Allowed values
v Windows Server 2008 (Version 6.0.*)
Indicates that all properties in this category are common to Windows Server 2008 operating system variants, for example:
[OSType:Windows Server 2008]
v Windows Server 2008 R2 (Version 6.1.*)
Indicates that all properties in this category are common to the Windows Server 2008 R2 operating system variant only, for example:
[OSType:Windows Server 2008 R2]
v <OS_Name_Version>
Indicates that all properties in this category are common to that version of the operating system, for example:
[OSType:RedHatEnterpriseLinuxServer4.2]
Note: The special wildcard character, *, is allowed to specify multiple versions.
OSArch The architecture for the
operating system
v 32-bit, for example:
[OSArch:32-bit]
v 64-bit, for example:
[OSArch:64-bit]
CPU The generic processor
family name
CPUArch The architecture for the
processor
Itanium, for example:
[CPU:Itanium]
Architecture for 64-bit PowerPC processors, that is:
v ppc4
v POWER4
v POWER5
v POWER6
v POWER7
For example:
[CPUArch:ppc4]
@<EnvVar_Name> The environment variable
for a product
Adheres to the rules of that product, for example:
[@TPAE_DB_SERVER:True]
®
and Power Architecture
Example of a configuration file for Windows that uses sections
This example uses sections to categorize prerequisite properties for any Windows machine and then machines running specific versions of Windows.
#Properties for all Windows operating systems, that is, Windows XP and above [OSType:Windows] os.versionNumber=5.1+ network.pingSelf=True network.pingLocalhost=True network.availablePorts.Derby=4130 env.CIT.homeExists=True env.classpath.derbyJAR=False # Disk space properties commonPath=10MB installPath=200MB
Chapter 1. Prerequisite Scanner overview 17
Page 28
tempPath=30MB
[OSType:Windows Vista] os.servicePack=2+
When you run Prerequisite Scanner, it scans and checks for different prerequisite properties depending upon the operating system and version that is installed on the machine.
For example, Table 7 outlines the different sections containing the prerequisite properties that are checked based on the example.
Table 7. Scanned sections of a configuration file for Windows
Platform or operating system Sections with prerequisite properties
Machine with Windows XP and above [OSType:Windows]
Machine with Windows Vista only [OSType:Windows]
[OSType:Windows Vista]
Example of a configuration file for UNIX that uses sections
This example contains prerequisite properties for all platforms, individual platforms, and versions of operating systems for a specific product.
# Properties common to all UNIX platforms [OSType:UNIX] os.space.var=[dir:root=/var/ibm/common/acsi,unit:MB]1.0 os.space.usr=[dir:root=/usr/ibm/common/acsi,unit:MB]200 os.space.home=[dir:non_root=USERHOME/.acsi_HOST,unit:MB]200 os.space.tmp=30MB env.classpath.derbyJAR=False network.pingSelf=True
# Properties common to all Linux platforms [OSType:LINUX] os.shell.default=bash os.SELinux=[source:Command]Disabled os.package.rpm=rpm
# Properties common to Linux platforms with the ppc64 CPU architecture [OSType:LINUX][CPUArch:ppc64] os.package.vacpp.rte=vacpp.rte-9.0.0-5+
# Properties common to all RedHat OS [OSType:RedHat] env.classpath.derbyJAR=False
# Properties common to all versions of Red Hat Enterprise # Linux Server OS [OSType: RedHatEnterpriseLinuxServer] network.pingLocalhost=True
# Properties common to all Red Hat Enterprise Linux Server # OS Version 6.x(6.1,6.2...) [OSType: RedHatEnterpriseLinuxServer6.*] os.package.compat-libstdc++-33=compat_libstdc++_33-3.2.3-68
[OSType:RedHatEnterpriseLinuxServer5.*] os.package.compat-libstdc++-33=compat_libstdc++_33
# Properties common to all Red Hat Enterprise Linux Server # Version 4.x(6.1,6.2...) OS and for Itanium family CPU [OSType:RedHatEnterpriseLinuxServer4.*][CPU:Itanium] os.package.ia32el=ia32el-1.1-20
18 Prerequisite Scanner: User's Guide
Page 29
# Properties common to all Red Hat Enterprise Linux Server # Version 4.x(6.1,6.2...) OS and for a 64-bit OS architecture [OSType:RedHatEnterpriseLinuxServer4.*][OSArch:64-bit] os.package.libgcc=libgcc-3.4.3-9
# Properties specific to RedHatEnterpriseLinuxServer5.2 OS [OSType:RedHatEnterpriseLinuxServer5.2] network.availablePorts.Derby=4130
# Properties specific to a 64 bit SUSE Linux Enterprise Server 11 OS [OSType:SUSELinuxEnterpriseServer11][OSArch:64-bit] os.package.libstdc++33-32bit=libstdc++33_32bit-3.3.3-11.9
# Properties specific to a 64 bit SUSE Linux Enterprise Server 11 OS # and if the environment variable TPAE_DB_Server is set to ’True’ [OSType:SUSELinuxEnterpriseServer11][@TPAE_DB_Server:True] os.package.libstdc++31-32bit=libstdc++31_32bit
# Properties specific to a 64 bit SUSE Linux Enterprise Server 11 OS # and if the environment variables TPAE_DB_Server and TPAE_DIR_Server # are set to ’True’ [OSType:SUSELinuxEnterpriseServer11][@TPAE_DB_Server:True] [@TPAE_DIR_Server:True] os.package.libstdc++34-32bit=libstdc++34_32bit
# Properties common to all AIX platforms os.ulimit=[type:filesizelimit]unlimited os.ulimit=[type:filedescriptorlimit]8192+,unlimited os.FreePagingSpace=4GB+
# Properties specific to AIX 5.3.0.0 and # if the environment variables TPAE_DB_FEATURE or TPAE_DIR_FEATURE # are set to ’True’ [OSType:AIX5.3.0.0][@TPAE_DB_FEATURE:True|@TPAE_DIR_FEATURE:True] os.lib.xlC.aix50.rte=xlC.aix50.rte.9.0.0.8+
When you run Prerequisite Scanner, it scans and checks for different prerequisite properties depending upon the operating system and version that is installed on the machine.
For example, Table 7 on page 18 outlines the different sections containing the prerequisite properties that are checked based on the example.
Table 8. Scanned sections of a configuration file for UNIX
Operating systems and versions Sections with prerequisite properties
Machine with 64-bit SUSE Linux Enterprise Server 11
Machine with Red Hat Enterprise Linux Server 6.3
Machine with SUSE Linux Enterprise Server 11 and the environment variable @TPAE_DB_Server set to true
Machine with AIX 5.3.0.0 and the environment variables @TPAE_DB_FEATURE or @TPAE_DIR_FEATURE set to True
[OSType:UNIX] [OSType:LINUX] [OSType:LINUX][CPUArch:ppc64] [OSType:SUSE Linux Enterprise Server 11] [OSArch:64-bit]
[OSType:UNIX] [OSType:LINUX] [OSType:RedHat] [OSType:RedHatEnterpriseLinuxServer] [OSType:RedHatEnterpriseLinuxServer6.*]
[OSType:UNIX] [OSType:LINUX] [OSType:SUSELinuxEnterpriseServer11][@TPAE_DB_Server:True]
[OSType:UNIX] [OSType:AIX] [OSType:AIX5.3.0.0][@TPAE_DB_FEATURE:True|@TPAE_DIR_FEATURE:True]
Chapter 1. Prerequisite Scanner overview 19
Page 30
Prerequisite Scanner collectors
IBM Prerequisite Scanner collectors collect actual data about the current environment based on the prerequisite properties set for the products to be installed. The collectors obtain the data through native code. Data can be common data, such as processor speed and RAM, installed software data, operating system data, user data, network, and connectivity data. Collectors are also extensible, so you can create custom collectors to obtain actual values for custom prerequisite properties.
Prerequisite Scanner uses collectors in the following languages depending upon your platform:
v Windows: VBScript with .vbs extension v UNIX: Shell with .sh or no extension
Note: You cannot run the UNIX scripts on Windows systems even if you have installed UNIX-like environments on the Windows machines, for example, Cygwin.
Collectors for Windows systems
VBScript collectors for Windows systems are run in the Windows Script Host environment. They use the Component Object Model to access elements of the Windows environment, for example, FileSystemObject and TextStream.
Prerequisite Scanner runs the VBScript collectors to obtain the actual values for prerequisite properties for the Windows environment. Each collector can obtain data for one or many prerequisite properties.
For each prerequisite property in a VBScript collector, the collector writes the name of the prerequisite property and its actual value as standard output. Prerequisite Scanner writes this standard output to a temporary text file, that is, localhost_hw.txt.
You can create custom common VBScript collectors to collect data for prerequisite properties that apply to any product and product version. You can also create custom product-specific ones to collect data that apply to a specific product and product version.
When you run the Prerequisite Scanner, it runs the collectors in the following order: predefined VBScript collectors; the custom common VBScript collectors in the ips_root/lib directory; and the custom product-specific VBScript collectors by searching for the product_code[_<version>].vbs file in the ips_root/Windows directory.
For example, the env.tcrhome.vbs file is a custom collector that checks the home directory environment variable for Tivoli Common Reporting. It is stored in the ips_root/lib directory.
VBScript collectors must adhere to the following rules:
v Naming convention for the custom common VBScript collector file
It contains a prerequisite property to be made available to any product and product version, that is, all configuration files:
prefix_identifier.]property_name.vbs
where:
20 Prerequisite Scanner: User's Guide
Page 31
prefix_identifier is the prefix identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required
by some of the predefined categories, for example, env. – property_name is the prerequisite property name, for example, tcrhome. Store this type of VBScript collector in the ips_root/lib directory.
v Naming convention for the custom product-specific VBScript collector file
It contains properties to be made available to a specific product and product versions, that is, one configuration file:
product_code[_<version>].vbs
where:
product_code
It is the variable to represent a product code on either Windows or UNIX
systems. Product codes identify the product, an individual platform such as
Windows, AIX, HP-UX, Linux, and Solaris, and optionally the version of the
operating system that is supported by that product. They are stored in the
codename.cfg file. Any product that supports multiple platforms has multiple
product codes, with each one identifying a product, platform, and version of
the operating system as required.
<version> is the 8-digit code to represent the version, release, modification,
and level, with two digits for each part of the code; for example, 7.3.21 is
07032100.
Store this type of VBScript collector in the ips_root/Windows directory.
v Standard output for each prerequisite property is as follows:
WScript.Echo "property_name=" & <var_for_value>
property_name that represents the prerequisite property as written in the
configuration file, for example, env.tcrhome.
var_for_value, that is, the VBScript variable for the actual value that the
collector obtains for the prerequisite property.
For example, the following standard output writes the prerequisite property for the Tivoli Common Reporting home environment variable and its actual value:
WScript.Echo "env.tcrhome=" & tcr_home
Collectors for UNIX systems
Collectors for UNIX systems are run in the relevant Shell host environment for either AIX, HP-UX, Linux, or Solaris. They use the commands and options specific to that platform to access elements of the host environment.
Each UNIX collector obtains data for a prerequisite property or a prerequisite property with predefined subtypes. The collector writes the result of the check for the prerequisite property as standard output. Prerequisite Scanner writes this standard output to a temporary text file.
You can create custom UNIX collectors to collect data for custom prerequisite properties. Each collector, predefined or custom, is called in the ips_root/UNIX_Linux/packageTest.sh file.
When you run the Prerequisite Scanner, it runs the collectors in the following order: predefined collectors with _plug in the file name in the ips_root/lib directory; predefined collectors in the ips_root/UNIX_Linux directory; and the custom UNIX collectors in the ips_root/UNIX_Linux directory.
Chapter 1. Prerequisite Scanner overview 21
Page 32
For example, the installedSoftware.TCR.version file is a custom collector that obtains the version of Tivoli Common Reporting that is installed on the machine. It is stored in the ips_root/UNIX_Linux directory.
UNIX collectors must adhere to the following rules:
v Naming convention for the custom UNIX collector file with no file extension:
[prefix_identifier.]property_name
where:
prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required by some of the predefined categories, for example, installedSoftware.
property_name is the name of the prerequisite property, for example,
TCR.version.
Store the collector in the ips_root/UNIX_Linux directory. Ensure that it does not have a file extension.
v Standard output for a prerequisite property that returns the actual value for the
prerequisite property if it is an integer or string; for example, the software version or the amount of available disk space for a mounted file system. Alternatively, it can return "Unavailable" if it does not.
echo "True"|"False" ’If the scan checks for the existence of the prerequisite
echo $res ’If the scan checks returns the value, for example, product version,
echo "Unavailable" ’If the scan returns no value for the prerequisite property echo "Available" ’If the scan returns a valid check for the prerequisite property
’property
’of the prerequisite property
v Code to call and run the collector in the ips_root/UNIX_Linux/packageTest.sh
script.
res=`echo $line | grep installedSoftware.TCR.version` if [ $res ]; then ExpValue=`echo $res | cut -d "=" -f2`
echo "\`wrlTrace "Starting" "installedSoftware.TCR.version"\`" >>/tmp/prs.check echo "\`wrlTrace "Executing" "installedSoftware.TCR.version"\`" >>/tmp/prs.check echo "\`wrlDebug "Starting" "installedSoftware.TCR.version"\`" >>/tmp/prs.check echo "\`wrlDebug "Expected" "ExpValue" \`" >>/tmp/prs.check
echo "ss=\`./installedSoftware.TCR.version\`" >>/tmp/prs.check echo "\`wrlTrace "Finished" "installedSoftware.TCR.version"\`" >>/tmp/prs.check echo "echo \"os.userLimits=\$ss\"" >>/tmp/prs.check echo "\`wrlDebug "Finished" "installedSoftware.TCR.version"\`" >>/tmp/prs.check echo "\`wrlDebug "OutPutValueIs" \$ss\`" >>/tmp/prs.check echo "\`wrlTrace "Done" "installedSoftware.TCR.version"\`" >>/tmp/prs.check
fi
Prerequisite Scanner evaluators
IBM Prerequisite Scanner evaluators are scripts that compare the actual data from the collectors and the expected data for the same properties that are in the configuration files. Evaluations can be: platform-specific; based on simple operators, such as, less than, equal to, or greater than; and based on whether a property is installed, present, or enabled. They can also verify whether ports are in use or available and connectivity status of the machine. You can create or edit evaluators.
Prerequisite Scanner uses evaluators in the following languages depending upon your platform:
v Windows: VBScript with .vbs extension
22 Prerequisite Scanner: User's Guide
Page 33
v UNIX: shell with .sh extension
Note: You cannot run the UNIX scripts on Windows systems even if you have installed a UNIX-like environment on the Windows machines, for example, Cygwin.
You store evaluators in ips_root/OS, where OS is the name of the operating system, for example, Windows or UNIX_Linux.
Evaluator files must adhere to the following rules:
v Naming convention for the file name:
[prefix_identifier.]property_name[.suffix_identifier]_compare.vbs|sh
where:
prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required
by some of the predefined categories.
property_name is the name of the prerequisite property.
suffix_identifier is an optional identifier for a subtype of prerequisite properties
as outlined in Table 4 on page 6.
v Optionally pass two input parameters to the script for complex evaluations:
expected_value, that is, the expected value for the prerequisite property that is
set in the configuration file.
actual_value, that is, the actual value that the collector discovers for the
prerequisite property on the machine.
v Standard output is as follows:
"PASS" when the expected value for the prerequisite property is equal to or
greater than the actual value for the prerequisite property. – "FAIL" when the expected value for the prerequisite property does not equal
the actual value for the prerequisite property.
Output formats
IBM Prerequisite Scanner produces output for the following screen and human-readable file formats: output to the command-line interface, debugging and trace log files, and a simple text file for the results.
Prerequisite Scanner saves the scan results and log files to the ips_output_dir directory. You can set this directory by using the outputDir input parameter when you run the Scanner. If you do not set this parameter, the default output location is ips_root.
Note: Prerequisite Scanner creates temporary files during its execution, but these files are deleted before the Scanner completes its execution. These temporary files are located in the ips_output_dir/temp subdirectory. The Scanner also deletes the ips_output_dir/temp subdirectory, unless the subdirectory contains the debug and trace files that are generated on UNIX systems only.
You can also use the parameter to specify a location, if you choose to run Prerequisite Scanner from a CD, DVD, or a read-only network drive.
Important: If the output directory does not exist, Prerequisite Scanner creates the directory. You must have write permissions to create or write to the output directory in which Prerequisite Scanner saves the files.
Chapter 1. Prerequisite Scanner overview 23
Page 34
Command-line interface output
When you run the Prerequisite Scanner script and set the optional detail parameter, Prerequisite Scanner displays detailed results of the scan in the command-line interface. The detailed results contain:
v The version of Prerequisite Scanner
v The version of the operating system on which the Scanner was run
v The name of the products or components for which the prerequisites checks
were run
v For each prerequisite property: the name of the prerequisite property checked,
the PASS or FAIL result, the actual value, and expected value
v For all components: the name of the general prerequisite property checked, the
PASS or FAIL result, the actual value, and the expected value
v The overall PASS or FAIL result, with any failure of an individual check
resulting in the failure of the overall scan
24 Prerequisite Scanner: User's Guide
Page 35
Figure 1. Output to the command-line interface on Windows systems
If you do not set the detail parameter, the Scanner displays only the PASS or FAIL result on the screen.
Chapter 1. Prerequisite Scanner overview 25
Page 36
Figure 2. Output to the command-line interface on UNIX systems
Prerequisite Scanner generates returns codes dependent on the results of the scan and whether it must exit because of errors. These return codes are written to the log files. For example, if the Prerequisite Scanner fails to run the scan because cannot read the configuration file, it generates return code of 2.
Collating memory and disk space prerequisite properties
You can run Prerequisite Scanner to simultaneously check for the prerequisites of one or many products or components, when you specify multiple product codes as input parameters. Prerequisite Scanner collates the results of memory and disk space prerequisite checks in the following collated sections of the output, if the associated prerequisite properties have been specified in the configuration files:
v On UNIX systems, in the TOTAL ALL SPECIFIED COMPONENTS section v On Windows systems, in the ALL COMPONENTS section
The general prerequisite properties are as follows:
v Total amount of physical memory that is currently available in the target
environment, that is:
Memory
v Disk space of the file systems for the following prerequisite properties:
os.space.homeos.space.optos.space.tmpos.space.usros.space.var
Note: If opt, usr, and var have not been defined as file systems on the target computer, Prerequisite Scanner does not display the expected values and returned results for these prerequisite properties in the collated section.
Prerequisite Scanner displays N/A (non applicable) in the collated section, if any of the memory or disk space prerequisite properties do not exist in the configuration files.
Debugging log file output on Windows systems
Prerequisite Scanner outputs processing information, warning and error messages, and the scan results in the ips_output_dir/precheck.log file. When you run the
26 Prerequisite Scanner: User's Guide
Page 37
Prerequisite Scanner script and set the optional debug parameter, Prerequisite Scanner outputs additional debugging messages in this file.
Figure 3. precheck.log file
Trace and debugging log file output on UNIX systems
When you run the Prerequisite Scanner script and set the optional debug parameter, Prerequisite Scanner outputs detailed processing information, warning and error messages, and the scan results in the ips_output_dir/temp/prs.debug file.
Chapter 1. Prerequisite Scanner overview 27
Page 38
Figure 4. prs.debug file on UNIX systems
When you run the Prerequisite Scanner script and set the optional trace parameter, Prerequisite Scanner outputs trace information in the ips_output_dirtemp/prs.trc file.
28 Prerequisite Scanner: User's Guide
Page 39
Figure 5. prs.trc file on UNIX systems
Text file output
Prerequisite Scanner outputs detailed scan results in the ips_output_dir/result.txt file. It saves the results to the text file regardless of whether you set the detail parameter.
Chapter 1. Prerequisite Scanner overview 29
Page 40
Figure 6. result.txt file on Windows systems
30 Prerequisite Scanner: User's Guide
Page 41
Figure 7. result.txt file on UNIX systems
Related concepts:
Prerequisite Scanner generates returns codes dependent on the results of the scan and whether it must exit because of errors. These return codes are written to the log files.
You can use the execution problems checklist to troubleshoot errors you might encounter when you runPrerequisite Scanner.
Scanning process
When you run IBM Prerequisite Scanner, it performs a set of tasks in each stage of the scanning process. The user opens a command-line interface and runs the Prerequisite Scanner script with the set of input parameters including a product code.
Chapter 1. Prerequisite Scanner overview 31
Page 42
Figure 8. Prerequisite Scanner architecture and scanning process
The scanning process in Figure 8 is summarized as follows:
1. Prerequisite Scanner verifies the format of the input parameters that are passed
to the Scanner.
2. The Scanner determines whether the product code that is passed as one of the
input parameters is a valid product code in the codename.cfg file.
3. The Scanner automatically detects the operating system of the machine.
4. The Scanner verifies whether the actual operating system of the machine is a
supported operating system. It uses one of the following methods:
v Product code file
The Scanner checks the actual operating system against the expected supported operating system listed for the product code in the codename.cfg file.
v Section title in the configuration file
32 Prerequisite Scanner: User's Guide
Page 43
The Scanner checks the actual operating system against the expected supported operating system in the section titles in the configuration file, whose file name contains the same product code and the product version as the input parameters. If the optional product version parameter was not passed, the Scanner uses the latest version of the configuration file that it finds in the ips_root/Windows|UNIX_Linux directory.
If the platform is not supported, Prerequisite Scanner exits and displays a message to state that the platform is not supported.
5. The Scanner collects the actual prerequisite properties for the prerequisite
checks by using the Prerequisite Scanner collectors.
6. If the actual operating system is supported, the Scanner checks the prerequisite
properties in the configuration file that is associated with the product code and product version.
The Scanner checks the actual operating system against the expected supported operating system in the section titles in the configuration file, whose file name contains the same product code and the product version as the input parameters. If the optional product version parameter was not passed, the Scanner uses the latest version of the configuration file that it finds in the ips_root/Windows|UNIX_Linux directory.
7. The Scanner reads the prerequisite properties from the configuration file and
analyzes the actual and expected values of the prerequisite properties for the prerequisite checks. It uses the Prerequisite Scanner evaluators where necessary.
8. The Scanner outputs the results of the scan to the command-line interface,
results text file, and the human-readable log files.
9. The Scanner cleans up and removes temporary files and directories.
New in this release
IBM Prerequisite Scanner Version 1.1.1.10 provides new prerequisite properties and enhancements. It also contains fixes for defects.
New features in this modification
New configuration files in this modification
Table 9. New configuration files
Product or component
IBM Tivoli zEnterprise Agent
IBM Tivoli Netcool Manager
IBM Tivoli Composite Application Manager Agent for WebSphere MQ File Transfer Edition
New prerequisite properties in this modification
Enhancements in this modification
None
Table 9 outlines the new configuration files and product codes shipped with Prerequisite Scanner Version 1.1.1.10.
Product code Configuration file
Monitoring
®
Performance
KZE ips_root/Windows|UNIX_Linux/KZE_06020300.cfg
GYM ips_root/UNIX_Linux/GYM_01030200.cfg
KM6 ips_root/Windows/KM6_07010000.cfg
None
Ability to specify the location of the output files.
Chapter 1. Prerequisite Scanner overview 33
Page 44
outputDir is a new input parameter for the Prerequisite Scanner script in Prerequisite Scanner Version 1.1.1.10. You can use it to specify the directory that will contain the scan results and log files when you run the Scanner, as specified by ips_output_dir . If you do not set this parameter, the default output location is ips_root.
You can also use the parameter to specify a location, if you choose to run Prerequisite Scanner from a CD, DVD, or a read-only network drive. See “prereq_checker” on page 59.
Important: If the output directory does not exist, Prerequisite Scanner creates the directory. You must have write permissions to create or write to the output directory in which Prerequisite Scanner saves the files.
Table 10 outlines the product script files that have been updated to use the outputDir parameter. The Windows batch files set the output directory to %TEMP%\prs, and the UNIX script files set the output directory to /tmp/prs.
Table 10. Modified product script files
Product Script names
Tivoli Asset Discovery for Distributed TAD.bat|TAD.sh
Tivoli License Compliance Manager LCM.bat|LCM.sh
Tivoli Common Reporting TCR.bat|TCR.sh
Ability to determine success or failure of a scan based on return codes. Prerequisite Scanner generates returns codes dependent on the results of the scan and whether it must exit because of errors. See “Return codes” on page 72.
Deprecated features in this modification
None
Defects fixed with this modification
Table 11 outlines the defects fixed in this modification.
Table 11. Defects fixed in this release
Defect number Description
22583 On Windows platforms only: When running Prerequisite Scanner to
simultaneously check for the prerequisites of one or many products or components, it incorrectly outputs FAIL Not Found for the actual results of some prerequisite properties.
This defect has been resolved by modifying the Windows collectors’ subroutine.
24387 Resolved incorrect format documented for os.space.dir_name prerequisite
property. The change applies to the newly derived os.space.dir_name_non_root and os.space.dir_name_root prerequisite properties. See “Operating system data properties” on page 93.
34 Prerequisite Scanner: User's Guide
Page 45
Table 11. Defects fixed in this release (continued)
Defect number Description
24497 Checking the os.space.dir_name prerequisite property for both root and
non-root users in the same configuration file does not return a valid result.
This defect has been resolved by creating variants of this property to support checks for both root and non-root users in the same configuration file as follows:
v os.space.dir_name_nonroot to check the available disk space for the dir_name
file system of the non-root user
v os.space.dir_name_root to check the available disk space for the dir_name file
system of the root user
See “Operating system data properties” on page 93.
24793 On UNIX platforms only: Prerequisite Scanner incorrectly displays 0MBin the
Expected Result value for os.space.dir_name or Memory prerequisite properties in the TOTAL ALL SPECIFIED COMPONENTS section of the output, even if these prerequisite properties do not exist in the configuration file.
This defect has been resolved by Prerequisite Scanner displayingN/A (non applicable) in the TOTAL ALL SPECIFIED COMPONENTS section, if the prerequisite property does not exist in the configuration file. See Output formats.
24794 On Windows platforms only: Prerequisite Scanner incorrectly displays 0MBin
the Expected Result value for os.space.dir_name or Memory prerequisite properties in the ALL COMPONENTS section of the output, even if these prerequisite properties do not exist in the configuration file.
24730, 25024, 25219, and 25229
24761, 25233
This defect has been resolved by Prerequisite Scanner displayingN/A (non applicable) in the ALL COMPONENTS section, if the prerequisite property does not exist in the configuration file. See Output formats.
Checking various prerequisite properties as a root or non-root user on UNIX platforms did not return valid results, because Prerequisite Scanner was not able to access commands that should be available to the tool on the target system.
This set of defects refer to requirements for the target system, which have been documented as tool prerequisites. See Prerequisites.
Checking the os.package.SUNWgnome prerequisite properties did not return valid results on Solaris platforms.
This defect has been resolved by modifying the os.package UNIX collector. The IBM Tivoli Provisioning Manager configuration file was also updated to support this fix.
Chapter 1. Prerequisite Scanner overview 35
Page 46
36 Prerequisite Scanner: User's Guide
Page 47
Chapter 2. Installing Prerequisite Scanner
There is no installation program for IBM Prerequisite Scanner. When you extract the contents of the compressed file, the core files are in the root directory, with the following subdirectories: /lib for the collectors and common scripts; /Windows for the evaluators and configuration files on Windows; /UNIX_Linux for the evaluators and configuration files on UNIX platforms; and /licenses for the license files.
Prerequisites
IBM Prerequisite Scanner can run on Windows systems, Windows XP or above, 32-bit, or 64-bit. It can also run on variants of AIX, HP-UX, Linux, and Solaris operating systems.
Ensure that you have the following utilities installed or available in the target environments:
Target system Prerequisites
Windows The Telnet client is enabled, so that the
connectivity checks in the predefined Connectivity collector can function correctly.
UNIX
v Bash is installed, so that the Prerequisite
Scanner UNIX collectors can function correctly.
v For non-root users, the location of the
mount, swapinfo , and psrinfo commands must be set in the PATH environment variable, so that the commands are available to Prerequisite Scanner. The commands are in the /usr/sbin directory; for example, set the PATH environment variable as follows:
export PATH=$PATH:/usr/sbin/
v Ensure the correct access permissions are
assigned to the lscfg command, including any specific permissions that are set by the access-right flags such as setuid bit. The correct access permissions mean that Prerequisite Scanner can run the command and retrieve system information. The command is in the
/usr/sbin directory; for example to set the setuid bit for lscfg,runchmod command
as follows:
chmod 4777 /usr/sbin/lscfg
Prerequisite Scanner supports all hardware and operating systems of the specified product or IBM solution for which you are running Prerequisite Scanner.
© Copyright IBM Corp. 2009, 2012 37
Page 48
Installing the compressed file
You can extract the contents of the compressed file for IBM Prerequisite Scanner. You must have write permissions to the root directory in which you extract the contents of the compressed file.
Procedure
1. Open your web browser and enter the URL to IBM Fix Central. Ensure that
you sign into IBM.com or IBM Support Portal.
2. From the Product Group list, select Tivoli.
3. From the Product list, select IBM Prerequisite Scanner.
4. From the Installed Version list, select the version that you want to download.
5. From the Platform list, select the platform on which you want to install
Prerequisite Scanner.
6. Click Continue. The Identify Fixes page opens.
7. Use the default option, Browse for fixes, and click Continue.
8. On the Select fixes page, select the package, and click Continue.
9. On the Download option page, select the download option, and click
Download now.
10. Extract the contents of the compressed files to your preferred location as
specified by ips_root.
What to do next
Ensure that you check your product’s installation documentation or Technotes for any additional steps that must be performed before running Prerequisite Scanner. For example, you might need to set the environment variable that indicates to Prerequisite Scanner which components or features are being installed on the target computer and consequently, which prerequisites to check.
Uninstalling Prerequisite Scanner
Remove IBM Prerequisite Scanner if you want to install a newer version, move it to another environment, or it is a version that you no longer need.
Procedure
1. Open the ips_root directory.
2. Delete the directory and its contents.
38 Prerequisite Scanner: User's Guide
Page 49
Chapter 3. Extending Prerequisite Scanner
IBM Prerequisite Scanner provides a basic set of collectors, evaluators, and configurations that you can use to run the tool and scan for prerequisites. If the basic set of files, the prerequisite properties and values, and the prerequisite checks do not meet your requirements, you can extend Prerequisite Scanner.
Before you run Prerequisite Scanner
Before running IBM Prerequisite Scanner, determine whether the predefined prerequisite properties, their expected values, and configuration files meet your requirements for prerequisite scanning. If any of them do not meet your needs, you can perform a set of prerequisite tasks to configure or extend Prerequisite Scanner. The set of prerequisite checks and tasks is dependent upon the platform and the number of prerequisite checks.
Required checks and extension tasks for Windows systems
You should perform a set of checks and tasks before you run the IBM Prerequisite Scanner. These checks determine whether you can edit and use existing configuration files or you must extend Prerequisite Scanner.
Table 12 provides a list of checks and tasks to perform.
Table 12. Checks and tasks before using a configuration file for Windows systems
Check Task
h Check whether the product, its supported operating
systems, and versions of the operating system are listed in the codename.cfg file.
h Check whether a configuration file exists for the
product code associated with the product version.
h Open the configuration file and check whether it
contains the correct prerequisite properties.
h Check whether the prerequisite properties have the
expected values.
v If yes, perform the next check.
v If no, add a product code for the product,
individual operating system and the optional operating system version to the file. For more information, see “Adding product codes” on page
41.
v If yes, perform the next check.
v If no, create a configuration file to contain the
prerequisite properties for that operating system and version of the operating system. For more information, see “Creating custom configuration files” on page 41.
v If yes, perform the next check.
v If no, add prerequisite properties. For more
information, see “Adding prerequisite properties” on page 43.
v If yes, run the Prerequisite Scanner. For more
information, see Chapter 4, “Running Prerequisite Scanner,” on page 59.
v If no, edit the prerequisite properties. For more
information, see “Editing prerequisite properties” on page 45.
© Copyright IBM Corp. 2009, 2012 39
Page 50
Table 12. Checks and tasks before using a configuration file for Windows systems (continued)
Check Task
h For any new prerequisite properties, check whether
predefined collectors can collect the actual values for the prerequisite properties.
h For any new or edited prerequisite properties, check
whether predefined evaluators can compare the expected and actual values for the prerequisite property.
h Ensure all files have been saved in the correct
directories:
v Configuration files, any custom product-specific
collectors and associated batch files, and any custom evaluator files in the ips_root/Windows directory
v Custom common collectors in the ips_root/lib
directory
v If yes, perform the next check.
v If no, create custom collectors. For more
information, see “Creating custom collectors for Windows systems” on page 46.
v If yes, perform the next check.
v If no, create custom evaluators. For more
information, see “Creating custom evaluators for Windows systems” on page 53.
Run the Prerequisite Scanner. For more information, see Chapter 4, “Running Prerequisite Scanner,” on page 59.
Required checks and extension tasks for UNIX systems
You should perform a set of prerequisite checks and tasks before you run the IBM Prerequisite Scanner. These checks determine whether you can edit and use existing configuration files or you must extend Prerequisite Scanner.
Table 13 provides a list of required checks and tasks to perform.
Table 13. Checks and tasks before using a configuration file for UNIX systems
Check Task
h Check whether the product is listed in the
codename.cfg file.
h Check whether a configuration file exists for the
product code associated with the product.
h Open the configuration file and check whether it
contains the correct prerequisite properties.
h Check whether the prerequisite properties have the
expected values.
v If yes, perform the next check. v If no, add a product code to the codename.cfg file.
For more information, see “Adding product codes” on page 41.
v If yes, perform the next check.
v If no, create a configuration file to contain the
prerequisite properties for all supported platforms of the product. For more information, see “Creating custom configuration files” on page 41.
v If yes, perform the next check.
v If no, add prerequisite properties. For more
information, see “Adding prerequisite properties” on page 43.
v If yes, run the Prerequisite Scanner. For more
information, see Chapter 4, “Running Prerequisite Scanner,” on page 59.
v If no, edit the prerequisite properties. For more
information, see “Editing prerequisite properties” on page 45.
40 Prerequisite Scanner: User's Guide
Page 51
Table 13. Checks and tasks before using a configuration file for UNIX systems (continued)
Check Task
h For any new prerequisite properties, check whether
predefined collectors can collect the actual values for the prerequisite properties.
h For any new or edited prerequisite properties, check
whether evaluators can compare the expected and actual values for the prerequisite property.
h For any new or edited prerequisite properties, check
whether the code to call and run the collectors is in the ips_root/UNIX_Linux/packageTest.sh script.
h Ensure all files have been saved in the correct
directories:
v Configuration files, any custom collectors files, and
any custom evaluator files in the ips_root/UNIX_Linux directory
v If yes, perform the next check.
v If no, create custom collectors. For more
information, see “Creating custom collectors for UNIX systems” on page 50.
v If yes, perform the next check.
v If no, create custom evaluators. For more
information, see “Creating custom evaluators for UNIX systems” on page 57.
v If yes, perform the next check.
v If no, edit the master package test script. For more
information, see “Editing the package test script for UNIX systems” on page 51.
Run the Prerequisite Scanner. For more information, see Chapter 4, “Running Prerequisite Scanner,” on page 59.
Adding product codes
IBM Prerequisite Scanner provides a set of predefined product version codes in the codename.cfg file. You can add product codes if the file does not contain them for the product version, its supported platforms, and versions of the operating systems.
Procedure
1. Open the ips_root/codename.cfg file.
2. Check whether the file already contains name value pairs for the product
versions.
3. If product code does not exist, add one and ensure that you use the correct
format as follows:
product_code=code_value
Restriction: IBM Tivoli Monitoring and Tivoli Composite Application Manager have predefined product codes that Prerequisite Scanner considers as reserved. These codes must not be used as Prerequisite Scanner product codes unless they refer to their associated IBM Tivoli Monitoring and Tivoli Composite Application Manager agents. For more information about the product codes, see the ITM 6.X Product Codes Technote.
For example, to add a product code for IBM Tivoli Monitoring for Energy Management on all Windows platforms, add the following line to the file:
MEA=IBM Tivoli Monitoring for Energy Management
Creating custom configuration files
You can create custom configuration files from the sample configuration file if the predefined configuration files do not meet your requirements for prerequisite properties. Before you create the custom configuration file, ensure that you know the prerequisite properties that you want to add and their expected values.
Chapter 3. Extending Prerequisite Scanner 41
Page 52
About this task
Important: You must adhere to the naming conventions and formatting rules that govern the creation and editing of a custom configuration file. If you do not, Prerequisite Scanner cannot successfully run a scan by using this file.
Procedure
1. If necessary add product codes for the product to the codename.cfg file.
2. Create the configuration file by using a text editor in the ips_root/OS directory.
Ensure that you use the following naming convention for the file name:
product_code_version.cfg
where:
v product_code
It is the variable to represent a product code on either Windows or UNIX systems. Product codes identify the product, an individual platform such as Windows, AIX, HP-UX, Linux, and Solaris, and optionally the version of the operating system that is supported by that product. They are stored in the codename.cfg file. Any product that supports multiple platforms has multiple product codes, with each one identifying a product, platform, and version of the operating system as required.
v version is the 8-digit code to represent the version, release, modification, and
level, with two digits for each part of the code; for example, 7.3.21 is
07032100.
3. Review the basic prerequisite properties outlined in Appendix C, “Prerequisite
properties reference,” on page 83 and determine which prerequisite properties that you want to check.
4. Optional: Add a section and ensure that you use the following naming
convention for the section title:
v Single, predefined data-type category
[category_name:category_value]
For example, to create a section for prerequisite properties common to all Windows platforms, add the following section title:
[OSType:Windows]
For example, to create a section for prerequisite properties common to all RedHat Linux OS variants, add the following section title:
[OSType:RedHat]
v Combined, predefined data-type categories
[category_name:category_value] [category_name:category_value]
For example, to create a section for prerequisite properties for Windows Server 2003 variants excluding Windows Server 2003 R2 variant, add the following combination section title:
[OSType:Windows Server 2003][!OSType:Windows Server 2003 R2]
For example, create a section for prerequisite properties for SUSE Linux Enterprise Server 11 OS and whether the environment variable
@TPAE_DB_SERVER is set to true. Add the following combination section title:
[OSType=SUSELinuxEnterpriseServer][@TPAE_DB_SERVER:true]
where:
42 Prerequisite Scanner: User's Guide
Page 53
category_name is the multicharacter code that represents the data type category as outlined in Table 6 on page 15
category_value is the multicharacter code that represents an allowed value for the category as outlined in Table 6 on page 15
5. Optional: For each section, review the basic prerequisite properties outlined in
Appendix C, “Prerequisite properties reference,” on page 83 and determine which prerequisite properties that you want to check.
6. For each prerequisite property that you want to add, enter a name value pair
with optional qualifiers as required. Ensure that you use the following format, with only one prerequisite property on each line:
[prefix_identifier.]property_name[.suffix_identifier]= [qualifier_name:qualifier_value]property_value
where:
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required by some of the predefined categories.
v property_name is the name of the prerequisite property.
v suffix_identifier is an optional identifier for a subtype of prerequisite
properties as outlined in Table 4 on page 6.
v qualifier_name is an optional attribute for the prerequisite property. IBM
Prerequisite Scanner uses it to qualify the prerequisite property or type of check to perform on the prerequisite property, as outlined in “Predefined qualifiers for prerequisite properties” on page 8.
Note: You can have multiple qualifiers, each separated by a comma. The set of qualifiers must be enclosed by [] square brackets.
v qualifier_value is the value for the optional attribute. Each qualifier and its
value must be delimited by a : colon.
v property_value is the value for the prerequisite property and it can be a string
or integer.
For example, the user predefined category of prerequisite properties has the user prefix identifier. The prerequisite property for checking whether the logged on user belongs to the Administrator user group is:
user.isAdmin=True
7. If a prerequisite property does not exist in the predefined categories, add the
name for the custom prerequisite property, its value, and optional qualifiers. You must then create the following files to check for and compare the custom prerequisite property as required: a custom collector to collect the actual value for the prerequisite property and a custom evaluator if the standard compare functions cannot compare the actual and expected values.
Adding prerequisite properties
You can add basic prerequisite properties from the predefined categories for prerequisite properties to configuration files. Alternatively, you can add custom prerequisite properties.
About this task
Important: You must adhere to the formatting rules that govern the addition and editing of prerequisite properties to a configuration file. If you do not, Prerequisite Scanner cannot successfully run a scan for that prerequisite property.
Chapter 3. Extending Prerequisite Scanner 43
Page 54
Procedure
1. Open the configuration file.
2. Review the basic prerequisite properties outlined in Appendix C, “Prerequisite
properties reference,” on page 83 and determine which prerequisite properties that you want to check.
3. For each prerequisite property that you want to add, enter a name value pair
with optional qualifiers as required.
For example, to add prerequisite properties from the common predefined category, enter the property name and expected value only. Add the following prerequisite properties to the file:
Disk=1GB OS Version=regex{Windows 200[3-8]}
For example, the network predefined category of prerequisite properties has the network prefix identifier and the prerequisite property name for checking available ports is availablePorts . You can further categorize the available ports by application subtypes, DB2 for DB2 database server, WAS for WebSphere Application Server, FTP for FTP protocol. Add the following prerequisite properties to the file:
network.availablePorts.DB2=5000-5005 network.availablePorts.WAS=9080 network.availablePorts.FTP=21
For example, the operating system predefined category of prerequisite properties has the os prefix identifier and the prerequisite property name for checking available disk space for file systems is space. You can further categorize the check by file system subtypes, usr and home. You can specify values for the dir and unit qualifiers.
Add the following prerequisite properties to the file:
os.space.usr=[dir:root=/usr/ibm/common/acsi,unit:GB]2 os.space.home=[dir:non_root=USERHOME/.acsi_HOST,unit:MB]200
Important: You can use the predefined qualifiers only with specific predefined prerequisite properties, as outlined in Table 5 on page 9.
4. If a prerequisite property does not exist in the predefined categories of
prerequisite properties, add the name value pair with optional qualifier for the custom prerequisite property and value. Ensure that you use the following format, with only prerequisite property on each line.
[prefix_identifier.]property_name[.suffix_identifier]= [[qualifier_name:qualifier_value]]property_value
where:
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required by some of the predefined categories.
v property_name is the name of the prerequisite property.
v suffix_identifier is an optional identifier for a subtype of prerequisite
properties as outlined in Table 4 on page 6.
v qualifier_name is an optional attribute for the prerequisite property. IBM
Prerequisite Scanner uses it to qualify the prerequisite property or type of check to perform on the prerequisite property, as outlined in “Predefined qualifiers for prerequisite properties” on page 8.
Note: You can have multiple qualifiers, each separated by a comma. The set of qualifiers must be enclosed by [] square brackets.
44 Prerequisite Scanner: User's Guide
Page 55
v qualifier_value is the value for the optional attribute. Each qualifier and its
value must be delimited by a : colon.
v property_value is the value for the prerequisite property and it can be a string
or integer.
For example, env.tcrhome is a custom prerequisite property that checks the home directory environment variable for Tivoli Common Reporting, and the expected value should be True:
env.tcrhome=True
env.path.jar is a custom prerequisite property that checks whether the JRE is set in the PATH environment variable, and the expected value should be False:
env.path.jar=False
Note: You must then create the following files to check for and compare the custom prerequisite property as required: a custom collector to collect the actual value for the prerequisite property and a custom evaluator only if the standard compare functions cannot compare the actual and expected values.
Editing prerequisite properties
You can edit prerequisite properties, change the expected values for those prerequisite properties, or change the associated values of the qualifiers.
Before you begin
Check whether the new value is a valid value that is supported by the prerequisite property. For example, the Disk prerequisite property expects a numeric format with either the MB or GB unit. If you want to check the available disk space in terabytes (TB), you must extend the compare API to support TB comparisons. You must also edit the Disk prerequisite property in the relevant configuration files.
Check the predefined qualifiers and valid values for the prerequisite property, as outlined in “Predefined qualifiers for prerequisite properties” on page 8.
Procedure
1. Open the configuration file.
2. For each prerequisite property that you want to edit, enter the new expected
value or change the value for the qualifier. For example, a new system administrator is the root user, so the value for the user.userID prerequisite property must change. Change the value to the new name:
user.userID=smithj
For example, the type qualifier for the os.ulimit prerequisite property currently has a value of filedescriptorlimit to check the limit for the file descriptors. You might want to check another limit such as the stack size. Change the following qualifier's value for the prerequisite property from:
os.ulimit=[type:filedescriptorlimit]8192+,unlimited
to:
os.ulimit=[type:stacksizelimit]512+,unlimited
Important: You can use the predefined qualifiers only with specific predefined prerequisite properties, as outlined in Table 5 on page 9.
Chapter 3. Extending Prerequisite Scanner 45
Page 56
Creating custom collectors for Windows systems
You can create custom connectors if the basic set collectors do not collect values for the prerequisite properties required for the product to be installed. You can create custom common VBScript collectors to collect data for prerequisite properties that apply to any product and product version. Alternatively, you can create custom product-specific ones to collect data that apply to a specific product and product version. While each type of custom VBScript collector collects data by using the same methods, the rules for creation, storage, and execution are slightly different.
Creating custom VBScript collectors common to all configuration files
When you create custom common VBScript collectors, the file name must contain the name of the prerequisite property and stored in the /lib subdirectory. The collector contains code to obtain the actual value for a prerequisite property. It can also use the common functions and sub routines to obtain the value if required.
Before you begin
Ensure that you review the set of predefined functions and sub routines in the following appendixes before you create the collectors. Determine whether you can use any of them to obtain the actual values:
v Appendix E, “Common functions for Windows systems,” on page 113
v Appendix G, “File utility sub routines for Windows systems,” on page 129
v Appendix F, “Logging utility sub routines for Windows systems,” on page 127
v Appendix H, “Other common functions and sub routines for Windows systems,”
on page 131
Determine whether the collector must check that the prerequisite property exists and if it does, what other information must be gathered. Each check must return a value, whether one exists or not. For example:
v Check whether an environment variable exists, such as the home directory of a
product, for example TCR_HOME for Tivoli Common Reporting.
v Check whether the environment variable contains a JAR file, binary, or path,
such as the path to the JRE in the PATH environment variable.
v Check the actual value of an environment variable, such as the home directory
of a product, for example TCR_HOME for Tivoli Common Reporting.
v Check whether a product is installed.
v Check what version of the product is installed.
Procedure
1. Create a VBScript file. Save the file in the ips_root/lib directory, with a variant
of the following file naming convention:
[prefix_identifier.]property_name.vbs
where:
v prefix_identifier is the prefix identifier for a predefined category of
prerequisite properties as outlined in Table 3 on page 4.
v property_name is the prerequisite property name and is used in the collector
name.
46 Prerequisite Scanner: User's Guide
Page 57
For example, mssqlVersion.vbs contains the code to obtain the actual value for the MS SQL server prerequisite property on the Windows machine.
2. Using a VBScript editor, add the code to obtain the value for the prerequisite
property. Use VBScript COM and functions to access elements of the Windows environment and run in the Windows Script Host environment. Ensure the check returns standard output as follows:
WScript.Echo "property_name=" & var_for_value
v property_name that represents the prerequisite property as written in the
configuration file, for example, env.tcrhome.
v var_for_value, that is, the VBScript variable for the actual value that the
collector obtains for the prerequisite property.
To check whether the TCR_HOME environment exists and return the actual value, where the prerequisite property name is env.tcrhome:
set wshShell = WScript.CreateObject("WScript.Shell") tcr_home=WshShell.ExpandEnvironmentStrings("%TCR_HOME%") WScript.Echo "env.tcrhome=" & tcr_home
To check whether the JRE is set in the PATH variable, where the prerequisite property name is env.path.jre:
Set wshShell = WScript.CreateObject("WScript.Shell") path = WshShell.ExpandEnvironmentStrings("%PATH%") Set objRegEx = new RegExp objRegEx.Pattern = "(^|([:;\\/]))(C:\Program Files\IBM\Java60\jre\bin)($|[:;])" objRegEx.IgnoreCase = True objRegEx.Global = True Set matches = objRegEx.Execute(path) WScript.Echo "env.path.jre=" & (matches.Count > 0)
To check the version of Tivoli Directory Integrator installed, where the prerequisite property name is installedSoftware.TDI.version:
strComputer = "." strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" regDisName = "DisplayName" regDisVer = "DisplayVersion"
Set oReg = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" &
Set sftReg = new RegExp sftReg.pattern = "Tivoli Directory Integrator" sftReg.Global=False oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys For Each subkey In arrSubKeys
Next
strComputer & "\root\default:StdRegProv")
searchkey = strKeyPath & "\" & subkey oReg.GetStringValue HKEY_LOCAL_MACHINE, searchkey, regDisName, strName oReg.GetStringValue HKEY_LOCAL_MACHINE, searchkey, regDisVer, strVersion If Not IsNull(strName) Then
Set matches = sftReg.Execute(strName) If matches.Count > 0 Then
Wscript.Echo "installedSoftware.TDI.version=" & strVersion
End If
End If
3. Run the VBScript collector to ensure that there are no runtime errors and debug
as necessary.
4. Create a custom evaluator only if the standard compare functions cannot
compare the actual and expected values.
Chapter 3. Extending Prerequisite Scanner 47
Page 58
Creating custom VBScript collectors specific to a product and product version
When you create custom product-specific VBScript collectors, the file name must be the same product code as the configuration file and stored in the/Windows subdirectory. The collector can contain code to gather actual values for one or many prerequisite properties. It can also use the common functions and sub routines to gather those values if required.
Before you begin
Ensure that you review the set of functions and sub routines in the following appendixes before you create the collectors. Determine whether you can use any of them to obtain the actual values:
v Appendix E, “Common functions for Windows systems,” on page 113
v Appendix G, “File utility sub routines for Windows systems,” on page 129
v Appendix F, “Logging utility sub routines for Windows systems,” on page 127
v Appendix H, “Other common functions and sub routines for Windows systems,”
on page 131
Determine whether the collector must check that the prerequisite property exists and if it does, what other information must be gathered. Each check must return a value, whether one exists. For example:
v Check whether the directory exists.
v Check the available disk space for a directory.
v Check whether a product is installed.
v Check what version of the product is installed.
Procedure
1. Create a VBScript file. Save the file in the ips_root/Windows directory, with a
variant of the following file naming convention:
product_code[_version].vbs
where:
v product_code
It is the variable to represent a product code on either Windows or UNIX systems. Product codes identify the product, an individual platform such as Windows, AIX, HP-UX, Linux, and Solaris, and optionally the version of the operating system that is supported by that product. They are stored in the codename.cfg file. Any product that supports multiple platforms has multiple product codes, with each one identifying a product, platform, and version of the operating system as required.
v version is the 8-digit code to represent the version, release, modification, and
level, with two digits for each part of the code; for example, 7.3.21 is
07032100.
2. Using a VBScript editor, open the file and include the path to the
common_function.vbs if you must use common functions, as follows:
Include("..\lib\common_function.vbs")
3. If you must use the values of the PATH and -p flag passed from the Prerequisite Scanner, then use Wscript.Arguments() where Wscript.Arguments(0) is the value for PATH. Wscript.Arguments(1) is the -p flag and its values.
48 Prerequisite Scanner: User's Guide
Page 59
4. Add the code to obtain the value for the prerequisite property by using
VBScript COM and functions to access elements of the Windows environment. Run in the Windows Script Host environment. Ensure the check returns standard output as follows:
WScript.Echo "property_name=" & var_for_value
v property_name that represents the prerequisite property as written in the
configuration file, for example, env.tcrhome.
v var_for_value, that is, the VBScript variable for the actual value that the
collector obtains for the prerequisite property.
To check the available disk space for the installation directory for a product. For example, to check for Tivoli Monitoring for Energy Management Reporting and Optimization by using the “getValue()” on page 132 sub routine, where the prerequisite property is InstallDir:
Set wshShell = WScript.CreateObject("WScript.Shell")
’Check the disk space for the installation path that is passed as
the value for the PATH argument
installPath = Wscript.Arguments(0) sInstallPath= "InstallDir=" Wscript.Echo "installation path : " & installPath set fso = CreateObject("Scripting.FileSystemObject")
getValue fso, sInstallPath, installPath
’Common sub routine
Sub getValue(fso, sKey, drvPath)
Wscript.Echo "getValue(" & skey & "," & drvPath & ")"
If fso.driveExists(fso.getDriveName(drvPath)) then
Set disk = fso.GetDrive(fso.getDriveName(drvPath))
’Value returned is in bytes. Convert to MB cSize = CLng((disk.FreeSpace/1024)/1024) & "MB" WScript.Echo sKey & cSize
Else
Wscript.Echo " Disk for " & sKey & " -> " & drvPath & " does NOT exist"
End If
End Sub
5. Run the VBScript collector to ensure that there are no runtime errors and debug
as necessary.
6. Create a batch file to call the VBScript collector. The batch file must have the
same name as the configuration file and a .bat extension,
product_code[_version].bat, as follows:
@echo off
set CMD_LINE_ARGS= :setArgs if ""%1""=="""" goto doneSetArgs set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 shift goto setArgs :doneSetArgs
cscript.exe //nologo collector_file_name.vbs %CMD_LINE_ARGS%
7. Create a custom evaluator only if the standard compare functions cannot
compare the actual and expected values.
Chapter 3. Extending Prerequisite Scanner 49
Page 60
Creating custom collectors for UNIX systems
You can create custom connectors if the basic set collectors do not collect values for the prerequisite properties required for the product to be installed. When you create custom collectors, the file name must be the same as the prerequisite property though without the subtype in its name. The collector is stored in the/UNIX_Linux subdirectory. The collector can contain code to obtain actual values for one or many prerequisite properties. It can also use the common functions to obtain those values if required.
Before you begin
Ensure that you review the set of functions in the following appendixes before you create the collectors. Determine whether you can use any of them to obtain the actual values:
v Appendix I, “Common functions for UNIX systems,” on page 135
v Appendix J, “Other functions for UNIX systems,” on page 141
v Appendix K, “Logging utility functions for UNIX systems,” on page 149
Determine whether the collector must check that the prerequisite property exists and if it does, what other information must be gathered. Each check must return a value, whether one exists. For example:
v Check whether a product is installed, for example, a package installed with
RPM.
v Check what version of the product is installed.
v Check whether the available disk space for a mounted file system
If you want to use subtypes, suffix_identifier, and further categorize a prerequisite property by application, utility, or service subtype, you can create a common collector. Pass the differentiator for the suffix_identifier subtype, that is, differentiator_suffix_identifier to its collector. For example, os.package is the common collector to check for the existence of packages. To check for the existence of openssh, pass the name of the package when invoking the os.package collector in the packageTest.sh script file, as follows:
./os.package openssh
Where openssh is the name of the package, that is, the suffix_identifier subtype and the differentiator_suffix_identifier differentiator.
Procedure
1. Create a shell script file. Save the file in the ips_root/Unix_Linux directory, with a variant of the following file naming convention but without a file extension:
[prefix_identifier.]property_name
where:
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required by some of the predefined categories, for example, env.
v property_name is the name of the prerequisite property, for example, path.jre
2. Using an editor, open the file and include the path to the common_function.sh if you must use common functions, as follows:
. ../lib/common_function.sh
50 Prerequisite Scanner: User's Guide
Page 61
3. Add the code to obtain the value for the prerequisite property by using
commands and options specific to that platform to access elements of the host environment. For example, the custom env.path.jar prerequisite property needs to check whether the JRE is set in the PATH variable. The following code runs the env command, searches the output for PATH variable, and then searches its value for the JRE path.
envJRE=`env | grep "PATH" | grep -w "/opt/IBM/Java60/jre/bin"`
4. Ensure the check returns standard output:
echo "True"|"False" ’If the scan checks for the existence of the prerequisite
property
echo $res ’If the scan checks returns the value, for example, product version,
echo "Unavailable" ’If the scan returns no value for the prerequisite property echo "Available" ’If the scan returns a valid check for the prerequisite property
’of the prerequisite property
In the example, based on the value of the $envJRE variable, the check either returns True or False:
if [ $envJRE ]; then
echo "True"
else
echo "False"
fi
5. Run the custom collector to ensure that there are no runtime errors and debug
as necessary.
6. Edit the ips_root/UNIX_Linux/packageTest.sh script to call and run the custom
collector.
7. Create a custom evaluator only if the custom collector returns values other than
boolean values.
Editing the package test script for UNIX systems
You can update the packageTest.sh script file to call custom collectors on UNIX systems.
Before you begin
Ensure that you know the names of the collectors associated with predefined prerequisite properties, as outlined in Appendix D, “Predefined collectors for UNIX systems,” on page 107. If the prerequisite property is further categorized by application, utility, or service subtype, pass the differentiator for the suffix_identifier subtype, that is, differentiator_suffix_identifier to its collector.
For example, os.package is the common collector to check for the existence of packages. To check for the existence of openssh, pass the name of the package when invoking the os.package collector in the packageTest.sh script file, as follows:
./os.package openssh
Where openssh is the name of the package, that is, the suffix_identifier subtype and differentiator_suffix_identifier differentiator.
Procedure
1. Using an editor, open the ips_root/UNIX_Linux/packageTest.sh script.
2. Add the code to read the custom prerequisite property from the configuration
file and parse its value.
Chapter 3. Extending Prerequisite Scanner 51
Page 62
res=`echo $line | grep [prefix_identifier.]property_name[.suffix_identifier]` if [ $res ]; then ExpValue=`echo $res | cut -d "=" -f2`
For example, to read the custom env.path.jar prerequisite property and check whether the JRE is set in the PATH variable:
res=`echo $line | grep env.path.jar` if [ $res ]; then ExpValue=`echo $res | cut -d "=" -f2`
In the example:
echo "\`wrlTrace "Starting" "env.path.jar"\`" >>/tmp/prs.check echo "\`wrlTrace "Executing" "env.path.jar"\`" >>/tmp/prs.check echo "\`wrlDebug "Starting" "env.path.jar"\`" >>/tmp/prs.check echo "\`wrlDebug "Expected" "ExpValue" \`" >>/tmp/prs.check
3. Call logging functions for trace and debug data before calling the custom collector.
echo "\`wrlTrace "Starting" "[prefix_identifier.]property_name
[.suffix_identifier]"\`" >>/tmp/prs.check
echo "\`wrlTrace "Executing" "[prefix_identifier.]property_name
[.suffix_identifier]"\`" >>/tmp/prs.check
echo "\`wrlDebug "Starting" "[prefix_identifier.]property_name
[.suffix_identifier]"\`" >>/tmp/prs.check
echo "\`wrlDebug "Expected" "ExpValue" \`" >>/tmp/prs.check
4. Call the custom collector.
Note: If the custom collector has subtypes, that is, [suffix_identifier] in the file name and needs additional checks based on subtype, pass the [differentiator_suffix_identifier] differentiator for the subtype to the custom collector.
echo "ss=\`./[prefix_identifier.]property_name[.suffix_identifier ] [differentiator_suffix_identifier]\`" >>/tmp/prs.check
In the example:
echo "ss=\`./env.path.jar\`" >>/tmp/prs.check
Note: Examples of differentiators for the script_name subtype for the
os.file.script_name prerequisite properties are the paths to the scripts that are passed to the os.filepath collector:
echo "ss=\`./os.filepath /usr/bin/expect\`" >>/tmp/prs.check #os.file.expect echo "ss=\`./os.filepath /usr/bin/tar\`" >>/tmp/prs.check #os.file.tar echo "ss=\`./os.filepath /usr/bin/gzip\`" >>/tmp/prs.check #os.file.gzip
5. Call the logging functions for trace and debug data upon exiting the custom collector.
echo "\`wrlTrace "Finished" "[prefix_identifier.]property_name
[.suffix_identifier]"\`" >/tmp/prs.check
echo "echo \"[prefix_identifier.]property_name
[.suffix_identifier]=\$ss\"" >>/tmp/prs.check
echo "\`wrlDebug "Finished" "[prefix_identifier.]property_name
[.suffix_identifier]"\`" >>/tmp/prs.check
echo "\`wrlDebug "OutPutValueIs" \$ss\`" >/tmp/prs.check echo "\`wrlTrace "Done" "[prefix_identifier.]property_name
[.suffix_identifier]"\`" >>/tmp/prs.check fi
In the example:
echo "ss=\`./env.path.jar\`" >>/tmp/prs.check echo "\`wrlTrace "Finished" "env.path.jar"\`" >>/tmp/prs.check echo "echo \"env.path.jar=\$ss\"" >>/tmp/prs.check
52 Prerequisite Scanner: User's Guide
Page 63
echo "\`wrlDebug "Finished" "env.path.jar"\`" >>/tmp/prs.check echo "\`wrlDebug "OutPutValueIs" \$ss\`" >>/tmp/prs.check echo "\`wrlTrace "Done" "env.path.jar"\`" >>/tmp/prs.check
fi
6. Repeat steps 2 to 5 for each custom prerequisite property.
Creating custom evaluators for Windows systems
You can create VBScript evaluators if the basic evaluators do not compare the expected and actual values for the prerequisite properties by using the correct evaluation criteria. When you create custom evaluators, the file name must end with _compare and stored in the /Windows subdirectory. The custom evaluator can use the common functions and sub routines to compare the values if required.
Before you begin
Ensure that you review the set of functions and sub routines in the following appendixes before you create the evaluator. Determine whether you can use any of them to compare the values:
v Appendix E, “Common functions for Windows systems,” on page 113
v Appendix G, “File utility sub routines for Windows systems,” on page 129
v Appendix F, “Logging utility sub routines for Windows systems,” on page 127
v Appendix H, “Other common functions and sub routines for Windows systems,”
on page 131
Note: The common function, “passOrFail()” on page 123, can compare the actual and expected values for the following data types: a generic number; size in MBs or GBs; processor speed in MHz or GHz; boolean value; or a string. Create only a custom evaluator if the passOrFail function cannot be used.
Procedure
1. Create a VBScript file. Save the file in the ips_root/Windows directory, with a
variant of the following file naming convention:
[prefix_identifier.]property_name[.suffix_identifier]_compare.vbs
where:
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required by some of the predefined categories.
v property_name is the name of the prerequisite property.
v suffix_identifier is an optional identifier for a subtype of prerequisite
properties as outlined in Table 4 on page 6.
2. Add the code to compare the actual and expected values that are passed to the
evaluator as arguments by using VBScript COM and associated functions. Ensure the comparison returns standard output as follows:
v "PASS" when the expected value for the prerequisite property is equal to or
greater than the actual value for the prerequisite property
v "FAIL" when the expected value for the prerequisite property does not equal
the actual value for the prerequisite property
3. Run the custom evaluator to ensure that there are no runtime errors and debug
as necessary.
Chapter 3. Extending Prerequisite Scanner 53
Page 64
Example
This custom evaluator checks the actual and expected values for the version of Tivoli Directory Integrator. It uses the common function, “versionCompare()” on page 133.
wscript.echo "expect: " & wscript.arguments(0) wscript.echo "real value: " & wscript.arguments(1) wscript.echo tdiVersionCompare(wscript.arguments(0), wscript.arguments(1))
function tdiVersionCompare(expect, real)
if len(real) = 0 then
tdiVersionCompare = "FAIL" exit function
end if
expect = Trim(expect) real = Trim(real)
Dim expectedVersion ’if (StrComp(Right(expect,1),"+")=0 or StrComp(Right(expect,1),"-")=0) Then if (Right(expect,1)="+" or Right(expect,1)="-") Then
expectedVersion = Left(expect,len(expect)-1)
else
expectedVersion = expect
end if
Dim cmp cmp = versionCompare(expectedVersion,real)
if (StrComp(Right(expect,1),"+")=0) Then
’ Version must be at least expected value if (cmp=0 or cmp=-1) Then
tdiVersionCompare = "PASS"
else
tdiVersionCompare = "FAIL"
end if
elseif (StrComp(Right(expect,1),"-")=0) Then
elseif cmp=0 then
else
end if
end function
’ Generic function for comparing 2 version strings ’ ’ Parameters ’ ver1 The first version string ’ ver2 The second version string ’ ’ ver1 and ver2 are expected to be dot-separated version strings ’(e.g. 1.0.0.4, 2.3, 3.40.26.7800, 2.3.a)Version strings can have any ’ number of parts. When comparing versions with different numbers of ’ parts, missing parts of the shorter version string will be treated ’ as if there was a zero there. If any non-numeric characters are ’ included in a version part, those corresponding parts will be compared ’ asstrings and not parsed into numeric form ’ ’ Returns ’ 1 version1 > version2
’ Version must be less than or equal to expected value if (cmp=0 or cmp=1) Then
tdiVersionCompare = "PASS"
else
tdiVersionCompare = "FAIL"
end if
tdiVersionCompare = "PASS"
tdiVersionCompare = "FAIL"
54 Prerequisite Scanner: User's Guide
Page 65
-1 version1 < version2 ’ 0 version1 = version2 ’ ’ Special cases: ’ RESULT version 1 version 2 ’ 0 empty empty ’ 1 validString empty ’ -1 empty validString ’ ’ NOTE: This function should eventually move to common_functions.vbs
function versionCompare(ver1, ver2)
WScript.echo "Comparing [" & ver1 & "] to [" & ver2 & "]"
Const UNASSIGNED = "*UNASSIGNED*" Dim v1Default, v2Default
’ Handle special cases: if (IsEmpty(ver1) and IsEmpty(ver2)) Then
versionCompare = 0
exit function end if if (IsEmpty(ver1) and not IsEmpty(ver2)) Then
versionCompare = -1
exit function end if if (not IsEmpty(ver1) and IsEmpty(ver2)) Then
versionCompare = 1
exit function end if
Dim ver1Parts, ver2Parts
’ Versions are not empty. Break into parts and compare numbers ver1Parts = Split(ver1,".") ver2Parts = Split(ver2,".")
Dim v1Size, v2Size v1Size = ubound(ver1Parts) v2Size = ubound(ver2Parts)
’ If last version part is "*", treat all missing parts as "*" ’(so 2.* matches 2.1.3, for example) if (v1Size > v2Size) Then
Redim Preserve ver2Parts(v1Size)
if (ver2Parts(v2Size)="*") Then
for i = v2Size to v1Size
ver2Parts(i) = "*"
next
end if elseif (v2Size > v1Size) Then
Redim Preserve ver1Parts(v2Size)
if (ver1Parts(v1Size)="*") Then
for i = v1Size to v2Size
ver1Parts(i) = "*"
next
end if end if
Dim i i=0
Do While (i<=ubound(ver1Parts) or i<=ubound(ver2Parts))
Dim v1, v2, v1Str, v2Str
v1Str = UNASSIGNED
v2Str = UNASSIGNED
Chapter 3. Extending Prerequisite Scanner 55
Page 66
if (i<=ubound(ver1Parts)) Then
on error resume next v1 = Int(ver1Parts(i)) if not Err=0 Then
v1Str = ver1Parts(i) if (i<=ubound(ver2Parts)) Then
v2Str = ver2Parts(i)
else
v2Str = "0"
end if
end if
else
v1=0
end if
if (i<=ubound(ver2Parts)) Then
on error resume next v2 = Int(ver2Parts(i)) if not Err=0 Then
if (i<=ubound(ver1Parts)) Then
v1Str = ver1Parts(i)
else
v1Str = "0" end if v2Str = ver2Parts(i)
end if
else
v2=0
end if
if (not v1Str=UNASSIGNED or not v2Str=UNASSIGNED) Then
if (IsEmpty(v1Str)) Then
v1Str = "0"
end if if (IsEmpty(v2Str)) Then
v2Str = "0"
End if
’WScript.echo "Comparing as strings: " & v1Str &":"& v2Str ’ Compare as Strings if either part could not be converted to a number if (not v1Str="*" and not v2Str="*") Then
if (not v1Str=v2Str) Then
versionCompare = StrComp(v1Str,v2Str)
exit function end if
end if
else
’WScript.echo "Comparing as numbers: " & v1 &":"& v2
if (v1 > v2) Then
versionCompare = 1 exit function
end if if (v2 > v1) Then
versionCompare = -1 exit function
end if
end if
i=i+1
Loop
’ If we got here, versions must be equal versionCompare = 0
end function
56 Prerequisite Scanner: User's Guide
Page 67
Creating custom evaluators for UNIX systems
You can create custom evaluators if the custom collector does not return boolean values, that is, True or False. When you create custom evaluators, the file name must end with _compare and stored in the /UNIX_Linux subdirectory. The custom evaluator can use the common functions to compare the values if required.
Before you begin
Ensure that you review the set of functions in the following appendixes before you create the custom evaluators. Determine whether you can use any of them to compare the actual and expected values:
v Appendix I, “Common functions for UNIX systems,” on page 135
v Appendix J, “Other functions for UNIX systems,” on page 141
v Appendix K, “Logging utility functions for UNIX systems,” on page 149
There are two script files that you can use as a starting point, that is, ._compare.sh and _compare.sh in the /Unix_Linux subdirectory.
Important: Do not create custom evaluators if your custom collectors return True or False. IBM Prerequisite Scanner uses predefined evaluators for any collector that returns boolean values.
Procedure
1. Create a shell file. Save the file in the ips_root/UNIX_Linux directory, with a
variant of the following file naming convention:
[prefix_identifier.]property_name[.suffix_identifier]_compare.sh
where:
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required by some of the predefined categories.
v property_name is the name of the prerequisite property.
v suffix_identifier is an optional identifier for a subtype of prerequisite
properties as outlined in Table 4 on page 6.
2. Add the code to compare the actual and expected values that are passed to the
evaluator as arguments and associated functions. Ensure the comparison returns standard output as follows:
v "PASS" when the expected value for the prerequisite property is equal to or
greater than the actual value for the prerequisite property
v "FAIL" when the expected value for the prerequisite property does not equal
the actual value for the prerequisite property
3. Run the custom evaluator to ensure that there are no runtime errors and debug
as necessary.
Chapter 3. Extending Prerequisite Scanner 57
Page 68
58 Prerequisite Scanner: User's Guide
Page 69
Chapter 4. Running Prerequisite Scanner
You can use a command-line interface to run the IBM Prerequisite Scanner. The Prerequisite Scanner script, prereq_checker, takes a set of required and optional parameters and a command flag for additional optional parameters.
Table 14 explains the special characters that are used in the syntax of the Prerequisite Scanner script.
Table 14. Special characters legend for the Prerequisite Scanner script
Special character Description
<> Identifies a placeholder name.
[] Identifies an optional parameter. Parameters not enclosed in brackets
are required.
... Indicates that you can specify multiple values for a parameter.
| Indicates mutually exclusive parameters. Specify either the parameter
to the left of the separator or the parameter to the right of the separator, but not both.
{} Encloses a set of mutually exclusive parameter separated by |.
prereq_checker
The prereq_checker script runs the IBM Prerequisite Scanner and checks for prerequisites based on the set of parameters that you specify when you run the script.
Syntax
prereq_checker.bat|sh
"Product_Code [Product_Version][,Product_CodeN [Product_VerN]]..." [detail] [outputDir="ips_output_dir"] [PATH="product_root"] [-p Product_Code.instance.parameter=value,...] [debug] [trace]
The prereq_checker script has one required parameter and several optional parameters.
“"Product_Code [Product_Version][,Product_CodeN [Product_VerN]]..."” on page 60
Required parameter
“[detail]” on page 60
Optional parameter
“[outputDir="ips_output_dir"]” on page 63
Optional parameter
“[PATH="product_root"]” on page 63
“[-p Product_Code.instance.parameter=value,...]” on page 63
Optional flag
© Copyright IBM Corp. 2009, 2012 59
Page 70
“[debug]” on page 64
Optional parameter
“[trace]” on page 64
Optional parameter
"Product_Code [Product_Version][,Product_CodeN [Product_VerN]]..."
You must set at least one Product_Code parameter to identify the product or component for which to run the prerequisite check and the associated configuration file. Product_Code is the product code that you set in the ips_root/codename.cfg file.
For example, KMS is the product code for the Tivoli Enterprise Monitoring Server in the product.cfg file. To run the Scanner, enter the following script with the product code:
./prereq_checker.sh KMS
If you set a Product_Code parameter that does not have a corresponding configuration file, the Prerequisite Scanner ignores it without error. The log file contains a message that no configuration file was found.
The Product_Version parameter for the associated Product_Code parameter indicates the version of the product. It is the 8-digit code to represent the version, release, modification, and level, with two digits for each part of the code; for example, 7.3.21 is 07032100. Product_Version is an optional parameter. If you do not set it, the Prerequisite Scanner checks the latest available version.
You can set one or many Product_Code parameters with the optional Product_Version parameter, each separated by a comma.
Important: When you set more than one <Product_Code> parameter with the optional <Product_Version> parameter, enclose the parameters in quotation marks. If you do not, the Scanner fails.
This example checks prerequisites for the latest version of Tivoli Monitoring Operating System Agent for Windows and Version 6.2.1 of Tivoli Monitoring Agent for DB2.
prereq_checker.bat "KNT,KUD 06210000"
[detail]
This optional parameter indicates whether to display detailed results of the scan in the command-line interface.
Important: Do not enclose this parameter in quotation marks.
When you set the detail parameter, the detailed results contain:
v The version of the Prerequisite Scanner
v The version of the operating system on which the Scanner was run
v The name of the products or components for which the prerequisites checks
were run
v For each prerequisite property: the name of the prerequisite property checked,
the PASS or FAIL result, the actual value, and expected value
60 Prerequisite Scanner: User's Guide
Page 71
v For all components: the name of the general prerequisite property checked, the
PASS or FAIL result, the actual value, and expected value
v The overall PASS or FAIL result
Prerequisite Scanner also saves these results to the ips_output_dir/result.txt file. It saves the results to the text file regardless of whether you set the detail parameter.
Chapter 4. Running Prerequisite Scanner 61
Page 72
Figure 9. Running the script and setting the detail parameter on UNIX systems
If you do not set the detail parameter, the Scanner displays only the PASS or FAIL result in the command-line interface.
62 Prerequisite Scanner: User's Guide
Page 73
Figure 10. Running the script without setting the detail parameter on Windows systems
[outputDir="ips_output_dir"]
This optional parameter indicates that you want to set the output directory for the scan results and log files for Prerequisite Scanner.
When you run the Prerequisite Scanner script and set the optional outputDir parameter, Prerequisite Scanner outputs the results text and log files to the directory specified by the parameter’s value. This value is known as ips_output_dir throughout the documentation.
If you do not set this parameter, the default output location is ips_root.
You must use the parameter to specify a location, if you choose to run Prerequisite Scanner from a CD, DVD, or read-only network drive. You must have write permissions to write to ips_output_dir; otherwise, Prerequisite Scanner fails.
Important: If the output directory does not exist, Prerequisite Scanner creates the directory. You must have write permissions to create or write to the output directory in which Prerequisite Scanner saves the files.
[PATH="product_root"]
This optional parameter indicates the installation directories for the products.
Important: On Windows, do not set the path to a drive letter only, that is, C:. Ensure that you set a valid path.
If you do not set the path parameter, the Scanner checks the default installation directories for IBM Tivoli products:
v On UNIX systems: /opt/ibm/itm v On Windows systems: C:\IBM\itm
[-p Product_Code.instance.parameter=value,...]
The optional -p flag indicates that the proceeding parameters must be passed to a script file for additional prerequisite checking. <Product_Code> is the product code. Only each set of instance.parameter=value is passed to the script. You can pass multiple sets of parameters, separated by a comma.
The script to which the parameters are passed is determined by the following options:
v With a Product_Code prefix, the parameters are passed to the script with the
associated Product_Code
v Without the Product_Code prefix, the parameters are passed to the common
collectors.
Chapter 4. Running Prerequisite Scanner 63
Page 74
Example 1
-p KUD.inst1.DB2_INST_OWNER=db2inst1, KUD.inst2.DB2_INST_OWNER=db2inst2
This flag with parameters passes db2inst1.DB2_INST_OWNER=db2inst1 and db2inst2.DB2_INST_OWNER=db2inst2 to the KUD.Product_Version.bat script file.
Example 2
-p SERVER=IP.PIPE://mymachine:1918
This flag with parameters passes SERVER=IP.PIPE://mymachine:1918 to the common collector to check the ports.
Note: This script accepts the parameters in -p as tacmd createNode. You can set the SERVER, PROTOCOL, PORT, BACKUP, and BSERVER parameters in ips_root/lib/common_configuration. Prerequisite Scanner prioritizes the parameters passed from the command-line interface above those parameters set in the common_configuration file.
[debug]
This optional parameter indicates that you want to turn on debugging while running the Prerequisite Scanner.
When you run the Prerequisite Scanner script and set the optional debug parameter, Prerequisite Scanner outputs detailed processing information, warning and error messages, and the scan results in the log file. It is the ips_output_dir/prs.debug file on UNIX systems and the ips_output_dir/precheck.log file on Windows systems.
Important: Debugging the Scanner is turned off by default.
[trace]
(UNIX systems only) This optional parameter indicates that you want to turn on trace logging while running the Prerequisite Scanner.
When you run the Prerequisite Scanner script and set the optional trace parameter, Prerequisite Scanner outputs trace information in the ips_output_dir/prs.trc file.
Important: Trace logging for the Scanner is turned off by default.
Running Prerequisite Scanner from the command line
You can run IBM Prerequisite Scanner from the command-line interface and enter the relevant input parameters for the script.
Before you begin
Ensure that you check your product’s installation documentation or Technotes for any additional steps that must be performed before running Prerequisite Scanner. For example, you might need to set the environment variable that indicates to Prerequisite Scanner which components or features are being installed on the target computer and consequently, which prerequisites to check.
64 Prerequisite Scanner: User's Guide
Page 75
Procedure
1. Open the command-line interface and open the ips_root directory.
2. Run the Prerequisite Scanner script file, prereq_checker, as follows:
UNIX
./prereq_checker.sh "Product_Code [Product_Version][,Product_CodeN [Product_VerN]]..." [detail] [outputDir="ips_output_dir"] [PATH="product_root"] [-p Product_Code.instance.parameter=value,...]
The following example runs Prerequisite Scanner for Autonomic Deployment Engine using a configuration file and its associated product code, ADE:
./prereq_checker.sh ADE 072000 detail PATH=/opt/ibm/tivoli
Windows
prereq_checker.bat "Product_Code [Product_Version][,Product_CodeN [Product_VerN]]..." [detail] [outputDir="ips_output_dir"] [PATH="product_root"] [-p Product_Code.instance.parameter=value,...]
The following example runs Prerequisite Scanner for Tivoli Provisioning Manager for Windows 2003 and 2008 using product codes, COX and COY.
prereq_checker.bat "COX, COY 07200000" detail PATH="D:\ibm\tivoli"
-p SERVER=IP.PIPE://mytems:1234
The following example runs Prerequisite Scanner for Tivoli zEnterprise Monitoring Agent using product code KZE. It also sets the location of the results and log files to ips_output_dir by using the optional outputDir parameter.
Important: You must use the outputDir parameter to specify a location, if you choose to run Prerequisite Scanner from a CD, DVD, or read-only network drive. You must have write permissions to write to ips_output_dir; otherwise, Prerequisite Scanner fails.
Windows
prereq_checker.bat "KZE 06230000" outputDir="%TEMP%\ips"
UNIX
./prereq_checker.sh "KZE 06230000" outputDir="/tmp/ips"
The Scanner outputs the result.txt file and precheck.log files to the following locations:
v On Windows systems: D:\temp\ips where TEMP is environment variable for
the temporary folder.
v On UNIX systems: /tmp/ips
Chapter 4. Running Prerequisite Scanner 65
Page 76
Important: If the output directory does not exist, Prerequisite Scanner creates the directory. You must have write permissions to create or write to the output directory in which Prerequisite Scanner saves the files.
Common directory locations
There are path name variables for common directories.
IBM Prerequisite Scanner installation directory
ips_root describes the location where Prerequisite Scanner is installed. This location can be specified during installation.
Prerequisite Scanner output directory
ips_output_dir describes the location where the scan results and log files for Prerequisite Scanner are saved. This location can be specified by using the outputDir input parameter when you run the Scanner. If you do not set this parameter, the default output location is ips_root.
Note: Prerequisite Scanner creates temporary files during its execution, but these files are deleted before the Scanner completes its execution. These temporary files are located in the ips_output_dir/temp subdirectory. The Scanner also deletes the ips_output_dir/temp subdirectory, unless the subdirectory contains the debug and trace files that are generated on UNIX systems only.
66 Prerequisite Scanner: User's Guide
Page 77
Chapter 5. Troubleshooting Prerequisite Scanner
You can troubleshoot issues in IBM Prerequisite Scanner by using log files and logging functions when you create custom prerequisite checks.
Prerequisite Scanner generates returns codes dependent on the results of the scan and whether it must exit because of errors. These return codes are written to the log files. For example, if the Prerequisite Scanner fails to run the scan because cannot read the configuration file, it generates return code of 2.
Troubleshooting on Windows systems
When you run IBM Prerequisite Scanner, it creates a log file by default. It contains detailed information with each step and function that the Scanner performs in sequence. The file also contains timestamps, including start and end times of each function and step. You can debug and review the log file to determine where and when the error occurred.
Prerequisite Scanner outputs processing information, warning and error messages, and the scan results in the ips_output_dir/precheck.log file. When you run the Prerequisite Scanner script and set the optional debug parameter, Prerequisite Scanner outputs additional debugging messages in this file.
Figure 11 on page 68 shows an example of the log file when the optional debug parameter is set and Figure 12 on page 69 shows the log file when the parameter is not set.
© Copyright IBM Corp. 2009, 2012 67
Page 78
Figure 11. precheck.log file with the debug data
68 Prerequisite Scanner: User's Guide
Page 79
Figure 12. precheck.log file without debug data
Troubleshooting on UNIX systems
Writing messages to log files is disabled by default on UNIX systems. You can enable debugging or tracing functions by using the debug and trace input parameters. The Scanner writes the debug and trace data to different log files and uses timestamps to flag the start and end times of steps or functions. You can use both files to correlate and troubleshoot a specific issue, function, or prerequisite check.
Debugging log file
When you run the Prerequisite Scanner script and set the optional debug parameter, Prerequisite Scanner outputs detailed processing information, warning and error messages, and the scan results in the ips_output_dir/temp/prs.debug file. It contains detailed information with each step and function that the Scanner performs in sequence. The file also contains timestamps, including start and end times of each function and step. The ips_output_dir/temp subdirectory also contains the interim result1.txt and result2.txt files that provide the input to the final ips_output_dir/result.txt file. You can use these interim files to determine issues
Chapter 5. Troubleshooting Prerequisite Scanner 69
Page 80
with results for specific prerequisite checks.
Figure 13. prs.debug file on UNIX systems
Trace log file
When you run the Prerequisite Scanner script and set the optional trace parameter, Prerequisite Scanner outputs trace information in the ips_output_dir/temp/prs.trc file. It contains information with each function that the Scanner performs in sequence. The file also contains timestamps, including start and end times of each function.
70 Prerequisite Scanner: User's Guide
Page 81
Figure 14. prs.trc file on UNIX systems
Execution problems
You can use the execution problems checklist to troubleshoot errors you might encounter when you runPrerequisite Scanner.
Run the Prerequisite Scanner script with the optional debug andtrace input parameters to assist in debugging the issues.
Table 15. Execution problems checklist
Check Item
h When you set the optional outputDir parameter on the command line and the
h Before you run Prerequisite Scanner, ensure that disk to which you want to run
h If Prerequisite Scanner generates a return code of 2, a script usage or collector
output directory does not exist, Prerequisite Scanner creates the directory. You must have write permissions to create or write to the output directory in which Prerequisite Scanner saves the files. If you do not have write permissions, the following error message is written to the command-line interface:
ERROR: Cannot create files in output directory ips_output_dir. Exit.
Prerequisite Scanner and save the results to the output directory is not full; otherwise, the following error message is written to the command-line interface:
ERROR: Cannot create files in output directory ips_output_dir. Exit.
error might have occurred. Review the causes associated with this error code. If a script usage error occurred, rerun Prerequisite Scanner by using the correct syntax.
Chapter 5. Troubleshooting Prerequisite Scanner 71
Page 82
Return codes
Related concepts:
Writing messages to log files is disabled by default on UNIX systems. You can enable debugging or tracing functions by using the debug and trace input parameters. The Scanner writes the debug and trace data to different log files and uses timestamps to flag the start and end times of steps or functions. You can use both files to correlate and troubleshoot a specific issue, function, or prerequisite check.
Prerequisite Scanner generates returns codes dependent on the results of the scan and whether it must exit because of errors. These return codes are written to the log files.
The prereq_checker script runs the IBM Prerequisite Scanner and checks for prerequisites based on the set of parameters that you specify when you run the script.
Prerequisite Scanner generates returns codes dependent on the results of the scan and whether it must exit because of errors. These return codes are written to the log files.
Prerequisite Scanner generates return codes based on a set of defined outcomes as follows:
Return code Description
0 Returns 0 when Prerequisite Scanner runs
successfully and all scan results are PASS.
1 Returns 1 when Prerequisite Scanner runs
successfully, but one or many prerequisite checks return FAIL.
2 Returns 2 when Prerequisite Scanner does
not run successfully, and must exit because of an error categorized as follows:
v Script usage errors
v Collector errors
v Other errors
Script usage errors
Prerequisite Scanner can exit because of any of the following usage errors when running the script:
v The Product_Code input parameter is not valid; for example, it was not found or
is not a supported format.
v The pattern for the Product_Code and Product_Version input parameters is not
valid; for example, more than just code and version are provided within quotation marks, or the pattern is not enclosed by quotation marks.
v The Product_Version input parameters is not valid; for example, the product
version is not all numeric characters.
v No input parameters were entered in the command-line interface.
v The syntax was incorrect when entered in the command-line interface; for
example, a non-supported command-line argument was entered.
v No required Product_Code input parameter was entered.
72 Prerequisite Scanner: User's Guide
Page 83
Collector errors
Prerequisite Scanner can exit because of any of the following collector errors: v The collector’s temporary result file was not found in the ips_output_dir/temp
directory.
v The collector’s script file did not execute correctly.
Other errors
Prerequisite Scanner can exit, because the user does not have write permission to the ips_output_dir output directory.
Related concepts:
IBM Prerequisite Scanner produces output for the following screen and human-readable file formats: output to the command-line interface, debugging and trace log files, and a simple text file for the results.
Chapter 5. Troubleshooting Prerequisite Scanner 73
Page 84
74 Prerequisite Scanner: User's Guide
Page 85
Appendix A. Product codes reference
The IBM Prerequisite Scanner uses a multicharacter code, product_code, to identify the product, individual supported platform, and version of operating system. The ips_root/codename.cfg file contains the name value pairs to represent the product code for the product, its supported platform, and the version of the operating system.
Table 16 outlines the current set of predefined product codes.
Restriction: IBM Tivoli Monitoring and Tivoli Composite Application Manager have predefined product codes that Prerequisite Scanner considers as reserved. These codes must not be used as Prerequisite Scanner product codes unless they refer to their associated IBM Tivoli Monitoring and Tivoli Composite Application Manager agents. For more information about the product codes, see the ITM 6.X Product Codes Technote.
Table 16. Predefined product codes
Predefined product code Platform Product version, platform, operating system
ADE All Autonomic Deployment Engine
BSM All Tivoli Business Service Manager
CDB All Tivoli Composite Application Manager (ITCAM) for
Applications: DB2
COA UNIX Tivoli Provisioning Manager for UNIX
COB AIX Tivoli Provisioning Manager for AIX
COC AIX Tivoli Provisioning Manager for AIX V5.3.0.0 {64 bit}
COD AIX Tivoli Provisioning Manager for AIX 6.1
COE Linux Tivoli Provisioning Manager for Linux
COF Linux Tivoli Provisioning Manager for Red Hat Linux
COG Linux Tivoli Provisioning Manager Version 7.2 for Red Hat
Enterprise Linux 5 x86 64 bit
COH Linux Tivoli Provisioning Manager for Red Hat Enterprise
Linux 5 System z
COI Linux Tivoli Provisioning Manager for SUSE 10
COJ Solaris Tivoli Provisioning Manager Version 7.2 for Solaris
COK HP-UX Tivoli Provisioning Manager Version 7.2 for HP-UX
COL Linux Tivoli Provisioning Manager Version 7.2 for SUSE
COM Linux Tivoli Provisioning Manager Version 7.2 for SUSE 11
CON Linux Tivoli Provisioning Manager Version 7.2 for SUSE zSeries
COX Windows Tivoli Provisioning Manager Version 7.2 for Windows
COY Windows Tivoli Provisioning Manager Version 7.2 for Windows
zSeries
11
2008
2003
®
10
®
64 bit
© Copyright IBM Corp. 2009, 2012 75
Page 86
Table 16. Predefined product codes (continued)
Predefined product code Platform Product version, platform, operating system
COZ Windows Tivoli Provisioning Manager Version 7.2 for Windows
DMO All Prerequisite Scanner demo
GYM UNIX IBM Tivoli Netcool Performance Manager
KCJ Windows Tivoli Enterprise Portal Client
UNIX Tivoli Enterprise Portal Client for UNIX
KCQ Windows Tivoli Enterprise Portal Server
UNIX Tivoli Enterprise Portal Server for UNIX
KHD All Warehouse Proxy Agent
KHE UNIX Warehouse Proxy Agent for UNIX
KIS UNIX Tivoli Composite Application Manager (ITCAM) for
Transactions: Internet Service Monitoring
KLZ UNIX Tivoli Monitoring Operating System Agent for Linux
KM6 Windows IBM Tivoli Composite Application Manager Agent for
WebSphere MQ File Transfer Edition
KMS Windows Tivoli Enterprise Monitoring Server
UNIX Tivoli Enterprise Monitoring Server for UNIX
KNT Windows Tivoli Monitoring Operating System Agent for Windows
UNIX Windows OS monitoring Agent for UNIX
KOR Windows Tivoli Monitoring Agent for Oracle
KSY Windows Summarization and Pruning Agent
UNIX Summarization and Pruning Agent for UNIX
KUD Windows Tivoli Monitoring Agent for DB2
UNIX Tivoli Monitoring Agent for DB2
KTO All Tivoli Composite Application Manager (ITCAM) for
Transactions: Transaction Reporter
KTU All Tivoli Composite Application Manager (ITCAM) for
Transactions: Transaction Collector
KT3 All Tivoli Composite Application Manager (ITCAM) for
Transactions: Application Management Console
KT4 All Tivoli Composite Application Manager (ITCAM) for
Transactions: Client Response Time
KT5 All Tivoli Composite Application Manager (ITCAM) for
Transactions: Web Response Time
KT6 All Tivoli Composite Application Manager (ITCAM) for
Transactions: Robotic Response Time
KZE All Tivoli zEnterprise Monitoring Agent
LCM Windows Tivoli License Compliance Manager
UNIX Tivoli License Compliance Manager for UNIX
NCI All Tivoli Netcool/Impact
NOC All Tivoli Netcool/OMNIbus server components and
desktop component
76 Prerequisite Scanner: User's Guide
Page 87
Table 16. Predefined product codes (continued)
Predefined product code Platform Product version, platform, operating system
NOD All Tivoli Netcool/OMNIbus desktop component
NOS All Tivoli Netcool/OMNIbus server components
PAE All Tivoli Process Automation Engine
TAD Windows Tivoli Asset Discovery for Distributed
UNIX Tivoli Asset Discovery for Distributed for UNIX
TCR All Tivoli Common Reporting
TPM All Tivoli Provisioning Manager
Appendix A. Product codes reference 77
Page 88
78 Prerequisite Scanner: User's Guide
Page 89
Appendix B. Configuration files reference
The IBM Prerequisite Scanner provides a predefined set of configuration files that you can edit. These files are in either ips_root/UNIX_Linux or ips_root/Windows. The files have a.cfg extension.
Table 17 lists the currently supported predefined configuration files.
Table 17. Predefined configuration files
Configuration file Platform Product version, platform, operating system
ADE_01040000.cfg All Autonomic Deployment Engine Version 1.4
BSM_04210000.cfg All Tivoli Business Service Manager Version 4.2.1
BSM_06100000.cfg All Tivoli Business Service Manager Version 6.1
CDB_06220000.cfg All Tivoli Composite Application Manager (ITCAM) for Applications: DB2
Version 6.2.2
COA_07200000.cfg UNIX Tivoli Provisioning Manager Version 7.2 for UNIX
COB_07200000.cfg AIX Tivoli Provisioning Manager Version 7.2 for AIX
COC_07200000.cfg AIX Tivoli Provisioning Manager Version 7.2 for AIX V5.3.0.0 {64 bit}
COD_07200000.cfg AIX Tivoli Provisioning Manager Version 7.2 for AIX 6.1
COE_07200000.cfg Linux Tivoli Provisioning Manager Version 7.2 for Linux
COF_07200000.cfg Linux Tivoli Provisioning Manager Version 7.2 for Red Hat Linux
COG_07200000.cfg Linux Tivoli Provisioning Manager Version 7.2 for Red Hat Enterprise Linux 5
x86 64 bit
COH_07200000.cfg Linux Tivoli Provisioning Manager Version 7.2 for Red Hat Enterprise Linux 5
System z 64 bit
COI_07200000.cfg Linux Tivoli Provisioning Manager Version 7.2 for SUSE 10
COJ_07200000.cfg Solaris Tivoli Provisioning Manager Version 7.2 for Solaris
COK_07200000.cfg HP-UX Tivoli Provisioning Manager Version 7.2 for HP-UX
COL_07200000.cfg Linux Tivoli Provisioning Manager Version 7.2 for SUSE zSeries 10
COM_07200000.cfg Linux Tivoli Provisioning Manager Version 7.2 for SUSE 11
CON_07200000.cfg Linux Tivoli Provisioning Manager Version 7.2 for SUSE zSeries 11
COX_07200000.cfg Windows Tivoli Provisioning Manager Version 7.2 for Windows 2008
COY_07200000.cfg Windows Tivoli Provisioning Manager Version 7.2 for Windows 2003
COZ_07200000.cfg Windows Tivoli Provisioning Manager Version 7.2 for Windows
DMO_00000000.cfg All Prerequisite Scanner demo
DMO_01000000.cfg All Prerequisite Scanner Version 1.0 demo
GYM_01030200.cfg UNIX IBM Tivoli Netcool Performance Manager Version 1.3.2
KCJ_06200000.cfg Windows Tivoli Enterprise Portal Client Version 6.2
KCJ_06210000.cfg UNIX Tivoli Enterprise Portal Client Version 6.2.1
KCJ_06220000.cfg All Tivoli Enterprise Portal Client Version 6.2.2
KCQ_06200000.cfg Windows Tivoli Enterprise Portal Server Version 6.2
KCQ_06210000.cfg UNIX Tivoli Enterprise Portal Server Version 6.2.2
KCQ_06220000.cfg All Tivoli Enterprise Portal Server Version 6.2.2
© Copyright IBM Corp. 2009, 2012 79
Page 90
Table 17. Predefined configuration files (continued)
Configuration file Platform Product version, platform, operating system
KHD_06200000.cfg Windows Warehouse Proxy Agent Version 6.2
KHD_06210000.cfg All Warehouse Proxy Agent Version 6.2.1
KHD_06220000.cfg All Warehouse Proxy Agent Version 6.2.2
KHE_06220000.cfg UNIX Warehouse Proxy Agent Version 6.2.2
KIS_07200000.cfg All Tivoli Composite Application Manager (ITCAM) for Transactions: Internet
Service Monitoring Version 7.2
KIS_07300000.cfg All Tivoli Composite Application Manager (ITCAM) for Transactions: Internet
Service Monitoring Version 7.3
KLZ_06210000.cfg UNIX Tivoli Monitoring Operating System Agent for Linux Version 6.2.1
KLZ_06220000.cfg UNIX Tivoli Monitoring Operating System Agent for Linux Version 6.2.2
KM6_070100000.cfg Windows Tivoli Composite Application Manager Agent for WebSphere MQ File
Transfer Edition Version 7.1
KMS_06200000.cfg Windows Tivoli Enterprise Monitoring Server Version 6.2
KMS_06210000.cfg All Tivoli Enterprise Monitoring Server Version 6.2.1
KMS_06220000.cfg All Tivoli Enterprise Monitoring Server Version 6.2.2
KNT_06200000.cfg Windows Tivoli Monitoring Operating System Agent for Windows Version 6.2
KNT_06210000.cfg Windows Tivoli Monitoring Operating System Agent for Windows Version 6.2.1
KNT_06220000.cfg Windows Tivoli Monitoring Operating System Agent for Windows Version 6.2.2
KOR_06220000.cfg Windows Tivoli Monitoring Agent for Oracle Version 6.2.2
KSY_06200000.cfg Windows Summarization and Pruning Agent Version 6.2
KSY_06210000.cfg All Summarization and Pruning Agent Version 6.2.1
KSY_06220000.cfg All Summarization and Pruning Agent Version 6.2.2
KTO_07200000.cfg UNIX Tivoli Composite Application Manager (ITCAM) for Transactions:
Transaction Reporter Version 7.2
KTO_07200200.cfg Windows Tivoli Composite Application Manager (ITCAM) for Transactions:
Transaction Reporter Version 7.2.2
KTO_07300000.cfg UNIX Tivoli Composite Application Manager (ITCAM) for Transactions:
Transaction Reporter Version 7.3
KTU_07200000.cfg UNIX Tivoli Composite Application Manager (ITCAM) for Transactions:
Transaction Collector Version 7.2
KTU_07200200.cfg Windows Tivoli Composite Application Manager (ITCAM) for Transactions:
Transaction Collector Version 7.2.2
KTU_07300000.cfg UNIX Tivoli Composite Application Manager (ITCAM) for Transactions:
Transaction Collector Version 7.3
KT3_07300000.cfg All Tivoli Composite Application Manager (ITCAM) for Transactions:
Application Management Console Version 7.3
KT4_07300000.cfg All Tivoli Composite Application Manager (ITCAM) for Transactions: Client
Response Time Version 7.3
KT5_07300000.cfg All Tivoli Composite Application Manager (ITCAM) for Transactions: Web
Response Time Version 7.3
KT6_07300000.cfg All Tivoli Composite Application Manager (ITCAM) for Transactions: Robotic
Response Time Version 7.3
KUD_06100000.cfg Windows Tivoli Monitoring Agent for DB2 Version 6.1
KUD_06200000.cfg All Tivoli Monitoring Agent for DB2 Version 6.2
80 Prerequisite Scanner: User's Guide
Page 91
Table 17. Predefined configuration files (continued)
Configuration file Platform Product version, platform, operating system
KUD_06210000.cfg All Tivoli Monitoring Agent for DB2 Version 6.2.1
KUD_06220000.cfg All Tivoli Monitoring Agent for DB2 Version 6.2.2
KZE_06020300.cfg All Tivoli zEnterprise Monitoring Agent Version 6.2.3
LCM_01000000.cfg All Tivoli License Compliance Manager Version 1.0
LCM_02300000.cfg All Tivoli License Compliance Manager Version 2.3
NCI_06100000.cfg All Tivoli Netcool/Impact Version 6.1
NOC_07310000.cfg All Tivoli Netcool/OMNIbus server components and desktop component
Version 7.3.1
NOD_07310000.cfg All Tivoli Netcool/OMNIbus desktop component Version 7.3.1
NOS_07310000.cfg All Tivoli Netcool/OMNIbus server components Version 7.3.1
PAE_07500000.cfg All Tivoli Process Automation Engine
TAD_07200000.cfg All Tivoli Asset Discovery for Distributed Version 7.2
TAD_07220000.cfg All Tivoli Asset Discovery for Distributed Version 7.2.2
TCR_02010100.cfg All Tivoli Common Reporting
TPM_07210000.cfg All Tivoli Provisioning Manager Version 7.2.1
Appendix B. Configuration files reference 81
Page 92
82 Prerequisite Scanner: User's Guide
Page 93
Appendix C. Prerequisite properties reference
This reference outlines the basic prerequisite properties for each predefined category of hardware and software prerequisites.
Table 18 outlines the predefined categories of hardware and software prerequisites.
Table 18. Predefined categories for prerequisite properties
Data category Description
Common The common data properties check
common prerequisites such as processor speed, RAM, disk, and temporary space.
Autonomic Deployment Engine
Installed software
User The user-data properties check user
Operating system
Connectivity The connectivity data properties check
Network The network data properties check network
Windows network
UNIX network
Internet Explorer
The Autonomic Deployment Engine data properties check Autonomic Deployment Engine prerequisites such as the installation unit.
The installed software data properties check installed software prerequisites such as the programs registered in the Windows registry and whether cygwin and gskit are installed.
prerequisites such as whether the logged on user had administrative rights or is the root user.
The operating system data properties check operating system prerequisites such as version, architecture, total memory, available memory, and total physical memory.
connectivity prerequisites such as whether Telnet is running and to which IP addresses and ports the scanner can connect.
prerequisites that can be common across all platforms such as whether there are ports available.
The Windows network data properties check network prerequisites such as whether NetBIOS and DHCP are enabled on the machine, and pinging properties.
The UNIX network data properties check network prerequisites such as whether NetBIOS and DHCP are enabled on the machine, and pinging properties.
The Microsoft Internet Explorer data properties check Internet Explorer prerequisites such as the version.
Required prefix identifier Reference
None “Common data properties” on
page 84
de “Autonomic Deployment Engine
data properties” on page 88
None “Installed software data
properties” on page 104
user “User data properties” on page
104
os “Operating system data
properties” on page 93
None “Connectivity data properties”
on page 89
network “Network data properties” on
page 91
network “Windows network data
properties” on page 105
network “UNIX network data properties”
on page 105
internetExplorer “Internet Explorer data
properties” on page 90
© Copyright IBM Corp. 2009, 2012 83
Page 94
Table 18. Predefined categories for prerequisite properties (continued)
Data category Description
Database server, DB2
Database server, MS SQL
Database server, Oracle
Environment variables
The DB2 data properties check DB2 prerequisites such as the version.
The MS SQL Server data properties check the MS SQL server prerequisites such as the version.
The Oracle data properties check Oracle prerequisites such as the version.
The environment variables check environment variable prerequisites such as whether the environment variable has been set.
Required prefix identifier Reference
DB2 “DB2 data properties” on page
mssql “MS SQL Server data properties”
Oracle “Oracle data properties” on page
env
Common data properties
The common data properties check common prerequisites such as CPU speed, RAM, disk, and temporary space. For Windows systems, it uses the primary IBM Prerequisite Scanner script. For UNIX systems, it uses the primary Prerequisite Scanner script and the common collector, ips_root/Unix_Linux/common.sh.
Table 19 outlines the common data prerequisite properties. This category of prerequisite properties does not require a prefix identifier.
89
on page 90
92
Table 19. Common data prerequisite properties
Prerequisite property Platforms Description Valid values
CPU Name All The name of the CPU and used for
display purposes only in the results
CpuArchitecture UNIX The architecture of the operating system String, with multiple supported values
Not applicable
separated by a comma, for example:
x86_64,s390x,ppc64,AMD64
84 Prerequisite Scanner: User's Guide
Page 95
Table 19. Common data prerequisite properties (continued)
Prerequisite property Platforms Description Valid values
DBType All Checks the types of database server
installed on the machine.
For Oracle on UNIX systems only: The collector expects the ORACLE_BASE and ORACLE_HOME environment variables to be set in the $HOME/.profile file, for example:
export ORACLE_BASE=/home/oracle/ app/oracle/product/11.2.0/ export ORACLE_HOME=/home/oracle/ app/oracle/product/11.2.0/dbhome_1
where $HOME must be /home/oracle, the home directory for the Oracle user.
The value can be any of the following types:
v String representing any type of the
database server, for example:
any
v String representing the type of the
database server, for example:
Oracle
v regex{str}, a regular expression with
the input parameter, str, representing the search pattern for the database server type, for example:
regex{.*MSSQL.*|DB2.*}
Checks whether the database server type is MS SQL or DB2 on Windows systems.
v String representing no type of the
database server, for example:
unknown
DBTypeDetails All The types of database server installed on
the machine.
For Oracle on UNIX systems only: The collector expects the ORACLE_BASE and ORACLE_HOME environment variables to be set in the $HOME/.profile file, for example:
export ORACLE_BASE=/home/oracle/ app/oracle/product/11.2.0/ export ORACLE_HOME=/home/oracle/ app/oracle/product/11.2.0/dbhome_1
where $HOME must be /home/oracle, the home directory for the Oracle user.
The prerequisite property writes the details about the database server type, that is, the database server type, the installed location, and the version to the result.txt file. The details of multiple database server types are separated by semi colons
The value can be any of the following types:
v String representing any type of the
database server, for example:
any
v String representing one type of the
database server, for example:
DB2
v regex{str}, a regular expression with
the input parameter, str, representing the search pattern for the database server type, for example:
regex{.*MSSQL.*|DB2.*}
Checks whether the database server type is MS SQL or DB2 on Windows systems.
Appendix C. Prerequisite properties reference 85
Page 96
Table 19. Common data prerequisite properties (continued)
Prerequisite property Platforms Description Valid values
Disk Windows The amount of free disk space, with the
following optional qualification attributes:
v dir attribute, to determine which path
to the directory to check
v unit attribute, to determine which
units for disk space to use
Disk UNIX The amount of free disk space Numeric format in GBs or MBs, for
intel.cpu All The CPU speed for the Intel processor Numeric format in MHz or GHz, for
Memory All The total amount of physical memory
that is currently available on the machine Note: You can separately check for the amount of physical and virtual memory available by the using predefined prerequisite properties in the operating system category.
The value can be any of the following types:
v String with the following qualifier
format:
[dir:dir_path, unit:unit_name]
disk_space
For example:
Disk= [dir:C:\Program Files\IBM\SQLLIB, unit:MB]1431
v Numeric format in MBs or GBs:
disk_spaceMB|GB
For example:
Disk=250MB
example:
2GB
example:
2GHz
Numeric format in GBs or MBs, for example:
300MB
86 Prerequisite Scanner: User's Guide
Page 97
Table 19. Common data prerequisite properties (continued)
Prerequisite property Platforms Description Valid values
OS Version All The full name and version of the
operating system that is running on the machine; alternatively, you can use a regular expression to pass a string that represents the multiple variants of an operating system. Tip: Use this prerequisite property in conjunction with os.servicePack and os.architecture to check the current service pack and system architecture.
The value can be any of the following types:
v String that can represent multiple
versions, with each version separated by a comma, for example:
RedHat Enterprise Linux 6.*, SuSE Linux Enterprise Server 11, SuSE Linux Enterprise Server 10, SuSE Linux Enterprise Server 9, AIX V6.1,AIX V5.3
Restriction: On Windows systems, the * wildcard is only supported within a regular expression.
v regex{str}, a regular expression with
the input parameter, str, representing the search pattern for the version, for example:
regex{Windows 200[3-8]}
Checks whether the actual OS matches any version from Windows 2003 to Windows 2008.
regex{Red Hat*.*}
Checks whether the actual OS matches a variant of Red Hat Linux.
Note: The values can use the special characters as outlined in Table 1 on page
2.
numCPU Windows The number of processors on the
Number, for example, 4
machine
risc.cpu UNIX The CPU speed for a RISC processor Numeric format in MHz or GHz, for
example:
1.4GHz
Temp All The available disk space for the specified
Temp file system
Numeric format in GBs or MBs, for example:
300MB
Appendix C. Prerequisite properties reference 87
Page 98
Related reference:
The operating system data properties check operating system prerequisites such as version, architecture, total memory, available memory, and total physical memory. For Windows systems only, it uses the operating system VBScript collectors in the ips_root/lib directory, with the os prefix identifier in their file names. For UNIX systems only, it uses the UNIX operating system collectors in the ips_root/UNIX_Linux directory, with the os prefix identifier in their file names.
Autonomic Deployment Engine data properties
The Autonomic Deployment Engine data properties check Autonomic Deployment Engine prerequisites such as the installation unit. For Windows systems only, it uses the Autonomic Deployment Engine collectors in the ips_root/lib/ directory, with the de prefix in their file names. For UNIX systems only, it uses the UNIX Autonomic Deployment Engine collectors in the ips_root/UNIX_Linux directory, with the de prefix in their file names.
Table 20 outlines the prerequisite properties. This category of prerequisite properties require the de prefix identifier.
Table 20. Autonomic Deployment Engine data properties
Prerequisite property Platform Description Valid values
de.installed All Checks whether the is
installed
Boolean, for example:
true|false
88 Prerequisite Scanner: User's Guide
Page 99
Table 20. Autonomic Deployment Engine data properties (continued)
Prerequisite property Platform Description Valid values
de.installationUnit All Checks whether the specified
installation unit is installed by using the listIU -v command
The value can be any of the following types:
v String to represent a single installation unit, for
example, the installation unit for Tivoli Integrated Portal:
C37109911C8A11D98E1700061BDE7AEA, B24209911C8A11D98E1700061BDE7AEA
v String to represent multiple installation units, for
example:
5FFE79F918DF3BA0D67511FD3F7C358E
v regex {str}, a regular expression with the input
parameter, str, to represent the search pattern for the installation unit, version, and installation path; for example, to check the installation unit, version of WebSphere Application Server, and the installation path for Tivoli Integrated Portal, the search pattern is as follows:
v regex{.*C00DA95AFD9B7E0397153CD944B5A255.
*6.1.0.2100.*SIU eWAS. *C:\\IBM\\tivoli\\tip.*}
Note: You can also use an environment variable for the installation path; for example, by replacing the path with the TIPHOME environment variable, the search pattern is:
regex{.*C00DA95AFD9B7E0397153CD944B5A255. *6.1.0.2100.*SIU eWAS. *%TIPHOME%.*}
v Multiple regex {str} arguments to represent
multiple checks; for example:
regex{.*C37109911C8A11D98E1700061BDE7AEA.*}, regex{.*B24209911C8A11D98E1700061BDE7AEA.*}
Connectivity data properties
The connectivity data properties check connectivity prerequisites such as whether Telnet is running and to which IP addresses and ports the Scanner can connect. For Windows systems, it uses the connectivity collector, ips_root/lib/ connectivity_plug.vbs. For UNIX systems, it uses the primary IBM Prerequisite Scanner script and the connectivity collector, prs_root/Unix_Linux/ connectivity_plug.sh. The output is passed to the debugging log file only.
DB2 data properties
The DB2 data properties check DB2 prerequisites such as the version. For Windows systems only, it uses the DB2 collector, ips_root/lib/db2_version_plug.bat. For UNIX systems only, it uses the UNIX DB2 collectors in the ips_root/UNIX_Linux directory, with the db2 prefix in their file names.
Table 21 on page 90 outlines the DB2 prerequisite properties. This category of prerequisite properties require the DB2 prefix identifier.
Appendix C. Prerequisite properties reference 89
Page 100
Table 21. DB2 data properties
Prerequisite property Platform Description Valid values
DB2 Version All The version of DB2 that is currently
installed on the machine
db2.home.space UNIX The available disk space for the DB2
home directory
String, for example:
v9.5.100.179FP4
Numeric format in GBs, for example:
8GB
MS SQL Server data properties
The MS SQL Server data properties check MS SQL Server prerequisites such as the version and location. For Windows systems only, it uses the MS SQL Server collectors in the ips_root /Windows directory, with the mssql prefix in their file names.
Table 22 outlines the MS SQL Server prerequisite properties. This category of prerequisite properties require the mssql prefix identifier.
Table 22. MS SQL Server data properties
Prerequisite property Platform Description Valid values
mssql.Client Windows Checks the version of MS SQL client
that is currently installed on the machine
Expected string value can be multiple versions, separated by a comma, for example:
10.50.1600.1
mssql.Server Windows Checks the version of MS SQL Server
that is currently installed on the machine
mssql.Server.Location Windows Checks the home directory of the MS
SQL database server
Internet Explorer data properties
The Microsoft Internet Explorer data properties check Internet Explorer prerequisites such as the version. It uses the Internet Explorer collector, ips_root/lib/internetExplorer_plug.vbs.
Table 23 on page 91 outlines the Internet Explorer prerequisite properties. This category of prerequisite properties require the internetExplorer prefix identifier.
Note: The values can use the special characters as outlined in Table 1 on page 2.
Expected string value can be multiple versions, separated by a comma, for example:
10.50.1600.1
Note: The values can use the special characters as outlined in Table 1 on page 2.
String, for example:
any
90 Prerequisite Scanner: User's Guide
Loading...