On Fri, 2007-01-12 at 11:02 -0500, Lon Hohberger wrote: > On Fri, 2007-01-12 at 14:59 +0100, Simone Gotti wrote: > > Hi all, > > > > On a 2 node openais cman cluster, I failed a network interface and > > noticed that it didn't failed over the other node. > > > > Looking at the rgmanager-2.0.16 code I noticed that: > > > > handle_relocate_req is called with preferred_target = -1, but inside > > this function, there are 2 checks to see if the preferred_target is > > setted, the check is a 'if (preferred_target != 0)' so the function > > thinks that a preferred target is choosed. Then, inside the cycle, the > > only one target that really exists is "me" (as -1 isn't a real target) > > and there a "goto exausted:", the service is then restarted only on the > > locale node, where it fails again and so it's stopped. Changing these > > checks to "> 0" worked. > > > > Before writing a patch I noticed that in the RHEL4 CVS tag is used a > > NODE_ID_NONE instead of the numeric values, so the problem (not tested) > > probably doesn't happen. Good catch. NODE_ID_NONE isn't in RHEL5[0]/HEAD right now; so the checks should be ">= 0" rather than "!= 0". NODE_ID_NONE was (uint64_t)(-1) on RHEL4. > > The same problem is in the ip.sh resource scripts as it's missing the > > patch for "Fix bug in ip.sh allowing start of the IP if the link was > > down, preventing failover (linux-cluster reported)." in 1.5.2.16 of > > RHEL4 branch. You're right, it's missing. -- Lon -- Linux-cluster mailing list Linux-cluster@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/linux-cluster