Closed niubaty closed 5 years ago
I'm a little confuse about the role of dispynetrelay. UDP broadcast packet can not forwarding through different network, so there should be a relay tell the dispynodes where the client(jobcluster) is. The client and dispynode must be reachable to each other in Layer 3( network layer of OSI 7 layer model ) Am I correct?
UDP broadcast works only in local network. The use case for dispynetrelay is to use nodes in remote network. Assume that local network is 192.168.1.x and remote network is 10.1.1.x. To use nodes in 10.1.1.x, the client can either list all those nodes with nodes
parameter (which may be inconvenient), or start dispynetrelay on some computer, say, on 10.1.1.5. Then client can use nodes=['*', '10.1.1.5']
. dispy will then send client information to dispynetrelay at 10.1.1.5 which will broadcast this information to all nodes in 10.1.1.x which will then contact dispy client. If firewalls are used in either network, appropriate forwarding and possibly ext_ip_addr
must be used.
Thank you @pgiri
In
dispynetrelay.py
:Task(self.verify_broadcast, addrnifo, msg)
addrnifo might be addrinfo