Licensed Materials - Property of IBM
Copyright IBM Corp. 2008  All Rights Reserved.
US Government Users Restricted Rights - Use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

PRODUCT     : IBM Tivoli Change and Configuration Management Database
INTERIM FIX : 7.1.0.0-TIV-ITADDM-IF0003
RELEASE     : TADDM v7.1
DATE        : 2008/3/24
LAST UPDATE : 2008/3/24

You should print and read this document and all associated references 
before applying this maintenance package. The online page where this 
package was downloaded is the most up to date information and supersedes 
all other versions of this document.  

I. INTERIM FIX.

   APARs Content:
IZ07108,IZ07788,IZ08632,IZ08751,IZ08823,IZ09053,IZ09135,IZ09268,IZ09682,IZ09684,IZ09747,
IZ09766,IZ10070,IZ10803,IZ10939,IZ10947,IZ10958,IZ11032,IZ11606,IZ12251,IZ12671,IZ12747,
IZ12992,IZ13064,IZ13079,IZ13151,IZ13158,IZ13184,IZ13700,IZ14008,IZ14152,IZ14157,IZ14275,
IZ11334,IZ15655,IZ06855,IZ08374,IZ14034,IZ14035,IZ14053,IZ14275,IZ14871,IZ15193,IZ15440,
IZ15513,IZ15527,IZ15568,IZ15663,IZ15754,IZ15957,IZ15977,IZ16375,IZ16481,IZ16537,IZ16609,
IZ16686,IZ16815,IZ16994,IZ17155



   Supersedes: 7.1.0.0-TIV-ITADDM-IF0001 and 7.1.0.0-TIV-ITADDM-IF0002
     
II. PREREQUISITES:
     TADDM 7.1 must already be installed.

III. DESCRIPTION:


****************************************************************************************
**                          IMPORTANT NOTE                                            **
**                                                                                    **
**   TADDM Interim Fixes are now packaged as an installable image.                    **
**                                                                                    **
**   Please be sure to read the installation instructions below for                   **
**                                                                                    **
**   details on how to properly install this Interim Fix.                             **
**                                                                                    **
****************************************************************************************

APAR fixes:

FROM 7.1.0.0-TIV-ITADDM-IF0002;

16829	CMDBCVT: Custom Query requires additional port open on server
20444	Federation - exception if attribute returned contains null data
20550   Run RUNSTATS during eCMDB full sync
20580	Formatting of change history LIC panel broken
20644	Details panel performance issues
20657	ECMDB will not sync with available leaf domain
20710	Shallow app discovery not working with L2 profile
20722	eCMDB is not syncing
20769	Incremental sync breaks if clocks disagree between domain and eCMDB
20779	ECMDB 2nd sync never ends - waiting for alias table
20960	Selected columns ignored in Custom Query
20997	DbWriteCallback may return without status being set
21011	Discovery Profiles : Access List attached to a profile must be checked 
	before the general access list
21014	Application Summary does not show up in Domain Manager (eCMDB)
21016	cdm:Label = 0409 for WindowsOperatingSystem objects
21128	local anchor process not dying after abort
21130	SYNC: no changed tables after a cancel
21131	SYNC: implicitPointerClean "sql file does not exist" message in logs
ICA0042	use JDBC batching for eCMDB sync and commit less frequently
ICA0044	When a filesystem is removed from a server and the server is rediscovered, 
	the filesystem is not removed from the DB and is still attached to the CS.
ICA0053	Api leaks memory and dies
ICA0058	dist/log/localanchorcommand files fill log dir
ICA0059	Adding Version information for BizzApp.
ICA0060	authconfig.sh only works with bash
ICA0062	New file sync.conf to optimize sync performance
ICA0066	Blade sever connectivity module is missing SNMP template as a result it is 
	classified as AIX servers and showing up as AIX icons
IZ07108	Warning messages are issued in the ViewManager.log file during the TopologyBuilder 
	or running refresh operations on Topology ? Business Application.
