Thursday, October 24, 2013

TDI Sync Problem

This is pretty basic about connections. When a user tells you that he is not able to add a specific user to a community for example, check TDI synchronisation.

TDI log is in :

C:\IBM\Wizards\TDIPopulation\win\TDI\logs\ibmdi.log
If in this file, the date does not correspond to the last planned synchronisation, it is possible that the windows task is running, but the lock is still in place.

Windows sync task runs every day at 10PM in my environnement

The lock prevents multiple sync tasks to running simultaneously. The VM might have been cut off during a sync. Now the data is out of sync since quite some time because the lock prevents the sync_all_dns task from running.


C:\IBM\Wizards\TDIPopulation\win\TDI>sync_all_dns.bat
Synchronization Lock file already exist. Please turn off other running sync proc
ess before performing this one.
C:\IBM\Wizards\TDIPopulation\win\TDI>clearLock.bat
release sync lock

Now I'm able to sync :
C:\IBM\Wizards\TDIPopulation\win\TDI>sync_all_dns.bat
create synchronization lock
Platform: 'Generic'
**********
CLFRN1275I: Début de la prise d'empreinte des enregistrements dans la base de do
nnées.
CLFRN1269I: Fin de la prise d'empreinte des enregistrements dans la base de donn
ées.
**********
CLFRN1271I: Début de la prise d'empreinte des enregistrements dans le référentie
l source.
CLFRN1273I: Fin de la prise d'empreinte des enregistrements dans le référentiel
source.
**********
CLFRN1268I: Après traitement de la partition 0, 2 enregistrements ont été ajouté
s à creates.ldiff ; 1 enregistrements ont été ajoutés à deletes.dbids.
**********
CLFRN1268I: Après traitement de la partition 1, 5 enregistrements ont été ajouté
s à creates.ldiff ; 1 enregistrements ont été ajoutés à deletes.dbids.
**********
CLFRN1268I: Après traitement de la partition 2, 5 enregistrements ont été ajouté
s à creates.ldiff ; 3 enregistrements ont été ajoutés à deletes.dbids.
**********
CLFRN1268I: Après traitement de la partition 3, 3 enregistrements ont été ajouté
s à creates.ldiff ; 1 enregistrements ont été ajoutés à deletes.dbids.
**********
CLFRN1268I: Après traitement de la partition 4, 6 enregistrements ont été ajouté
s à creates.ldiff ; 1 enregistrements ont été ajoutés à deletes.dbids.
**********
CLFRN1268I: Après traitement de la partition 5, 5 enregistrements ont été ajouté
s à creates.ldiff ; 4 enregistrements ont été ajoutés à deletes.dbids.
**********
CLFRN1268I: Après traitement de la partition 6, 6 enregistrements ont été ajouté
s à creates.ldiff ; 1 enregistrements ont été ajoutés à deletes.dbids.
**********
CLFRN1268I: Après traitement de la partition 7, 4 enregistrements ont été ajouté
s à creates.ldiff ; 1 enregistrements ont été ajoutés à deletes.dbids.
**********
CLFRN1268I: Après traitement de la partition 8, 5 enregistrements ont été ajouté
s à creates.ldiff ; 2 enregistrements ont été ajoutés à deletes.dbids.
**********
CLFRN1268I: Après traitement de la partition 9, 5 enregistrements ont été ajouté
s à creates.ldiff ; 1 enregistrements ont été ajoutés à deletes.dbids.
**********
CLFRN1270I: Début du traitement des données à supprimer ou désactiver.
CLFRN1272I: Fin du traitement des données à supprimer ou désactiver.
**********
CLFRN1276I: Début du traitement des données à ajouter.
CLFRN1274I: Fin du traitement des données à ajouter.
**********
CLFRN0037I: Après la synchronisation, les enregistrements ajoutés ou modifiés so
nt 32, les enregistrements supprimés ou désactivés sont 16, les enregistrements
non modifiés sont 503 et les enregistrements avec incident sont 15.
release sync lock

Thursday, October 10, 2013

SSL and index crawl errors in log.



Index Errors


CLFRW0962E CLFRW0847E CLFRW0303E CLFRW0283E

