diff --git a/beat/core/agent.py b/beat/core/agent.py old mode 100644 new mode 100755 index 2e5eab957723a4217877b70c994aaeb20e234191..8b61307b46d61fd8f5449843e450bd930c4ab04d --- a/beat/core/agent.py +++ b/beat/core/agent.py @@ -45,15 +45,6 @@ from . import dock from . import baseformat -def get_network_ip_address(host_address): - '''Returns the most sensible network IP address given a host address''' - - import socket - import difflib - possible_addresses = socket.gethostbyname_ex(socket.gethostname())[2] - return difflib.get_close_matches(host_address, possible_addresses, cutoff=0)[0] - - class Server(gevent.Greenlet): '''A 0MQ server for our communication with the user process''' @@ -69,7 +60,7 @@ class Server(gevent.Greenlet): self.context = zmq.Context() self.socket = self.context.socket(zmq.PAIR) - self.address = 'tcp://' + get_network_ip_address(host_address) + self.address = 'tcp://' + host_address port = self.socket.bind_to_random_port(self.address) self.address += ':%d' % port logger.debug("zmq server bound to `%s'", self.address) diff --git a/beat/core/dock.py b/beat/core/dock.py old mode 100644 new mode 100755 index 1eb61bf6827c2330149ef5533b8e4b4ec55186b1..57e415f2325db1bb931cdb7f248ab0a8c4d54e52 --- a/beat/core/dock.py +++ b/beat/core/dock.py @@ -39,6 +39,7 @@ import six import docker import requests import simplejson +import socket from . import stats @@ -107,8 +108,9 @@ class Host(object): @property def ip(self): '''The IP address of the docker host''' - - return '127.0.0.1' + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect(('8.8.8.8', 0)) # connecting to a UDP address doesn't send packets + return s.getsockname()[0] def _discover_environments(self, raise_on_errors=True):