IZ07788	WMI provider reports that it is out of date when it is not.
IZ08632	storage tab details not available with launch in context
IZ08751	Configuration Discovery and Tracking synchronizes objects that do not change 
	during a full discovery. Other than the timestamp, there are no changes to the object
IZ08823	In the Topology ? Application Infrastructure Graph options this is a bug with the 
	Computer System filtering. If no Computer System types are checked, no Computer 
	Systems are shown in the graphs If one Computer System type is checked, all of the 
	Computer Systems are shown in the graph, regardless of type.
IZ09053	Problems deleting some CIs with multiple relationships
IZ09135	Looking at the topology build agents, one of the agents is marking the L2 interfaces 		
	as deleted rather than simply removing them. There is another agent earlier in the 
	list which garbage collects deleted items, including L2 interfaces, so this behavior 
	causes the software to process a lot of the L2 interfaces twice.
IZ09268	The api.sh command does not return any information when the condition specified for 
	the query has a sequence of characters S followed by a digit.
IZ09682	Web Server Sensor fails when apache and iis on the same box on the same port
IZ09684	Change history portal HTML is malformed and cannot be displayed legibly in TEP. 	
	The panel also contains AJAX control references which are not included in the HTML.
IZ09747	Domain Manager detail panels are slow
IZ09766	Discovery of some Cisco switches are not populated with the other switches. These Cisco 	
	switches are populated in the unknown IP device bucket. See 'Additional Information' 
	section below for more details.
IZ10070	Cannot add two related types of CI's to a business app using "default functional group"
IZ10803	Monitoring coverage report fails with an Out Of Memory. As noted in the TADDM 7.1 	
	User's Guide, this report is a very complex query and might take several minutes to run. 
	On large systems, it is recommended that you disable it. This fix only addresses 
	OutOfMemory errors on smaller installations. If the report continues to fail after this fix,
        disable it.
IZ10939	Details port tab takes a long time to build.
IZ10947	The displayName of AppServers is incorrect when the IP address of the primarySAP is 	
	127.0.0.1 (loopback address). The data for the AppServers remains correct and the 
	AppServers are mapped as they should be - the error is in the displayName only
IZ10958	The taddmwmi.mof file does not contain carriage returns and may cause Windows discovery 
	problems, especially on Windows 2000.
IZ11032	The api.sh script find does not work for MQL like : select * from MSSObjectLink where 
	obj==’96731644558335108942967010459896’ The problem occurs when the value of obj consists 
	only of digits.
IZ11606	Weblogic sensor crashes and generates a java core file on Windows because debug sockets 
	are enabled by default.  With this path a configurable debug parameters in collation.properties 
	file is now provided and is off by default. The property is;
	 com.ibm.discover.localanchor.windowsdebugsocketenabled=false
IZ12251	Exchange Server Sensor does not have its own timeout setting. The exchange server is a large 
	server where the getExchangeServerInformation command takes a long time to return all of 
the data.  
	The sshsession timeout occurs before the data is completed.  
                      
                  
    	com.collation.SshSessionCommandTimeout=1200000 
        
increasing the ssh session timeout resolves the problem but has bad side affects with other 
	sensors so the ExchangeServer Sensor needs its own configurable time out. With this Interim fix 
	we have added property:
			

com.collation.discover.agent.exchange.command.timeout
	

Default value for this property is 10 minutes.
"
IZ12671	When discovering HP-UX via SNMP it is discovered as a router
IZ12747	WebSphere sensor for Windows will not start if command line from service contains "wasservice" 
	message as part of first element. In most cases it is at the last position.
IZ12992	Serial number wrong on Linux machines running on VmWare
IZ13064	Custom Server Templates do not work for I5/OS.
IZ13079	Missing Oracle and DB2 indexes on upgraded TADDM servers(see installation steps to apply indexes)
IZ13151	ECMDB exexuting the options Analytic->System Inventory,  presented with data spanning mutiple 
	pages, after moving thru 4 or 5  pages, data is not longer presented,and the message 
	"This table  contains no data". 
