Why does dispynode return "ignoring ping" when contacted by dispy client?

475 Views Asked by At

I'm working with a cluster of Centos6.5 servers, where I have one head node and the rest are slave nodes. The nodes are connected through a switch on a local network 192.168.1.x that's not visible to the outside world.

I'm trying to use Python Dispy on the head node to distribute a Python script on the slave nodes. The slave nodes are all running dispynode.py and when I fire up the Dispy program on the client node the slaves running dispynode.py return "ignoring ping from 192.168.1.1". It then just hangs. Any ideas on why the slaves running dispynode are ignoring and not running the job?

Thanks!

1

There are 1 best solutions below

0
Doug On BEST ANSWER

The answer is as @Rich mentioned above, versions must be the same. Dispy does not return a very helpful error message when client nodes and server nodes have different versions. They must have the same version number in order to communicate properly. I found this in the source code for dispynode.py:

try:
                info = unserialize(msg[len('PING:'):])
                assert info['version'] == _dispy_version
                if info['ip_addr'] is None:
                    addr = (addr[0], info['port'])
                else:
                    addr = (info['ip_addr'], info['port'])
except:
                logger.debug('Ignoring ping message from %s (%s)', addr[0], addr[1])
                continue

Note the assert version line.