[18/09/13 10:31:00:332 CEST] 00000092 WorkScheduler E com.ibm.connections.search.index.process.WorkScheduler processFinishedCrawlingWorkItems CLFRW0962E: Certaines entrées pour activities n'ont pas été indexées avec succès.
[18/09/13 10:31:00:348 CEST] 00000338 ServerToServe E com.ibm.connections.httpClient.ServerToServerHttpClient checkResultsForRetry SONATA: Internal Server Error @'https://srvconnect1.alteca.fr/news/seedlist/myserver?Start=0&Action=GetDocuments&Format=xml&Timestamp=AAABQScgwuw%3D&SeedlistId=SeedlistId&useLocalFS=true&Range=500'
[18/09/13 10:31:00:348 CEST] 00000338 SeedlistFetch E com.ibm.connections.search.seedlist.crawler.impl.SeedlistFetcher tryFetchFromURL CLFRW0847E: Réponse à l'erreur (Code d'état HTTP 500) à cette adresse URL de liste de départ https://srvconnect1.alteca.fr/news/seedlist/myserver?Start=0&Action=GetDocuments&Format=xml&Timestamp=AAABQScgwuw%3D&SeedlistId=SeedlistId&useLocalFS=true&Range=500. Vérifiez les adresses URL d'interservice LotusConnections-config.xml ou l'override d'URL de liste de départ search-config.xml. Si les URL sont correctes, vérifiez que le serveur cible est en cours de fonctionnement.
[18/09/13 10:31:00:348 CEST] 00000338 CrawlingWork  E com.ibm.connections.search.index.process.work.CrawlingWork run CLFRW0303E: La recherche a rencontré un problème lors du balayage de status_updates. La liste de départ finale est inaccessible. Le balayage de status_updates n'a pas pu aboutir.
[18/09/13 10:31:00:348 CEST] 00000338 CrawlingWorkL E com.ibm.connections.search.index.process.work.CrawlingWorkListener workCompleted CLFRW0283E: La recherche a rencontré un problème lors du balayage.
[18/09/13 10:31:00:348 CEST] 00000338 CrawlingWorkL I com.ibm.connections.search.index.process.work.CrawlingWorkListener workCompleted CLFRW0294I: La recherche a fini de balayer le composant status_updates.
[18/09/13 10:31:00:348 CEST] 00000339 ServerToServe E com.ibm.connections.httpClient.ServerToServerHttpClient checkResultsForRetry SONATA: Internal Server Error @'https://srvconnect1.alteca.fr/communities/calendar/seedlist/myserver?Start=0&Action=GetDocuments&Format=xml&Timestamp=AAABQScgw0o%3D&SeedlistId=SeedlistId&useLocalFS=true&Range=500'
[18/09/13 10:31:00:348 CEST] 00000339 SeedlistFetch E com.ibm.connections.search.seedlist.crawler.impl.SeedlistFetcher tryFetchFromURL CLFRW0847E: Réponse à l'erreur (Code d'état HTTP 500) à cette adresse URL de liste de départ https://srvconnect1.alteca.fr/communities/calendar/seedlist/myserver?Start=0&Action=GetDocuments&Format=xml&Timestamp=AAABQScgw0o%3D&SeedlistId=SeedlistId&useLocalFS=true&Range=500. Vérifiez les adresses URL d'interservice LotusConnections-config.xml ou l'override d'URL de liste de départ search-config.xml. Si les URL sont correctes, vérifiez que le serveur cible est en cours de fonctionnement.
[18/09/13 10:31:00:348 CEST] 00000339 CrawlingWork  E com.ibm.connections.search.index.process.work.CrawlingWork run CLFRW0303E: La recherche a rencontré un problème lors du balayage de calendar. La liste de départ finale est inaccessible. Le balayage de calendar n'a pas pu aboutir.
[18/09/13 10:31:00:348 CEST] 00000339 CrawlingWorkL E com.ibm.connections.search.index.process.work.CrawlingWorkListener workCompleted CLFRW0283E: La recherche a rencontré un problème lors du balayage.
[18/09/13 10:31:00:348 CEST] 00000339 CrawlingWorkL I com.ibm.connections.search.index.process.work.CrawlingWorkListener workCompleted CLFRW0294I: La recherche a fini de balayer le composant calendar.
[18/09/13 10:31:00:348 CEST] 00000092 WorkScheduler E com.ibm.connections.search.index.process.WorkScheduler processFinishedCrawlingWorkItems CLFRW0962E: Certaines entrées pour status_updates n'ont pas été indexées avec succès.
[18/09/13 10:31:00:348 CEST] 00000092 WorkScheduler E com.ibm.connections.search.index.process.WorkScheduler processFinishedCrawlingWorkItems CLFRW0962E: Certaines entrées pour calendar n'ont pas été indexées avec succès.
[18/09/13 10:31:00:348 CEST] 00000092 IndexCreation



Index For FNCS


SEARCH_INDEX_DIR is at C:\IBM\Connections\data\local\search\index. I deleted and recreated the index. Now the number of error diminished. All the reminder error is related to FNCS, it seems. As I have not configured FNCS yet, this might be ok. Most of my indexing seem to work fine now.