IZ13158	Config File setting in Custom Server Template is overwritten if it was copied from another CST.
IZ13184	"The Exchange Sensor performas the following steps;


	1. List the Exchange_Server WMI classes.

	2. Get the active directory FQDN from the win32_computersystem WMI class.

	3. Get the DNS FQDN from the platform.os.WindowsOs (If it does not have FQDN, it would does reverse DNS lookup.)

	4. Compare the Exchange_Server.FQDN with the AD FQDN.

	5. Compare the Exchange_Server.FQDN with the DNS FQDN.

	6. Compare the hostname of Exchange_Server.FQDN with the hostname of AD (The string preceding first dot.)

	7. Compare the hostname of Exchange_Server.FQDN with the hostname of DNS (The string preceding first dot.)

	

The Exchange_Server.FQDN usually have the Active Directory FQDN. But we got the exceptional case 
	that the Exchange_Server.FQDN has the DNS FQDN during the testing  with one machine in the lab, so step 3, 5, 
	and 7 we added. There was a bug for parsing the host name in 6 and 7 (ArrayIndexException) which is what was 
	fixed in the APAR. That fix addressed lookup for a shortname.  Before the fix, hostname lookup would fail if 
	getActiveDirectoryDomainName() returned shortname instead of FQDN. Now it works even in that case and is 
	also case insensitive.
"
IZ13700	"Discovery of IHS on AIX fails when running the command;
LD_LIBRARY_PATH=/usr/IBMIHS/../lib:
	/usr/IBMIHS/../../../lib:
$LD_ LIBRARY PATH; export LD_LIBRARY_PATH;
LIBPATH=/usr/IBMIHS/../lib:/usr/IBMIHS
	/../../../lib:$LIBPATH;
export LIBPATH;
/usr/IBMIHS/bin/httpd -V  -R /usr/local/apache/libexec"
IZ14008	Proxy Service fails with Out Of Memory exception.
IZ14152	If TADDM runs more then one sensor for DB2 per target an exception may occur.
IZ14157	Topology link is missing between AIX (or Solaris) and a Switch in L2interfaces. The AIX and Solaris 
	sensors don't set encapsulation type for their L2interfaces.
IZ14275	Using stop discovery button does not always stop discovery, new sensors continue to be spawned.
IZ11334 MQ Cluster and Channel Discovery Problems. MQChannels details (nothing but the name) are not being
	discovered - because of the output from DISPLAY CHANNEL command in MQ5.3 does not match with some 
	sensor's regular expressions.
IZ15655 7.1 IF1 does not contain all APARs noted in the readme due to build issues.


New in 7.1.0.0-TIV-ITADDM-IF0003;


21014	Application summary does not show up in domain manager (eCMDB).
21392	On sync, domainquery file warning messages appear, this file is deprecated and will be removed
21442	Automate Interim Fix builds and create IF installer. The installer will perform the following;
	1) validate disk space requirements
	2) log output to %TADDM_HOME%/installLogs/taddm_IF.log
	3) stop TADDM
	4) unzip all patch files into %TADDM_HOME%/dist
	5) update the buildid in collation.properties
	6) change ownership to taddm userid
21548	SAP sensor does not kick off.
21562	Local anchors are not shut down on discovery abort.
21907   SYNC: DB2 SQL error: SQLCODE: -302, SQLSTATE: 22001                            
21844   AppServerClusterAgent not creating cluster for a load balancer    
ICA0045	Array element creations not reported properly by change history.
ICA0054	Apache sensor fails to detect process other than httpd.
ICA0063	View cache re-builds should only rebuild the pre-build views not all views in the cache.
ICA0067	CustomComputerSystem sensor fails with nullpointerexception.
ICA0068	IIS storage error.
ICA0069	IIS discovery issues with older scripting runtime.
ICA0071	BigIP Loadbalancer sensor not showing members with status 7-10.
ICA0073	Externalize Veritas cluster commands on unix.The following 
collation.properties settings were added to support this defect to allow configuring of sudo;

