Error: "ClusterBindRequest: failed" and cluster resource goes comatose.

  • 7014072
  • 09-Nov-2013
  • 11-Nov-2013

Environment

Novell Open Enterprise Server 2 (OES 2) Linux

Situation

Cluster was moved to a new subnet.  After rebooting and updating IP addresses, the node would join the cluster but resources would go comatose upon mounting.

Errors observed were:

in /var/opt/novell/log/ncpserv.log
   ChangeVolumeStatus volume DATA mounted
   ClusterBindRequest: failed servname=VIRTSVRNAME ipaddr=10.20.30.55 DUPLICATE
   ChangeVolumeStatus: Volume DATA dismounted


in cluster resource load log (i.e. /var/opt/novell/log/ncs/VIRT_SERVER.load.out):
   + exit_on_error ncpcon bind --ncpservername=VIRTSVRNAME --ipaddress=10.20.30.55
   + eval ncpcon bind --ncpservername=VIRTSVRNAME --ipaddress=10.20.30.55
   ++ ncpcon bind --ncpservername=VIRTSVRNAME --ipaddress=10.20.30.55
   ... Executing " bind"

   ... FAILED completion [elapsed time = 410 usecs]
   + rc=1




Resolution

Ensure all load lines in the cluster scripts -- load / unload / monitor -- agree with regards to IP address for the given resource.

Here is an example script:
#!/bin/bash
. /opt/novell/ncs/lib/ncsfuncs
exit_on_error nss /poolact=DATA
exit_on_error ncpcon mount DATA=251
exit_on_error add_secondary_ipaddress 10.20.30.55
exit_on_error ncpcon bind --ncpservername=VIRTSVRNAME --ipaddress=10.20.30.55
exit_on_error novcifs --add '--vserver=".cn=VIRTSVRNAME.ou=MyOU.o=MyORG.t=MyTREE."' --ip-addr=192.168.40.55

note that the "--ip-addr" parameter in the last line (192.168.40.55) does not agree with the previous 2 lines (10.20.30.55).

The proper script for the above would look like:


#!/bin/bash
. /opt/novell/ncs/lib/ncsfuncs
exit_on_error nss /poolact=DATA
exit_on_error ncpcon mount DATA=251
exit_on_error add_secondary_ipaddress 10.20.30.55
exit_on_error ncpcon bind --ncpservername=VIRTSVRNAME --ipaddress=10.20.30.55
exit_on_error novcifs --add '--vserver=".cn=VIRTSVRNAME.ou=MyOU.o=MyORG.t=MyTREE."' --ip-addr=10.20.30.55

Cause

When editing the resource scripts in iManager, the last line is very long and scrolls quite far to the right. 

Additional Information

A quick way to verify that the ip addresses are correct, is to verify the script in /var/opt/novell/ncs for each resource -- all of the data should fit/wrap in a terminal session.
If the information is incorrect in the *.load, *.unload, or *.monitor:

a) verify the scripts in iManager (ensuring to scroll all the way to the right)
b) allow a few minutes for eDirectory to sync the changes
c) run "/opt/novell/ncs/bin/ncs-configd.py -init" on each node.  This will read the information from eDirectory and update your scripts.

You can then either try to cluster load a resource and/or verify that the load/unload/monitor scripts are correct (and repeat the steps above if not working correctly).