User Application 3.7 (and later) clustering using the JBoss TCP stack

  • 7006728
  • 25-Aug-2010
  • 26-Apr-2012

Environment

Novell Identity Manager Roles Based Provisioning Module 3.7
Novell Identity Manager Roles Based Provisioning Module 4.0
JBoss Application Server 5.x (jdk6)

Situation

By default, the Roles Based Provisioning Module (User Application) uses the UDP protocol and multicast transmission for all clustering operations.  In certain cases, where the UDP protocol and/or multicast transmission is not available between nodes in the User Application cluster (e.g., WAN links separating nodes), it is necessary to use the TCP protocol and unicast transmission to perform the clustering operations.

Resolution

Special Notice:  If you are new to the concept of clustering the User Application, please review the Clustering topic of the Roles Based Provisioning Module Administration Guide at https://www.novell.com/documentation/idm401/agpro/data/b2gx73a.html.

To enable User Application 4.0 clustering via the TCP protocol and unicast transmission, perform the following steps on every node in the User Application Cluster:
  1. Login to the User Application as the administrator.
  2. Click on the Administration tab and choose Caching from the left hand navigation bar.
  3. In the Cluster and Cache Configuration, Cluster Configuration section, change the Global Value for Cluster Enabled to true.
  4. In the Cluster and Cache Configuration, Cluster Configuration section, change the Cluster Properties so that Enable Local is checked and the following string is entered:
    TCP(start_port=7815;loopback=true):TCPPING(initial_hosts=${novell.jgroups.tcp.tcpping.initial_hosts};port_range=10;timeout=3000;num_initial_members=3):MERGE2(max_interval=10000;min_interval=5000):FD(shun=true;timeout=2500;max_tries=5):VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=100;retransmit_timeout=3000):pbcast.STABLE(desired_avg_gossip=20000):pbcast.GMS(print_local_addr=true;join_timeout=5000;shun=true;view_bundling=true)
    Notice:  This should be a contiguous string with no spaces before, after, or within.
  5. Save your configuration
  6. In your JBoss startup script (start-jboss.bat or start-jboss.sh for Windows or Linux, respectively), add the following two arguments to the JAVA_OPTS section:
    -Djboss.default.jgroups.stack=tcp
    -Dnovell.jgroups.tcp.tcpping.initial_hosts=xxx.xxx.xxx.xxx[7815],xxx.xxx.xxx.xxx[7815]
    (where xxx.xxx.xxx.xxx are the IP addresses of your User Application 3.7 cluster nodes)
  7. (optional) If your server has multiple IP interfaces, you may need to bind jGroups to a specific IP address.  To do this, add the following argument to the JAVA_OPTS section of your JBoss startup script (start-jboss.bat or start-jboss.sh for Windows or Linux, respectively):
    -Djgroups.bind_addr=xxx.xxx.xxx.xxx
    (where xxx.xxx.xxx.xxx is the IP Address you wish to use for clustering on your local device)
  8. Restart JBoss.

Additional Information

The above procedure will only enable clustering for the User Application, not the JBoss default clustering partition.

The information in this TID is for Identity Manager Roles Based Provisioning Module (User Application) 3.7 and later when used with JBoss Application Server 5.x (jdk6) ONLY.  For information on clustering previous versions of User Application, please review TID 3448409 - User Application 3.6.1 (and earlier) clustering using the JBoss TCP stack.