+++ /dev/null
---- .nova-venv/lib/python2.6/site-packages/eventlet/green/subprocess.py.orig
-2011-05-25
-23:31:34.597271402 +0000
-+++ .nova-venv/lib/python2.6/site-packages/eventlet/green/subprocess.py
-2011-05-25
-23:33:24.055602468 +0000
-@@ -32,7 +32,7 @@
- setattr(self, attr, wrapped_pipe)
- __init__.__doc__ = subprocess_orig.Popen.__init__.__doc__
-
-- def wait(self, check_interval=0.01):
-+ def wait(self, check_interval=0.01, timeout=None):
- # Instead of a blocking OS call, this version of wait() uses logic
- # borrowed from the eventlet 0.2 processes.Process.wait() method.
- try:
-
module=log
module=network_utils
module=notifier
-module=patch_tox_venv
module=periodic_task
module=policy
module=processutils
-module=redhat-eventlet.patch
module=rootwrap
module=rpc
module=scheduler
install.check_dependencies()
install.create_virtualenv(no_site_packages=options.no_site_packages)
install.install_dependencies()
- install.post_process()
print_help()
if __name__ == '__main__':
self.pip_install('-r', self.requirements)
self.pip_install('-r', self.test_requirements)
- def post_process(self):
- self.get_distro().post_process()
-
def parse_args(self, argv):
"""Parses command-line arguments."""
parser = optparse.OptionParser()
' requires virtualenv, please install it using your'
' favorite package management tool' % self.project)
- def post_process(self):
- """Any distribution-specific post-processing gets done here.
-
- In particular, this is useful for applying patches to code inside
- the venv.
- """
- pass
-
class Fedora(Distro):
"""This covers all Fedora-based distributions.
return self.run_command_with_code(['rpm', '-q', pkg],
check_exit_code=False)[1] == 0
- def apply_patch(self, originalfile, patchfile):
- self.run_command(['patch', '-N', originalfile, patchfile],
- check_exit_code=False)
-
def install_virtualenv(self):
if self.check_cmd('virtualenv'):
return
self.die("Please install 'python-virtualenv'.")
super(Fedora, self).install_virtualenv()
-
- def post_process(self):
- """Workaround for a bug in eventlet.
-
- This currently affects RHEL6.1, but the fix can safely be
- applied to all RHEL and Fedora distributions.
-
- This can be removed when the fix is applied upstream.
-
- Nova: https://bugs.launchpad.net/nova/+bug/884915
- Upstream: https://bitbucket.org/eventlet/eventlet/issue/89
- RHEL: https://bugzilla.redhat.com/958868
- """
-
- # Install "patch" program if it's not there
- if not self.check_pkg('patch'):
- self.die("Please install 'patch'.")
-
- # Apply the eventlet patch
- self.apply_patch(os.path.join(self.venv, 'lib', self.py_version,
- 'site-packages',
- 'eventlet/green/subprocess.py'),
- 'contrib/redhat-eventlet.patch')
+++ /dev/null
-# 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 first_file(file_list):
- for candidate in file_list:
- if os.path.exists(candidate):
- return candidate
-
-
-def main(argv):
- root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
-
- venv = os.environ['VIRTUAL_ENV']
-
- pip_requires = first_file([
- os.path.join(root, 'requirements.txt'),
- os.path.join(root, 'tools', 'pip-requires'),
- ])
- test_requires = first_file([
- os.path.join(root, 'test-requirements.txt'),
- os.path.join(root, 'tools', 'test-requires'),
- ])
- py_version = "python%s.%s" % (sys.version_info[0], sys.version_info[1])
- project = 'cinder'
- 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)
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
- python tools/patch_tox_venv.py
python setup.py testr --slowest --testr-args='--concurrency 1 {posargs}'
{toxinidir}/tools/conf/check_uptodate.sh
# tests conflict with coverage.
setenv = VIRTUAL_ENV={envdir}
commands =
- python tools/patch_tox_venv.py
python setup.py testr --coverage \
--testr-args='^(?!.*test.*coverage).*$'