Skip to content

Commit

Permalink
Skip IPv6 tests for eventlet dns
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Brant Knudson authored and Adam Young committed May 7, 2013
1 parent 22d96b2 commit b55620d
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions keystone/test.py
Expand Up @@ -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:
Expand Down

0 comments on commit b55620d

Please sign in to comment.