365aae94cc
build_sphinx has a lot of spurious tracebacks, We don't really need this check for document generation Change-Id: Id9442c5902918592c4c242cc66975062cf9f2461
50 lines
1.8 KiB
Python
50 lines
1.8 KiB
Python
# Copyright 2010 United States Government as represented by the
|
|
# Administrator of the National Aeronautics and Space Administration.
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
"""
|
|
:mod:`nova.tests` -- Nova Unittests
|
|
=====================================================
|
|
|
|
.. automodule:: nova.tests
|
|
:platform: Unix
|
|
"""
|
|
|
|
# TODO(mikal): move eventlet imports to nova.__init__ once we move to PBR
|
|
import os
|
|
import sys
|
|
import traceback
|
|
|
|
|
|
# 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.
|
|
# NOTE(dims): Prevent this code from kicking in under docs generation
|
|
# as it leads to spurious errors/warning.
|
|
stack = traceback.extract_stack()
|
|
if ('eventlet' in sys.modules and
|
|
os.environ.get('EVENTLET_NO_GREENDNS', '').lower() != 'yes' and
|
|
(len(stack) < 2 or 'sphinx' not in stack[-2][0])):
|
|
raise ImportError('eventlet imported before nova/cmd/__init__ '
|
|
'(env var set to %s)'
|
|
% os.environ.get('EVENTLET_NO_GREENDNS'))
|
|
|
|
os.environ['EVENTLET_NO_GREENDNS'] = 'yes'
|
|
|
|
import eventlet
|
|
|
|
eventlet.monkey_patch(os=False)
|