[ClusterLabs] SLES11SP4: problem in ldirectord with external-perl?

Ulrich Windl Ulrich.Windl at rz.uni-regensburg.de
Thu Jan 14 08:58:38 EST 2016


Hi!

We asre using a ldirectord configuration that uses an external-perl to check for connections. That worked in SLES11SP3, but I just discovered that IPVS thinks all real services are up, when in fact the perl module reports they are down.
Could this be due to some bad change?

Trying to debug, I only found this:

DEBUG2: Starting Linux Director v1.186-ha with pid: 18136
Starting Linux Director v1.186-ha with pid: 18136
DEBUG2: Running system(/sbin/ipvsadm -A -t 172.20.17.238:25 -s nq )
Running system(/sbin/ipvsadm -A -t 172.20.17.238:25 -s nq )
DEBUG2: Added virtual server: 172.20.17.238:25
Added virtual server: 172.20.17.238:25
Use of uninitialized value in numeric gt (>) at /usr/sbin/ldirectord line 4075.

???

DEBUG2: Running system(/sbin/ipvsadm -a -t 172.20.17.238:25 -r 172.20.17.238:12503 -m -w 2)
Running system(/sbin/ipvsadm -a -t 172.20.17.238:25 -r 172.20.17.238:12503 -m -w 2)
DEBUG2: Added real server: 172.20.17.238:12503 (172.20.17.238:25) (Weight set to 2)
Added real server: 172.20.17.238:12503 (172.20.17.238:25) (Weight set to 2)
DEBUG2: Enabled  real server=external-perl:/etc/ldirectord/tcpportcheck.pl:tcp:172.20.17.238:12503:::2:masq:\/: (virtual=tcp:172.20.17.238:25)
DEBUG2: Running system(/sbin/ipvsadm -e -t 172.20.17.238:25 -r 172.20.17.238:12503 -m -w 0)
Running system(/sbin/ipvsadm -e -t 172.20.17.238:25 -r 172.20.17.238:12503 -m -w 0)
DEBUG2: Quiescent real server: 172.20.17.238:12503 (172.20.17.238:25) (Weight set to 0)Quiescent real server: 172.20.17.238:12503 (172.20.17.238:25) (Weight set to 0)
DEBUG2: Disabled real server=external-perl:/etc/ldirectord/tcpportcheck.pl:tcp:172.20.17.238:12503:::2:masq:\/: (virtual=tcp:172.20.17.238:25)
Use of uninitialized value in numeric gt (>) at /usr/sbin/ldirectord line 4075.

??? This server should be UP!

[...]

The line in question is in _service_up() at "if ($r->{failcount} > 0) {".

As a quick work-around I changed "checktype = external-perl" to "checktype = external", and it works as before now.

Regards,
Ulrich






More information about the Users mailing list