This error CLFRW0394E : This is a general error message logged when there is a problem creating a local Search index.
IndexCreation E com.ibm.connections.search.admin.lucene.IndexCreationWorkListener workCompleted CLFRW0394E: L'indexation de recherche des services [profiles, dogear, communities, activities, blogs, forums, wikis, ecm_files, files, status_updates, calendar, ] dans le répertoire C:\IBM\Connections\data\local\search\index a échoué. Vous devez examiner les journaux pour détermine le motif de l'incident et corriger ce dernier.
CLFRW0303E: La recherche a rencontré un problème lors du balayage de ecm_files.



SSL Error

[20/09/13 09:55:23:453 CEST] 00000091 SSLHandshakeE E   SSLC0008E: Impossible d'initialiser une connexion SSL.  L'accès a été refusé ou les paramètres de sécurité ont expiré.  L'exception est javax.net.ssl.SSLException: Received fatal alert: bad_certificate
at com.ibm.jsse2.o.a(o.java:12)
at com.ibm.jsse2.SSLEngineImpl.a(SSLEngineImpl.java:9)
at com.ibm.jsse2.SSLEngineImpl.a(SSLEngineImpl.java:464)
at com.ibm.jsse2.SSLEngineImpl.j(SSLEngineImpl.java:269)
at com.ibm.jsse2.SSLEngineImpl.b(SSLEngineImpl.java:71)
at com.ibm.jsse2.SSLEngineImpl.a(SSLEngineImpl.java:49)
at com.ibm.jsse2.SSLEngineImpl.unwrap(SSLEngineImpl.java:104)
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:14)
at com.ibm.ws.ssl.channel.impl.SSLUtils.handleHandshake(SSLUtils.java:1016)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInbound(SSLConnectionLink.java:566)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.ready(SSLConnectionLink.java:295)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1690)

http://wiing.fr/websphere-application-server-ssl-error/

This did not help as my certificates were up to date.

I noticed that CMSKeyStore was not created under "Key Store and Certificates"

This is linked to my plugin-key.kdb missing

So I used this procedure which actually helped me a lot. Basically I just created it by hand.


HTTP Plugin Log


Some related errors in C:\IBM\WebSphere\Plugins\logs\webserver1\http_plugin.log

[Fri Sep 20 18:02:20 2013] 00001740 000013d8 - ERROR: ws_common: websphereHandleRequest: Failed to handle request
[Fri Sep 20 18:02:22 2013] 00001740 00001e24 - ERROR: lib_stream: openStream: Failed in r_gsk_secure_soc_init: GSK_ERROR_BAD_CERT(gsk rc = 414) PARTNER CERTIFICATE DN=CN=SRVCONNECT1.alteca.fr,OU=SRVCONNECT1Cell01,OU=SRVCONNECT1CellManager01,O=IBM,C=US, Serial=00:fb:da:62:24:40:a4
[Fri Sep 20 18:02:22 2013] 00001740 00001e24 - ERROR: ws_common: websphereGetStream: Could not open stream
[Fri Sep 20 18:02:22 2013] 00001740 00001e24 - ERROR: lib_stream: openStream: Failed in r_gsk_secure_soc_init: GSK_ERROR_BAD_CERT(gsk rc = 414) PARTNER CERTIFICATE DN=CN=SRVCONNECT1.alteca.fr,OU=SRVCONNECT1Cell01,OU=SRVCONNECT1CellManager01,O=IBM,C=US, Serial=00:fb:da:62:24:40:a4
[Fri Sep 20 18:02:22 2013] 00001740 00001e24 - ERROR: ws_common: websphereGetStream: Could not open stream
[Fri Sep 20 18:02:22 2013] 00001740 00001e24 - ERROR: ws_common: websphereExecute: Failed to create the stream
[Fri Sep 20 18:02:22 2013] 00001740 00001e24 - ERROR: ws_common: websphereHandleRequest: Failed to execute the transaction to 'SRVCONNECT1Node01_connections_server'on host 'SRVCONNECT1.alteca.fr'; will try another one
[Fri Sep 20 18:02:22 2013] 00001740 00001e24 - ERROR: ws_common: websphereWriteRequestReadResponse: Failed to find an app server to handle this request
[Fri Sep 20 18:02:22 2013] 00001740 00001e24 - ERROR: ESI: getResponse: failed to get response: rc = 2
[Fri Sep 20 18:02:22 2013] 00001740 00001e24 - ERROR: ws_common: websphereHandleRequest: Failed to handle request

I have another environment of Connections 4.5 which is working correctly. Let's compare the certificates Trust and Key Stores. Into menu Security\SSL certificates and Key management\Manage endpoint security configuration :


Local Topology with inbound and outbound configuration. I'm interested in Node 01
I have 1 differences between the 2 environments : Inbound - CellDefaultTrustStore - signer certificate

