Friday, December 17, 2010

Federating a node in Websphere 5.1

Hi All,

Recently was working on a task to federate a node running on a remote system. Thought will share the information.
Task:
Deployment Manager 5.1 running on System A in secured mode. cell name: "MyNetwork"
Websphere Application Server 5.1 instance running on System B. nodename: "SystemB"
Objective was to federate the node SystemB under the cell MyNetwork.

1. Run the addNode.sh command from the node you want to federate
Go to the WAS bin folder. For ex: cd /opt/WebSphere/AppServer/bin
Run the script
./addNode.sh dmgr_host dmgr_port


since the dmgr cell is running in a secured mode, the username and password needs to be passed in the command line.

./addNode.sh dmgr_host dmgr_port -username [username] -password [password]

where dmgr_host is the deployment manager host name
dmgr_port is the deployment manager control port. This by default is 8879

The above command if fails with an Error saying couldn't connect to the deployment manager then this could be because of the SSL connection being refused.

To resolve this add the deployment manaager security certificate into the SystemB DummyCliestTrustFile.jks. You can save the certificate on your system by access the dmgr admin console running on https. Then click the lock icon the browser and save the certificate on your hard drive.

Add this certficate to the SystemB trust store.

Go to : /opt/WebSphere/AppServer/etc/ and run the command:

keytool -import -alias somealias -file /yourfolder/saved_cert.cer -keystore DummyClientTrustFile.jks

2. After the node is federated to to the deployment manager admin console and refresh it and check if the nodeagent for the new node is listed in the Node Agents section. If the nodeagent for the new node shows as started then the node is successfully federated.

3. Since the dmgr is running in a secured mode the nodeagent might show up as not active in the dmgr admin console. To resolve this you need to copy and the
/../DeploymentManager/etc/DummyServerKeyFile.jks
/../DeploymentManager/etc/DummyServerTrustFile.jks
into the SystemB Websphere instance
Note: Do not do this in a production environment. Generate valid certificates for your production environment.

4. Restart the nodeagent on the SystemB instance
/opt/WebSphere/AppServer/bin/./startNode.sh

5. Refresh the dmgr admin console you should see the nodeagent for the node SystemB started.

You can now manage the node SystemB using the deployment manager running on System A.

Let me know if you have questions or suggestions.