Pages

Monday, November 19, 2012

pdsh y pingd

Estaba a punto de escribir el siguiente correo a la lista de usuarios de whatsup [1]

Hello,

We have issues with whatsup 1.14

$ rpm -qa | grep whatsup # compiled from the source with rpmbuild
whatsup-backend-pingd-1.14-1
whatsup-pingd-1.14-1
whatsup-1.14-1
whatsup-pingd-clusterlist-genders-1.14-1
whatsup-clusterlist-genders-1.14-1

$ cat /etc/pingd
$ grep -v ^# /etc/pingd.conf
ping_period 15000
pingd_server_port 8649

host host01
host host02

# /usr/sbin/pingd -d
conf.debug = 1
conf.ping_period = 15000
conf.pingd_server_port = 8649
conf.hosts = host[01-02]

Ping Reply from host01
Ping Reply from host02

Received pingd server request
Received pingd server request

pingd: (pingd_loop.c, _send_ping_data, 411): fd_write_n: Connection reset by peer

$ whatsup  -o localhost -p 8649 host01
XML_ParseBuffer: Operation now in progress
whatsup: _output_mode: nodeupdown_load_data(): internal system error

$ strace whatsup  -o localhost -p 8649 host01
connect(3, {sa_family=AF_INET, sin_port=htons(8649), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress)
select(4, [3], [3], NULL, {5, 0})       = 1 (out [3], left {5, 0})
getsockopt(3, SOL_SOCKET, SO_ERROR, [17179869184], [4]) = 0
fcntl(3, F_SETFL, O_RDWR)               = 0
read(3, "host01 1353341183\nhost"..., 8192) = 50
write(2, "XML_ParseBuffer: Operation now i"..., 43XML_ParseBuffer: Operation now in progress
Cuando mirando el código descubro que XML_ParserBuffer proviene de un módulo de ganglia ... el cuál no uso ...

La solución pasó por compilar con únicamente las opciones que se necesitaban:

 time LANG=C rpmbuild --with pingd --with genders --without ganglia --without cerebro --without openib --without hostsfile -ta rpmbuild/SOURCES/whatsup-1.14.tar.gz

Y dolor de cabeza solucionado ...

¡ pdsh + whatsup rocks !

[1] http://sourceforge.net/projects/whatsup/

No comments:

Post a Comment