For reference, here is the different certificates for my working connections Node :
CellDefaultKeyStore, signer certificates : none
CellDefaultKeyStore, personal certificates : default
CellDefaultTrustStore, signer certificates : root, websphere_ssl
CellDefaultTrustStore, personal certificates : none
NodeDefaultKeyStore, signer certificates : none
NodeDefaultKeyStore, personal certificates : default
NodeDefaultTrustStore, signer certificates : root
NodeDefaultTrustStore, personal certificates : none


Security.xml is in C:\IBM\WebSphere\AppServer\profiles\Dmgr01\config\cells\SRVCONNECT1Cell01 and similarly in the AppSrv.

Webserver Definition

I finally found the the werver had not been defined into IHS Node but into Srvconnect1Node01. I recreated it and my CMS keystore.

Conclusion

No more information on this particular case. I learned a lot about Websphere Trust Store but in order to clear all my malipulations I desintalled and resintalled Websphere.


Monday, September 16, 2013

plugin-key.kdb missing

Context

I installed Connections, and it works. I configured the web server, generated and propagated the plugin, and at the time of copying the plug in key store file to web server key store directory, the button is greyed out.





The Websphere HTTP plugin



What are advantages of using webserver and plugin?
The plug-in provides work load management and failover capabilities by distributing requests evenly to multiple application servers and routing requests away from a failed application server.
Static content can be served by the Web server without doing a full round trip to the application server.
The Web server provides an additional hardware layer between the Web browser and the application server, thus strengthening the application server’s security.

Demystifying the IBM® Web ServerPlug-in

plugin-cfg.xml file is created by clicking the “Generate Plug-in” button on the web servers page of the WebSphere administrative console.

HTTP for SSL

 This is all good and useful information. But now more specifically, we go deeper into SSL.

This is a good guide :
Configuring SSL for WebSphere and IBM Http Server : part1

Quote from part 1:
This involves setting SSL for two different communications.
1. Between Browser and IBM http server [IHS]
2. Between IBM http server [IHS] and Websphere Application Server
We are working on 2. The distinction is important.

In my plugin-key.xml :

<Property Name="keyring" Value="c:\IBM\HTTPServer\Plugins\config\webserver1\plugin-key.kdb"/>
<Property Name="stashfile" Value="c:\IBM\HTTPServer\Plugins\config\webserver1\plugin-key.sth"/>

So the keystore should be ready and created, but navigating to the folder it is missing.

But I can see that in websphere, the folder for plugin is :

C:\IBM\HTTPServer\Plugin

And in reality should be :
C:\IBM\Websphere\Plugin
This error is due to the fact that HTTPServer is the default installation folder. So be careful of this when you configure the webserver in Connections 4.5

PLGC0063E

After rectifying (delete and recreating the web server with the good parameters), I can't propagate anymore with errors PLGC0063E and PLGC0049E

PLGC0062I: Le fichier de configuration du plug-in est transmis de C:\IBM\WebSphere\AppServer\profiles\Dmgr01\config\cells\SRVCONNECT1Cell01\nodes\SRVCONNECT1Node01\servers\webserver1\plugin-cfg.xml à c:\IBM\Websphere\Plugins\config\webserver1\plugin-cfg.xml sur l'ordinateur du serveur Web.PLGC0048I: La propagation du fichier de configuration du plug-in est terminée pour le serveur Web. SRVCONNECT1Cell01.SRVCONNECT1Node01.webserver1.PLGC0063E: La transmission du fichier de configuration du plug-in entre C:\IBM\WebSphere\AppServer\profiles\Dmgr01\config\cells\SRVCONNECT1Cell01\nodes\SRVCONNECT1Node01\servers\webserver1\plugin-cfg.xml et c:\IBM\Websphere\Plugins\config\webserver1\plugin-cfg.xml sur le serveur Web a échoué.PLGC0049E: La propagation du fichier de configuration du plug-in a échoué pour le serveur Web. SRVCONNECT1Cell01.SRVCONNECT1Node01.webserver1.

A technote seem to correspond : Plug-in propagation fails with PLGC0063E and PLGC0049E when copying to remote Web server
According to this technote : the message can be ignored if the propagation is successful.

Unfortunately both button are still greyed out.

Copying manually plugin-key.kdb

"Manage keys and certificates" link for plugin-key.kdb is broken in the WebSphere Application Server administrative console

I copied the plugin-key.kdb, plugin-key.sth and plugin-key.rdb from C:\IBM\WebSphere\Plugins\config\webserver1 to C:\IBM\WebSphere\AppServer\profiles\Dmgr01\config\cells\SRVCONNECT1Cell01\nodes\SRVCONNECT1Node01\servers\webserver1

Now the 2 buttons are available.

