summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2013-05-10 07:47:13 -0400
committerDan Prince <dprince@redhat.com>2013-05-10 10:24:48 -0400
commitd6dc64c43f40d143ec231ad485be5e77515d8e62 (patch)
tree2999e5c4c1ab5ded49857ff7c334da8866daf486
parent46b224abf1c6f7c9bd579806f202a019e2695b29 (diff)
downloadkeystone-d6dc64c43f40d143ec231ad485be5e77515d8e62.tar.gz
keystone-d6dc64c43f40d143ec231ad485be5e77515d8e62.tar.xz
keystone-d6dc64c43f40d143ec231ad485be5e77515d8e62.zip
Revert "Disable eventlet monkey-patching of DNS"
This reverts commit 6219f94b3a1103a16bd5f16ed8ffdd41a85280e1. This commit seems to cause keystone auth to hang when using Keystone w/ Swift. Fixes LP Bug #1178646. Change-Id: Ieb94a29b3129847c84a02c8a526611f125f21ea0
-rwxr-xr-xbin/keystone-all15
-rw-r--r--keystone/__init__.py15
-rw-r--r--keystone/test.py10
3 files changed, 7 insertions, 33 deletions
diff --git a/bin/keystone-all b/bin/keystone-all
index 64c6342b..2fdc8c7a 100755
--- a/bin/keystone-all
+++ b/bin/keystone-all
@@ -2,25 +2,12 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
import greenlet
+import eventlet
import logging
import os
import signal
import sys
-# NOTE(mikal): All of this is because if dnspython is present in your
-# environment then eventlet monkeypatches socket.getaddrinfo() with an
-# implementation which doesn't work for IPv6. What we're checking here is
-# that the magic environment variable was set when the import happened.
-if ('eventlet' in sys.modules and
- os.environ.get('EVENTLET_NO_GREENDNS', '').lower() != 'yes'):
- raise ImportError('eventlet imported before keystone-all '
- '(env var set to %s)'
- % os.environ.get('EVENTLET_NO_GREENDNS'))
-
-os.environ['EVENTLET_NO_GREENDNS'] = 'yes'
-
-import eventlet
-
# If ../keystone/__init__.py exists, add ../ to Python search path, so that
# it will override what happens to be installed in /usr/(local/)lib/python...
possible_topdir = os.path.normpath(os.path.join(os.path.abspath(__file__),
diff --git a/keystone/__init__.py b/keystone/__init__.py
index bfbd31a2..e69de29b 100644
--- a/keystone/__init__.py
+++ b/keystone/__init__.py
@@ -1,15 +0,0 @@
-
-import os
-import sys
-
-# NOTE(mikal): All of this is because if dnspython is present in your
-# environment then eventlet monkeypatches socket.getaddrinfo() with an
-# implementation which doesn't work for IPv6. What we're checking here is
-# that the magic environment variable was set when the import happened.
-if ('eventlet' in sys.modules and os.environ.get(
- 'EVENTLET_NO_GREENDNS', '').lower() != 'yes'):
- raise ImportError('eventlet imported before keystone '
- '(env var set to %s)'
- % os.environ.get('EVENTLET_NO_GREENDNS'))
-
-os.environ['EVENTLET_NO_GREENDNS'] = 'yes'
diff --git a/keystone/test.py b/keystone/test.py
index 755e1b5d..77d7f7cd 100644
--- a/keystone/test.py
+++ b/keystone/test.py
@@ -14,14 +14,12 @@
# License for the specific language governing permissions and limitations
# under the License.
-
-import os
-import sys
-
import datetime
import errno
+import os
import socket
import subprocess
+import sys
import time
import eventlet
@@ -353,6 +351,10 @@ class TestCase(NoModule, unittest.TestCase):
@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: