diff options
author | Dan Prince <dprince@redhat.com> | 2013-05-10 07:47:13 -0400 |
---|---|---|
committer | Dan Prince <dprince@redhat.com> | 2013-05-10 10:24:48 -0400 |
commit | d6dc64c43f40d143ec231ad485be5e77515d8e62 (patch) | |
tree | 2999e5c4c1ab5ded49857ff7c334da8866daf486 | |
parent | 46b224abf1c6f7c9bd579806f202a019e2695b29 (diff) | |
download | keystone-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-x | bin/keystone-all | 15 | ||||
-rw-r--r-- | keystone/__init__.py | 15 | ||||
-rw-r--r-- | keystone/test.py | 10 |
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: |