Friday, September 13, 2013

Missing IBM HTTP Administration Server (Websphere Plugin Configuration Tool)


The IBM HTTP Server is installed but the administration service is missing :



From here I can see that this is related to the configuration in Websphere customization toolbox.

However I can see that in WCT, HTTP Administration Server seems to be enabled :



By redoing the WCT plugin configuration tool, I can find, after enabling putting Administration Server, and where I should I have "run as a service" checkbox :

Non-Administrative user configuration limitation

For those non french reader out there, this basically mean that the user running the configuration is not an administrator, so service cannot be created. Note that this is not mandatory, so that's why I was able to complete configuration without a IBM HTTP Administration service.

My user "icadmin" is in the administrator group and I ran the WCT with administrator rights.

In websphere help I can see that the user launching the configuration should have the rights to "connect as a service"

In Windows "Local Security Strategy" I add "icadmin" to "Act as part of the operating system" and "Log on as a service"


This did not solve.

Similar issues here and here in Connections forums.

I have not been able to solve. I had my rights checked by a Windows admin and he did not find the source of this. This is definitely bizarre.

But following this documentation about Plugin Configuration Tool from Steve Reid and Rob Boretti, I found this command  :
C:\IBM\HTTPServer\bin>httpd.exe -f "C:\IBM\HTTPServer\conf\admin.conf" -k install -n "IBM HTTP Administration for Websphere Application Server V8.0"

The administration service was directly created. It launched ok and I was able to use it from the Websphere Administrative Console.



Monday, September 9, 2013

Connections 4.5 Installation on 2 Windows 2008 Servers Summary


This is a summary for my own use, about installation of Connections 4.5. It's a quick reference documentation, and contains command lines and important points.
This may or may not be understandable from your point of view. I you are beginning at Connections, I suggest that you start with Zero to Hero Guide or Connections Wiki

RAA = Run As Administrator
CLAA = Command Line As Administrator


Server B

  1. For each server, create the administrative user directly on the server (not on the AD domain), add him to Administrators and the group that allow them to use windows at a distance. Log in with this user.
  2. RAA - Install DB2 without a response file. Do not start SSH server automatically. No notifications.
  3. Create LCUSER and add him to DB2USERS group.
  4. CLAA - add licence for DB2, if you have one
  5. CLAA - Configure Unicode
  6. CLAA - Database creation wizard : Run dbwizard.bat then stop and start db2
  7. RAA - Install TDI. Do not specify working directory
  8. CLAA - Install TDI FP7
  9. Modifiy runtime memory of C:\IBM\TDI\V7.1\ibmdisrv.bat
  10. CLAA - Launch population wizard. Just fill the DN of LDAP Bind User. LDAP user search base is empty. "CountryCode" might be set to "null"
  11. Have a cognos administrative account in LDAP
  12. Install DSClient
  13. Install WAS 8 and FP5
  14. Create a typical Application Server profile
  15. Update with ifpm62615 and ifpm71430
  16. Get CognosConfig and copy it on the ServerB. Get db2jcc.jar and db2jcc_license_cu.jar from C:\IBM\SQLLIB\java and put them into C:\Sources\CognosConfig\BI-Customization\JDBC
  17. Modifiy cognos-setup.properties accordingly to your environnement. (Cognos node name : YOURSERVERNode01, installation directories : C:\IBM\CognosBI, C:\IBM\CognosTF and C:\IBM\CognosTF\PowerCubes)
  18. CLAA - Launch cognos-setup.bat
  19. CLAA - Launch cognos-configure.bat
  20. Stop Cognos server and (CLAA) Federate node to ServerA. Then from Dmgr console (serverA) full resynchronize. Start Cognos server.
  21. Validate Cognos Server
Annex : command lines

4. 
db2licm -l
db2licm -a db2ese_o.lic

5.
db2set DB2CODEPAGE=1208
db2start
db2set

8.
c:\IBM\TDI\V7.1\bin\applyUpdates.bat -update TDI-7.1-FP0007.zip
c:\IBM\TDI\V7.1\bin\applyUpdates.bat -queryreg

9.
"%TDI_JAVA_PROGRAM%" -Xms256M -Xmx1024M -Xnojit -classpath "%TDI_HOME_DIR%\IDILoader.jar" %ENV_VARIABLES% com.ibm.di.loader.ServerLauncher %* 

12.
db2 catalog tcpip node db2node remote serverB.domain.com server 50000
db2 catalog database COGNOS as COGNOS at node db2node
db2 catalog database METRICS as METRICS at node db2node

20.
In C:\IBM\WebSphere\AppServer\profiles\AppSrv01\properties\soap.client.props set :
com.ibm.SOAP.requestTimeout=600
C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin> addnode serverA.domain.com 8879 -includeapps -username wasadmin -password passw0rd


21.
Processes : BIBusTKServerMain, BmtMDProviderMain, cgsLauncher
http://serverB.domain.com:9081/cognos/servlet
http://serverB.domain.com:9081/cognos/servlet/dispatch

Server A


  1. RAA - Install Installation Manager (I use 1.6.2, 32bits)
  2. Install WAS 8 and FP 5
  3. Create a typical Cell profile
  4. Update with ifpm62615 and ifpm71430
  5. At this point I usually have to install Visual C++ runtime library and reboot, else I would get an error at next stage
  6. Install IBM HTTP Server 8.0.0.5 for WAS, Websphere Plugin 8.0.0.5 for WAS and Websphere Customization Toolbox 8.0.0.5 (consists of 3 repository, Webphere Supplements, FP5 for Supplements and FP5 for the Toolbox)
  7. Launch web server plugin configuration tool : 
    • add IHS_Location at C:\IBM\Websphere\Plugins
    • Create a webserver plugin configuration, with ihsadmin for user ID
    • Install IBM HTTP Administration as a service
    • unique server web name : connections and not webserver1
    • local installation
    • AppSrv01 profile
  8. Put shortcuts (Dmgr stop/start, Node stop/start, Administrative console) on the desktop
  9. Start Dmgr and setup Federated Repositories ("Distinguished name of a base entry that uniquely identifies" should be set to "root" with a Domino LDAP). Set as current. 
  10. Enable Application Security. Configure SSO. Log out, restart Dmgr, check groups and users.
  11. Get db2jcc4.jar and db2jcc_license_cu.jar from C:\IBM\SQLLIB\java in ServerB and put them in C:\IBM\SQLLIB\java
  12. Install Connections (cluster name : CL, server name : connections_server). Stop everything, start nodes, full resynchronize the nodes. Stop everything, start everything, Connections last.
  13. Connections is working!

10.
Case is important

13.




Tuesday, August 13, 2013

addNode timeout error

Context : installing Connections, and federating Cognos Node to Dmgr.


The error is :

ADMU0027E: Une erreur s'est produite au cours de la fédération Read timed out ;
           retour à la configuration d'origine.
ADMU0211I: Les détails de l'erreur peuvent être consultés dans le fichier :
           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\addNode.log
ADMU0026I: Une erreur s'est produite au cours de la fédération ; retour à la
           configuration d'origine.
ADMU0113E: Fin du programme avec l'erreur
           com.ibm.websphere.management.exception.AdminException:
           com.ibm.websphere.management.exception.ConnectorException:
           ADMC0009E: Le système n'a pas pu effectuer d'appel RPC SOAP :
           invoke, résultant de [SOAPException: faultCode=SOAP-ENV:Client;
           msg=Read timed out; targetException=java.net.SocketTimeoutException:
           Read timed out]
ADMU1211I: Pour obtenir une trace complète de l'échec, utilisez l'option
           -trace.
ADMU0211I: Les détails de l'erreur peuvent être consultés dans le fichier :
           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\addNode.log

In addNode.log :
[12/08/13 10:04:38:867 CEST] 00000000 ProviderTrack I com.ibm.ffdc.osgi.ProviderTracker AddingService FFDC1007I: Fournisseur FFDC installé : com.ibm.ffdc.util.provider.FfdcOnDirProvider@42f47f5a
[12/08/13 10:04:38:913 CEST] 00000000 Ffdc          I com.ibm.ffdc.util.provider.FfdcOnDirProvider logIncident FFDC1003I: Incident FFDC émis sur C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\ffdc\ffdc.1639904841534703718.txt com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplate 846
[12/08/13 10:04:38:992 CEST] 00000000 AbstractNodeC E   ADMU0040E: Exception sur appel du MBean WebSphere:name=AdminOperations,process=dmgr,platform=proxy,node=SRVCONNECT1CellManager01,version=8.0.0.5,type=AdminOperations,mbeanIdentifier=AdminOperations,cell=SRVCONNECT1Cell01,spec=1.0 mergeConfigDataOnDmgr com.ibm.websphere.management.exception.ConnectorException: ADMC0009E: Le système n'a pas pu effectuer d'appel RPC SOAP : invoke

[12/08/13 10:04:39:195 CEST] 00000000 AdminTool     A   ADMU0026I: Une erreur s''est produite au cours de la fédération ; retour à la configuration d''origine.
[12/08/13 10:04:48:242 CEST] 00000000 AbstractNodeC E   ADMU0040E: Exception sur appel du MBean WebSphere:name=AdminOperations,process=dmgr,platform=proxy,node=SRVCONNECT1CellManager01,version=8.0.0.5,type=AdminOperations,mbeanIdentifier=AdminOperations,cell=SRVCONNECT1Cell01,spec=1.0 doUnMergeConfigDataOnDmgr javax.management.MBeanException: Exception thrown in RequiredModelMBean while trying to invoke operation doUnMergeConfigDataOnDmgr


