1
0
mirror of https://github.com/ceph/ceph synced 2025-04-01 23:02:17 +00:00

Merge pull request from ceph/wip-5941

Instructions for installing teuthology on non-debian-based OSs
This commit is contained in:
Zack Cerza 2013-08-14 09:36:55 -07:00
commit 9b947e2726
3 changed files with 79 additions and 26 deletions

View File

@ -23,6 +23,16 @@ perform actions concurrently or in the background.
Build
=====
``teuthology`` is not meant to be distributed as a library, therefore we depend
on the pinned dependencies listed in ``requirements.txt``, the ``setup.py``
will not list any and will only be there to install the package entry points
(a.k.a teuthology's scripts).
``bootstrap`` for Ubuntu Systems
--------------------------------
A ``boostrap`` script is provided for automated builds/execution of teuthology
itself. You can run it directly **only if you are using Ubuntu**.
Teuthology uses several Python packages that are not in the standard
library. To make the dependencies easier to get right, we use a
@ -35,9 +45,65 @@ and then run::
./bootstrap
You can run Teuthology's internal unit tests with::
./virtualenv/bin/nosetests
osx
---
.. note:: These instructions assume you are using `homebrew <http://brew.sh/>`_
As always, create a ``virtualenv`` specific to ``teuthology`` and make sure it
is activated before proceeding (location doesn't matter, we use an example
location)::
mkdir ~/.virtualenvs
virtualenv ~/.virtualenvs/teuthology
source ~/.virtualenvs/teuthology/bin/activate
Install the system dependencies::
brew install libvirt mysql libevent
``libvirt`` does not link the python bindings so you need to do this step
manually::
$ cd /Library/Python/{pyversion}/site-packages
$ sudo ln -s /usr/local/Cellar/libvirt/{version}/lib/python{pyversion}/site-packages/* .
Make sure you are able to import ``libvirt`` without error::
python -c "import libvirt"
Finally, install the teuthology package and ``requirements.txt``::
$ python setup.py develop
$ pip install -r requirements.txt
Generic install
---------------
These instructions should help get ``teuthology`` installed properly in
a system that is not OSX or Debian-based.
Install all the system dependencies needed:
* mysql client
* libevent
* libvirt (with the Python bindings)
Install Python packaging tools:
* pip
* virtualenv
In some cases, depending on the OS, you will need a python development package
with some build helpers that are required to build packages. In Ubuntu, this is
the ``python-dev`` package.
With a dedicated ``virtualenv`` activated, install the teuthology package and
``requirements.txt``::
$ python setup.py develop
$ pip install -r requirements.txt
Test configuration

View File

@ -1,18 +1,18 @@
# 0.14 switches to libev, that means bootstrap needs to change too
gevent ==0.13.6
gevent == 0.13.6
# 1.7.7 has AES-128-CBC support for SSH keys, that's needed
paramiko >=1.7.7
configobj
MySQL-python == 1.2.3
PyYAML
bunch >=1.0.0
argparse >=1.2.1
argparse >= 1.2.1
beanstalkc >= 0.2.0
boto >= 2.0b4
bunch >= 1.0.0
configobj
httplib2
beanstalkc >=0.2.0
boto >=2.0b4
paramiko >= 1.7.7
pexpect
requests ==0.14.0
MySQL-python ==1.2.3
requests == 0.14.0
# Test Dependencies
nose >=1.0.0
fudge >=1.0.3
# nose >=1.0.0
# fudge >=1.0.3

View File

@ -1,4 +1,3 @@
#!/usr/bin/python
from setuptools import setup, find_packages
setup(
@ -12,18 +11,6 @@ setup(
license='MIT',
keywords='ceph testing ssh cluster',
install_requires=[
'gevent ==0.13.6',
'paramiko >=1.7.7',
'configobj',
'PyYAML',
'bunch >=1.0.0',
'argparse >=1.2.1',
'httplib2',
'beanstalkc >=0.2.0',
'pexpect',
],
# to find the code associated with entry point
# A.B:foo first cd into directory A, open file B
# and find sub foo