com.collation.discover.agent.command.haclus.Linux=sudo /opt/VRTSvcs/bin/haclus
com.collation.discover.agent.command.hasys.Linux=sudo /opt/VRTSvcs/bin/hasys
com.collation.discover.agent.command.hastatus.Linux=sudo /opt/VRTSvcs/bin/hastatus
com.collation.discover.agent.command.hares.Linux=sudo /opt/VRTSvcs/bin/hares
com.collation.discover.agent.command.hagrp.Linux=sudo /opt/VRTSvcs/bin/hagrp
com.collation.discover.agent.command.hatype.Linux=sudo /opt/VRTSvcs/bin/hatype
com.collation.discover.agent.command.hauser.Linux=sudo /opt/VRTSvcs/bin/hauser

ICA0074	Extension mechanism for snmp discoveries (netscaler etc.).
ICA0076	Viewmgr to use fillcache for some queries.
ICA0078	Improve performance of GUI rendering topologies.
ICA0079	com.collation.platform.os.command.fqdn command output needs newlines stripped.
ICA0083 Veritas file system agent command locations are hard coded                                                            
ICA0084	Inventory scripts should not export collation_home in one line.
ICA0085	Solaris Zone sensor inadvertently enabled by default in TADDM 7.1. As noted in the FP3 readme;
The following sensors are currently undergoing hardening in controlled environments: 
- Veritas Cluster 
- Veritas Storage Manager 
-  Solaris Zones 
-  Sunfire
These sensors are being tested and refined. These Sensors are not generally available.
IZ06855	Product consoles are not in sync on discovery status.
IZ08374	Merge problems – VMWare ESX guestos machines have duplicates.
IZ14034	Discovery does not finish with "there is a work item creation process that is still pending” message.
IZ14035	OutOfMemory crash when discovering windows servers with nameless registry keys.
IZ14053	SAP sensor waits indefinitely for command result.
IZ14275	Stop discovery does not stop discoveries from running.
IZ14871	The Windows hotfix Q147222 is not discovered by TADDM.
IZ15193	Drop down arrow stays hidden in the "discovered components" view in domain manager.
IZ15440	The List/Search does not work when something is searched for and after that something else is searched in the same category.
IZ15513	OutOfMemory during large api xml extracts.
IZ15527	Improve performance of the UI displaying the details of a business application or business service
IZ15568	Viewmanager makes inefficient use of memory.
IZ15663	SAP CCMS sensor is not working via anchor.
IZ15754	FATAL statemanager.StateManagerService - [StateManagerService.E.4] ..
java.lang.NullPointerException
IZ15957	Connections for a standalone installation of WAS do not get discovered.
IZ15977	In Computer Systems with a routing function, if the routing table contains 1500 entries, the details panel takes several minutes to come up. 
IZ16375	Storage exception on windows machines and switches due to missing rows in PERSOBJ table.
IZ16481	Specifying attributes in MQL does not work if one of the attributes is an array type.
IZ16537	Icons shipped with TADDM do not load if they have more then one under score in them.
IZ16609	Invalid namespace error on exchange sensor when only the Exchange System Management Tool is installed and the Server is not installed on the computer.
IZ16686	MQ sensor fails with error message ctjtd3022e.
IZ16815	Saving inventory report for custom servers in domain manager.
IZ16994	Discovery on some Solaris 10 environements fails when there is more than one
IP address assigned.
IZ17155 VERITASSFHELPER.JAVA assumes all file systems are on mount



IV. INSTALLATION INSTRUCTIONS:

