rally/doc/source/installation.rst
Sergey Skripnick 705ee34799 Add Dockerfile
This file may be used to build rally image for docker.
More about docker: https://www.docker.com/

Also added some docs in installation.rst

Change-Id: I8580755b6838a3cebc2bd9e27854e68a02ff26b4
2014-12-24 14:22:19 +02:00

6.3 KiB

Installation

Rally setup

The simplest way to start using Rally is to install it together with OpenStack using DevStack. If you already have an existing OpenStack installation and/or don't want to install DevStack, then the preferable way to set up Rally would be to install it manually. Both types of installation are described below in full detail.

Note: Running Rally on OSX is not advised as some pip dependencies will fail to install.

Automated installation

NOTE: Please ensure that you have installed either the Python 2.6 or the Python 2.7 version in the system that you are planning to install Rally.

The installation script of Rally supports 2 installation methods:

  • system-wide (default)
  • in a virtual environment using the virtualenv tool

On the target system, get the source code of Rally:

git clone https://git.openstack.org/stackforge/rally

As root, or as a normal user using sudo, execute the installation script. If you define the -v switch, Rally will be installed in a virtual environment, otherwise, it will be installed system-wide.

Install system-wide:

./rally/install_rally.sh

Or install in a virtual environment:

./rally/install_rally.sh -v

Now you are able to use Rally <usage>!

Rally with DevStack all in one installation

To install Rally with DevStack, you should first clone the corresponding repositories and copy the files necessary to integrate Rally with DevStack:

git clone https://git.openstack.org/cgit/openstack-dev/devstack
git clone https://github.com/stackforge/rally

To configure DevStack to run Rally:

cp rally/contrib/devstack/lib/rally devstack/lib/
cp rally/contrib/devstack/extras.d/70-rally.sh devstack/extras.d/
cd devstack
echo "enable_service rally" >> localrc

Finally, run DevStack as usually:

./stack.sh

And finally you are able to use Rally <usage>!

Manual installation

Prerequisites

Start with installing some requirements that Rally needs to be set up correctly. The specific requirements depend on the environment you are going to install Rally in:

Ubuntu

sudo apt-get update
sudo apt-get install libpq-dev git-core python-dev libevent-dev libssl-dev libffi-dev libsqlite3-dev
curl -o /tmp/get-pip.py https://raw.github.com/pypa/pip/master/contrib/get-pip.py
sudo python /tmp/get-pip.py
sudo pip install pbr

CentOS

sudo yum install gcc git-core postgresql-libs python-devel libevent-devel openssl-devel libffi-devel sqlite
#install pip on centos:
curl -o /tmp/get-pip.py https://raw.github.com/pypa/pip/master/contrib/get-pip.py
sudo python /tmp/get-pip.py
sudo pip install pbr

VirtualEnv

Another option is to install Rally in virtualenv; you should then install this package, create a virtualenv and activate it:

sudo pip install -U virtualenv
virtualenv .venv
. .venv/bin/activate  # NOTE: Make sure that your current shell is either bash or zsh (otherwise it will fail)
sudo pip install pbr

Installing Rally

The next step is to clone & install rally:

git clone https://github.com/stackforge/rally.git && cd rally sudo python setup.py install

Now you are ready to configure Rally (in order for it to be able to use the database):

sudo mkdir /etc/rally
sudo cp etc/rally/rally.conf.sample /etc/rally/rally.conf
sudo vim /etc/rally/rally.conf
# Change the "connection" parameter, For example to this:
connection="sqlite:////a/path/here/rally.sqlite"

After the installation step has been completed, you need to create the Rally database:

rally-manage db recreate

And finally you are able to use Rally <usage>!

Rally & Docker

There is an image on dokerhub with rally installed. To pull this image just execute:

docker pull rallyforge/rally

Or you may want to build rally image from source:

# first cd to rally source root dir docker build -t myrally .

Since rally stores local settings in user's home dir and the database in /var/lib/rally/database, you may want to keep this directories outside of container. This may be done by the following steps:

cd ~ #go to your home directory mkdir rally_home rally_db docker run -t -i -v ~/rally_home:/home/rally -v ~/rally_db:/var/lib/rally/database rallyforge/rally

You may want to save last command as an alias:

echo 'alias dock_rally="docker run -t -i -v ~/rally_home:/home/rally -v ~/rally_db:/var/lib/rally/database rallyforge/rally"' >> ~.bashrc

After executing dock_rally alias, or docker run you got bash running inside container with rally installed. You may do anytnig with rally, but you need to create db first:

user@box:~/rally$ dock_rally rally@1cc98e0b5941:~$ rally-manage db recreate rally@1cc98e0b5941:~$ rally deployment list There are no deployments. To create a new deployment, use: rally deployment create rally@1cc98e0b5941:~$

More about docker: https://www.docker.com/

Running Rally's Unit Tests

Rally should be tested with tox, but is not compatible with the current version of tox, so install tox 1.6.1 then run it.

pip install 'tox<=1.6.1'
tox