Here, it is recommanded to increase timeout.

soap.client.props is here : C:\IBM\WebSphere\AppServer\profiles\AppSrv01\properties

Modified timeout to 600.
#------------------------------------------------------------------------------
# SOAP Request Timeout
#
# - timeout (specified in seconds [default 180], 0 implies no timeout)
#
#------------------------------------------------------------------------------
com.ibm.SOAP.requestTimeout=600

In Dmgr, the node has already been created by the addNode.bat command. In order to-- launch the addNode command again, wa have to remove it.

In Dmgr :


However :
  • Removing node from the Dmgr asks the the node agent to be started
  • Starting nodeagent on cognos server returns a fileNotFoundException. Server.xml is not found!
  • It not possible to removeNode using the command line on Cognos server. Error : the node is not federated to a cell.
So it is not usable but not federated. It already exists in Dmgr, but I'm not able to start the nodeagent.

C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>startNode.bat
ADMU0116I: Les informations sur les outils sont journalisées dans le fichier
           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\nodeagent\startServ
er.log
ADMU0128I: Démarrage de l'outil avec le profil AppSrv01
ADMU3100I: Lecture de la configuration du serveur : nodeagent
ADMU0111E: Fin du programme avec l'erreur : java.io.FileNotFoundException:
           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\config\cells\SRVCONNECT2
Node01Cell\nodes\SRVCONNECT2Node01\servers\nodeagent\server.xml
           (Le chemin d?accès spécifié est introuvable.)
ADMU1211I: Pour obtenir une trace complète de l'échec, utilisez l'option
           -trace.
ADMU0211I: Les détails de l'erreur peuvent être consultés dans le fichier :
           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\nodeagent\startServ
er.log
C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>syncNode.bat srvconnect1.alteca
.fr 8879
ADMU0116I: Les informations sur les outils sont journalisées dans le fichier
           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\syncNode.log
ADMU0128I: Démarrage de l'outil avec le profil AppSrv01
ADMU2026E: Le noeud SRVCONNECT2Node01 n'est pas intégré à une cellule.
C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>removeNode.bat
ADMU0116I: Les informations sur les outils sont journalisées dans le fichier
           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\removeNode.log
ADMU0128I: Démarrage de l'outil avec le profil AppSrv01
ADMU2001I: Début du retrait du noeud : SRVCONNECT2Node01.
ADMU2026E: Le noeud SRVCONNECT2Node01 n'est pas intégré à une cellule.
ADMU0211I: Les détails de l'erreur peuvent être consultés dans le fichier :
           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\removeNode.log

But if you simply force delete the Node in the Dmgr, addnode can run. 

Also uninstall the Cognos application, so you start clean. Without this you won't be able to access Cognos.

Success



Friday, August 9, 2013

-classpath is not recognized as an internal or external command operable program or batch file

During Connections 4.5 installation, at the point of launching cognos-setup.bat, I get this error :


Success to verify the JDBC connection to Cognos Content Store database.
'-classpath' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
Failed to verify the JDBC connection to Metrics database. Please check the error
 message.
Validation failed, unable to continue setup
Which in English is :
-classpath is not recognized as an internal or external command operable program or batch file
 May this be because of parenthesis in my password ?

-> No I changed every related password on this server and no amelioration.

What annoys me is that it's not even an error message ! That's a bug and that bug was already on version 4. I opened a PMR then but finally abandonned.

Finally solved by modifying the cognos-setup.bat!

  1. JDBC Connection for Cognos Content Manager works but not JDBC Connection for Metrics.
  2. I bypass the verifying of the JDBC Connection for Cognos Content Manager and now JDBC Connection for Metrics works ok!
That means that everything is good in my file but the ".bat" is not constructed correctly ??
I have some difficulty believing that this batch was not tested... So what is the difference between my environment and everyone else's ?

Here is the modification of cognos-setup.bat (basically I just added a bunch of "REM") :


