From b55620d7ee0f87b0339285b16dd6fd68e5516b10 Mon Sep 17 00:00:00 2001 From: Brant Knudson Date: Mon, 6 May 2013 13:42:26 -0500 Subject: [PATCH] Skip IPv6 tests for eventlet dns Eventlet address resolving doesn't support IPv6. This is causing the gate to fail. The failure happens when the dnspython package is installed in the environment. When dnspython is there then eventlet takes over getaddrinfo, and eventlet's getaddrinfo doesn't support IPv6. If dnspython isn't there, then the eventlet patching doesn't happen and IPv6 address resolution works. It appears that the pip dependencies have recently been updated so that dnspython gets installed now. The fix is to skip the 3 tests that force the server to listen on "::1". Fixes bug 1176204 Once eventlet is updated, we can add the tests back in. Here's the eventlet code in question: https://bitbucket.org/eventlet/eventlet/src/e0f578180d7d82d2ed3d8a96d520103503c524ec/eventlet/support/greendns.py?at=0.12#cl-166 Change-Id: Ib7a5a5f0dcac82229b7b7fb3df4b1ef141586c5f --- keystone/test.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/keystone/test.py b/keystone/test.py index 45c54e63e9..77d7f7cdd5 100644 --- a/keystone/test.py +++ b/keystone/test.py @@ -350,6 +350,11 @@ def assertDictContainsSubset(self, dict1, dict2): @staticmethod def skip_if_no_ipv6(): + + # TODO(blk-u): lp 1176204. At this time, eventlet address resolution + # doesn't support IPv6. Once it does, remove the next line. + raise nose.exc.SkipTest("Eventlet doesn't support IPv6, lp 1176204") + try: s = socket.socket(socket.AF_INET6) except socket.error as e: