From 6d7769d4866e98be2360adafa6dd731cbe1cf03e Mon Sep 17 00:00:00 2001 From: Philip ABBET <philip.abbet@idiap.ch> Date: Mon, 12 Dec 2016 14:44:55 +0100 Subject: [PATCH] Fix the host ip address determination --- beat/core/agent.py | 11 +---------- beat/core/dock.py | 6 ++++-- 2 files changed, 5 insertions(+), 12 deletions(-) mode change 100644 => 100755 beat/core/agent.py mode change 100644 => 100755 beat/core/dock.py diff --git a/beat/core/agent.py b/beat/core/agent.py old mode 100644 new mode 100755 index 2e5eab95..8b61307b --- 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 1eb61bf6..57e415f2 --- 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): -- GitLab