REM Validate the JDBC connection.
SET was=%was.install.path%
SET java="%was%\java\bin\java.exe"
SET JAR_HOME=%cognosSetupScriptPath_%BI-Customization\JDBC\*
PUSHD %cognosSetupScriptPath_%lib
SET cp=.;"%CD%\*";"%JAR_HOME%"
POPD
REM Validate the JDBC connection to Cognos Content Store database
REM SETLOCAL ENABLEDELAYEDEXPANSION
REM    set "java_PATH=!java!"
REM FOR /F "tokens=*" %%j IN ('"!java_PATH! -classpath %cp% com.ibm.connections.metrics.cognos.install.CognosDBJDBCConnectionVerifer %cognos.db.type% %cognos.db.host% %cognos.db.name% %cognos.db.user% %cognos.db.password%"') DO (
REM ENDLOCAL
REM IF "%%j" == "JDBC Connection Success" SET cognosjdbcconnection=true
REM CALL :log %%j
REM )
REM IF NOT "%cognosjdbcconnection%" == "true" (
REM CALL :log Failed to verify the JDBC connection to Cognos Content Store database. Please check the error message.
REM EXIT /b 1
REM )
REM CALL :log Success to verify the JDBC connection to Cognos Content Store database.
REM Validate the JDBC connection to Metrics database
SETLOCAL ENABLEDELAYEDEXPANSION
    set "java_PATH=!java!"
FOR /F "tokens=*" %%j IN ('"!java_PATH! -classpath %cp% com.ibm.connections.metrics.cognos.install.MetricsDBJDBCConnectionVerifer %metrics.db.type% %metrics.db.host% %metrics.db.name% %metrics.db.user% %metrics.db.password%"') DO (
ECHO %%j
ENDLOCAL
IF "%%j" == "JDBC Connection Success" SET metricsjdbcconnection=true
CALL :log %%j
)
IF NOT "%metricsjdbcconnection%" == "true" (
CALL :log Failed to verify the JDBC connection to Metrics database. Please check the error message.
EXIT /b 1
)
CALL :log Success to verify the JDBC connection to Metrics database.
CALL :log ... performing validation check completed
ENDLOCAL
GOTO :EOF

During cognos-configure.bat, same problem of course. This time I took a different approached. I duplicated a paragraph which is used to set parameters. This one :

REM Validate the JDBC connection.
SET was=%was.install.path%
SET java="%was%\java\bin\java.exe"
SET JAR_HOME=%cognosSetupScriptPath_%BI-Customization\JDBC\*
PUSHD %cognosSetupScriptPath_%lib
SET cp=.;"%CD%\*";"%JAR_HOME%"
POPD

Here is the final result for cognos-configure.bat :

REM Validate the JDBC connection.
SET was=%was.install.path%
SET java="%was%\java\bin\java.exe"
SET JAR_HOME=%cognosSetupScriptPath_%BI-Customization\JDBC\*
PUSHD %cognosSetupScriptPath_%lib
SET cp=.;"%CD%\*";"%JAR_HOME%"
POPD
REM Validate the JDBC connection to Cognos Content Store database
SETLOCAL ENABLEDELAYEDEXPANSION
    set "java_PATH=!java!"
FOR /F "tokens=*" %%j IN ('"!java_PATH! -classpath %cp% com.ibm.connections.metrics.cognos.install.CognosDBJDBCConnectionVerifer %cognos.db.type% %cognos.db.host% %cognos.db.name% %cognos.db.user% %cognos.db.password%"') DO (
ENDLOCAL
IF "%%j" == "JDBC Connection Success" SET cognosjdbcconnection=true
CALL :log %%j
)
IF NOT "%cognosjdbcconnection%" == "true" (
CALL :log Failed to verify the JDBC connection to Cognos Content Store database. Please check the error message.
EXIT /b 1
)
CALL :log Success to verify the JDBC connection to Cognos Content Store database.
REM Validate the JDBC connection.
SET was=%was.install.path%
SET java="%was%\java\bin\java.exe"
SET JAR_HOME=%cognosSetupScriptPath_%BI-Customization\JDBC\*
PUSHD %cognosSetupScriptPath_%lib
SET cp=.;"%CD%\*";"%JAR_HOME%"
POPD
REM Validate the JDBC connection to Metrics database
SETLOCAL ENABLEDELAYEDEXPANSION
    set "java_PATH=!java!"
FOR /F "tokens=*" %%j IN ('"!java_PATH! -classpath %cp% com.ibm.connections.metrics.cognos.install.MetricsDBJDBCConnectionVerifer %metrics.db.type% %metrics.db.host% %metrics.db.name% %metrics.db.user% %metrics.db.password%"') DO (
ENDLOCAL
IF "%%j" == "JDBC Connection Success" SET metricsjdbcconnection=true
CALL :log %%j
)
IF NOT "%metricsjdbcconnection%" == "true" (
CALL :log Failed to verify the JDBC connection to Metrics database. Please check the error message.
EXIT /b 1
)
CALL :log Success to verify the JDBC connection to Metrics database.
CALL :log ... performing validation check completed
ENDLOCAL
GOTO :EOF

This worked also, but I don't like having to modify the batch. I could have opened a PMR but that would take me 3 weeks again and a lot of work