From 0e20f91c11afdc17ea776aa02e0cc8b0d59a23d4 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Thu, 17 Sep 2020 14:24:48 +0000 Subject: bitbake: hashserv: Fix localhost sometimes resolved to a wrong IP From: Anatol Belski Using localhost for direct builds on host is fine. A case with a misbehavior has been sighted on a Docker build. Even when the host supports IPv6, but Docker is not configured correspondingly - some versions of the asyncio Python module seem to misbehave and try to use IPv6 where it's not supported in the container. This happens at least on some Ubuntu 18.04 based containers, resolving the IP explicitly appears to be the fix. Signed-off-by: Anatol Belski Signed-off-by: Richard Purdie --- lib/hashserv/tests.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/hashserv/tests.py b/lib/hashserv/tests.py index b34c43687..4566f2473 100644 --- a/lib/hashserv/tests.py +++ b/lib/hashserv/tests.py @@ -14,6 +14,7 @@ import sys import tempfile import threading import unittest +import socket class TestHashEquivalenceServer(object): @@ -163,4 +164,8 @@ class TestHashEquivalenceUnixServer(TestHashEquivalenceServer, unittest.TestCase class TestHashEquivalenceTCPServer(TestHashEquivalenceServer, unittest.TestCase): def get_server_addr(self): - return "localhost:0" + # Some hosts cause asyncio module to misbehave, when IPv6 is not enabled. + # If IPv6 is enabled, it should be safe to use localhost directly, in general + # case it is more reliable to resolve the IP address explicitly. + return socket.gethostbyname("localhost") + ":0" + -- cgit 1.2.3-korg