From e0d9982d400f175474ee88e508fae07c9761f84f Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 2 May 2013 10:28:20 +0100 Subject: [PATCH] Copy the RHEL6 eventlet workaround from Oslo Tests in oslo-incubator now need the horrendous hack to workaround an issue with eventlet on RHEL6. We've moved the patch_tox_venv tool and redhat-eventlet.patch into oslo-incubator, so add them to openstack-common.conf. Change-Id: I1acfec282b64d7582144b155119bedb1741db2f7 --- openstack-common.conf | 2 ++ tools/install_venv_common.py | 3 ++- tools/patch_tox_venv.py | 38 ++++++++++++++++++++++++++++++++++++ tox.ini | 2 ++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 tools/patch_tox_venv.py diff --git a/openstack-common.conf b/openstack-common.conf index cc192172..8c35c08c 100644 --- a/openstack-common.conf +++ b/openstack-common.conf @@ -13,7 +13,9 @@ module=log module=loopingcall module=network_utils module=notifier +module=patch_tox_venv module=policy +module=redhat-eventlet.patch module=rpc module=service module=setup diff --git a/tools/install_venv_common.py b/tools/install_venv_common.py index 914fcf17..42a44e8c 100644 --- a/tools/install_venv_common.py +++ b/tools/install_venv_common.py @@ -207,7 +207,8 @@ class Fedora(Distro): This can be removed when the fix is applied upstream. Nova: https://bugs.launchpad.net/nova/+bug/884915 - Upstream: https://bitbucket.org/which_linden/eventlet/issue/89 + Upstream: https://bitbucket.org/eventlet/eventlet/issue/89 + RHEL: https://bugzilla.redhat.com/958868 """ # Install "patch" program if it's not there diff --git a/tools/patch_tox_venv.py b/tools/patch_tox_venv.py new file mode 100644 index 00000000..6941af99 --- /dev/null +++ b/tools/patch_tox_venv.py @@ -0,0 +1,38 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2013 Red Hat, Inc. +# +# 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. + +import os +import sys + +import install_venv_common as install_venv + + +def main(argv): + root = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + + venv = os.environ['VIRTUAL_ENV'] + + pip_requires = os.path.join(root, 'tools', 'pip-requires') + test_requires = os.path.join(root, 'tools', 'test-requires') + py_version = "python%s.%s" % (sys.version_info[0], sys.version_info[1]) + project = 'heat' + install = install_venv.InstallVenv(root, venv, pip_requires, test_requires, + py_version, project) + #NOTE(dprince): For Tox we only run post_process (which patches files, etc) + install.post_process() + +if __name__ == '__main__': + main(sys.argv) diff --git a/tox.ini b/tox.ini index d4cf773e..f36871fb 100644 --- a/tox.ini +++ b/tox.ini @@ -6,6 +6,7 @@ setenv = VIRTUAL_ENV={envdir} deps = -r{toxinidir}/tools/pip-requires -r{toxinidir}/tools/test-requires commands = + python tools/patch_tox_venv.py python setup.py testr --slowest --testr-args='{posargs}' [testenv:pep8] @@ -17,4 +18,5 @@ commands = {posargs} [testenv:cover] setenv = VIRTUAL_ENV={envdir} commands = + python tools/patch_tox_venv.py python setup.py testr --coverage -- 2.45.2