****************************************************************************************
**                          IMPORTANT NOTE                                            **
**                                                                                    **
**   TADDM Interim Fixes are now packaged as an installable image.                    **
**                                                                                    **
**   Please be sure to read the installation instructions below for                   **
**                                                                                    **
**   details on how to properly install this Interim Fix.                             **
**                                                                                    **
****************************************************************************************


   This Interim Fix is applied directly to TADDM.

   1. Download 7.1.0.0-TIV-ITADDM-IF0003.zip

   2. Make a directory called 7.1.0.0-TIV-ITADDM-IF0003

   3. Recursively backup the following files or directories to that new directory
        %TADDM_HOME%/dist/support/*
        %TADDM_HOME%/dist/sensordev/*
        %TADDM_HOME%/dist/osgi/*
        %TADDM_HOME%/dist/lib/*
        %TADDM_HOME%/dist/etc/*
        %TADDM_HOME%/dist/deploy-tomcat/*
        %TADDM_HOME%/dist/sdk/*
        %TADDM_HOME%/dist/bin/* 

   4. Unzip the patch to the new directory

	run:   unzip %PATH_TO_PATCH%/7.1.0.0-TIV-ITADDM-IF0003.zip

   5. Shutdown TADDM:

   6. Change directory to 7.1.0.0-TIV-ITADDM-IF0003/taddm_IF and run the installer appropriate for
      the TADDM OS;

	For Unix -->   		./installIF.sh

 	For Windows --> 	installIF.bat


** IMPORTANT - the userid used to install the patch must be able to create and write to %TADDM_HOME%.
The installer will update both the %TADDM_HOME%/installLogs and %TADDM_HOME%/dist dir.


   7. The installer will prompt for the %TADDM_HOME% directory such as;

Directory where Tivoli Application Dependency Discovery Manager is installed (not including "dist") [/opt/IBM/cmdb]:

	Press ENTER to accept the noted default or update as appropriate.


   8. When the script completes, start TADDM.

   9. Verify that your Configuration Discovery and Tracking server is running. 

   10. **This step may be skipped if already performed with 7.1.0.0-TIV-ITADDM-IF0001/IF0002. However, 
	if you are not sure if these have been applied, it does no harm to apply them again and may
        improve performance **


      For improved performance, run the dbupdate command to create new indexes. We recommend that you
      backup the TADDM database before completing this step. From a 
      command prompt, use one of the following procedures to run the commands: 

	- For Linux, Solaris, AIX, and Linux on System z operating systems: 

		cd <dist>/bin dbupdate.sh 71Indexes.sql > 71Indexes.out

		if database is DB2 also run;

		cd <dist>/bin dbupdate.sh 71Db2Indexes.sql > 71Db2Indexes.out

	-  For Windows operating systems: 

		cd <dist>\bin dbupdate.bat 71Indexes.sql  > 71Indexes.out

		if database is DB2 also run;

		cd <dist>/bin dbupdate.bat 71Db2Indexes.sql > 71Db2Indexes.out

      Review the fp4Indexes.out file results for any errors. 


      On Oracle systems, the following errors can be safely ignored as the error message 
      indicates that the index exists: 

		ORA-01408: such column list already indexed 

      On DB2 systems, the following error can be safely ignored as the error message indicates 
      that the index exists: 


		SQL0605W The index was not created because the index <name> already exists with the 
		required description. SQLSTATE=01550 12. 

   11. After adding the indexes, run runstats on all tables in the databases. The Database optimizer 
       uses information and statistics in the Database catalog in order to determine the best access 
       to the database, based on the query that is provided. On both domain and enterprise servers, 
       complete the following steps: 

	a. Run the following commands: 

		cd /opt/IBM/cmdb/dist/support/bin 
		./gen_db_stats.jy > runs.sql 

	b. Copy the runs.sql file to the database server. 

	   Use one of the following procedures to apply it: 

		-  If you use a DB2 database, run the following commands: 
			su - <db2 instance id> 
			db2 -tvf runs.sql 

		-  If you use an Oracle database, use sqlplus to apply runs.sql to the TADDM database.

   12. Clear the Java Web Start cache on all clients which have previously connected to this server.

       To clear the Java Web Start cache, perform the following steps;
        1. Go to the directory where Java 1.5 is installed.
        2. cd to the \jre\bin directory
        3. Double-click on javaws.exe
        4. In the Java Application Cache Viewer window, select: Edit => Preferences
        5. In the Java Control panel, under the Temporary Internet Files section, click: Delete Files 


   13. See "VIII. ADDITIONAL INFORMATION" section below for additional steps that may need to be performed in your environment. 
    
V. UNINSTALLATION INSTRUCTIONS:
        Restore the backup files to their original location and restart TADDM


VI. MODIFIED FILES:

	%TADDM_HOME%/dist/support/*
        %TADDM_HOME%/dist/sensordev/*
        %TADDM_HOME%/dist/osgi/*
        %TADDM_HOME%/dist/lib/*
        %TADDM_HOME%/dist/etc/*
        %TADDM_HOME%/dist/deploy-tomcat/*
        %TADDM_HOME%/dist/sdk/*
        %TADDM_HOME%/dist/bin/* 



VII. KNOWN DEFECTS OR LIMITATIONS

** On Windows operating systems runstats from step 10 may fail with a "max characters per line exceeded" message.
This is because each line has a trailing CR character which causes db2 to fail.
To get rid of the trailing ^M character, the following process was utilized. 
> tr -d '\015' < runs.sql > fixedruns.sql
> cp fixedruns.sql runs.sql




VIII. ADDITIONAL INFORMATION:

**To implement APAR IZ09766;

With this type of change you need to regenerate the                        
dist/etc/templates/snmp.xml file. This file contains the OIDs that we         
know about. Rename dist/etc/templates/snmp.xml so that a new one will get generated on the next discovery.           
Otherwise, the new OID's will not get discovered.                             


**For APAR IZ06673 A sensor running through the local anchor fails with the generic error message: 
Sensor failed in remote server : An error occurred, unable to connect to the local anchor, localhost 

This APAR is specific to the SUSE operating system as noted in this Sun bug: 
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6483406 The workaround is to add a property 
-Djava.net.preferIPv4Stack=true in local-anchor.sh script. The local-anchor.sh script might be replaced 
by maintenance. Note changes made to this file so that they can be re-applied after any maintenance change. 

**Configuring the commit and batch sizes for enterprise synchronization 

To configure the commit and batch size for JDBC writes to the ECMDB, you can change the following 
properties in the sync.conf file in the dist/etc/sync directory. 

The file contains the following properties: 

defaultBatchSize=100 
The defaultBatchSize property is the threshold that causes the executed write PreparedStatements 
to be sent to the database. This threshold is useful when the database is remote from the ECMDB. 
Standard JDBC makes a round trip to the database to run a prepared statement whenever the statement’s 
executeUpdate method runs. When using Batch Updates, this feature associates with each prepared 
statement object an integer called its batch size. JDBC accumulates that many execution requests for 
the statement before passing the requests to the database for execution. This is beneficial in reducing 
the number of network send and receive operations, and is particularly relevant when the database is 
remote from the application server. The default size of 100 should give you good performance for sync 
operations, but you can experiment with larger sizes to determine if it will give you performance 
improvements in your environment. 

defaultCommitSize=1000 
The defaultCommitSize property is the threshold that causes the changes that have been made over a 
JDBC Connection to be written to the database and any locks held by the Connection to be released. 
Every update to the database, for example, INSERT, UPDATE, or DELETE, causes an entry to be written 
to the database log files. In order to optimize database logging for large batch operations, and to 
avoid partial log writes, it is best to group multiple updates and commit them together. The default 
size of 1000 should give you good performance for sync operations, but you can experiment with larger 
sizes to determine if it will give you performance improvements in your environment. CommitSize 
should always be set as a multiple of BatchSize.