mirror of
https://github.com/ceph/ceph
synced 2025-04-11 04:02:04 +00:00
Merge pull request #31 from ceph/wip-5941
Instructions for installing teuthology on non-debian-based OSs
This commit is contained in:
commit
9b947e2726
70
README.rst
70
README.rst
@ -23,6 +23,16 @@ perform actions concurrently or in the background.
|
|||||||
|
|
||||||
Build
|
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
|
Teuthology uses several Python packages that are not in the standard
|
||||||
library. To make the dependencies easier to get right, we use a
|
library. To make the dependencies easier to get right, we use a
|
||||||
@ -35,9 +45,65 @@ and then run::
|
|||||||
|
|
||||||
./bootstrap
|
./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
|
Test configuration
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
# 0.14 switches to libev, that means bootstrap needs to change too
|
# 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
|
# 1.7.7 has AES-128-CBC support for SSH keys, that's needed
|
||||||
paramiko >=1.7.7
|
MySQL-python == 1.2.3
|
||||||
configobj
|
|
||||||
PyYAML
|
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
|
httplib2
|
||||||
beanstalkc >=0.2.0
|
paramiko >= 1.7.7
|
||||||
boto >=2.0b4
|
|
||||||
pexpect
|
pexpect
|
||||||
requests ==0.14.0
|
requests == 0.14.0
|
||||||
MySQL-python ==1.2.3
|
|
||||||
|
|
||||||
# Test Dependencies
|
# Test Dependencies
|
||||||
nose >=1.0.0
|
# nose >=1.0.0
|
||||||
fudge >=1.0.3
|
# fudge >=1.0.3
|
||||||
|
13
setup.py
13
setup.py
@ -1,4 +1,3 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
from setuptools import setup, find_packages
|
from setuptools import setup, find_packages
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
@ -12,18 +11,6 @@ setup(
|
|||||||
license='MIT',
|
license='MIT',
|
||||||
keywords='ceph testing ssh cluster',
|
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
|
# to find the code associated with entry point
|
||||||
# A.B:foo first cd into directory A, open file B
|
# A.B:foo first cd into directory A, open file B
|
||||||
# and find sub foo
|
# and find sub foo
|
||||||
|
Loading…
Reference in New Issue
Block a user