rally/doc/source/install.rst
Mahito OGURA f9e8a38346 Fix document about Rally with DevStack all-in-one installation
The document about 'Rally with DevStack all-in-one installation'
shows that DevStack uses `localrc`, however DevStack uses `local.conf` now.
This patch fix (`localrc`->`local.conf`) the document.

Change-Id: I8fc707b6d30b2ebbe2643f9eba0b01d8bda817cb
Closes-bug: 1460582
2015-06-01 18:32:23 +09:00

6.4 KiB

Installation

Automated installation

The easiest way to install Rally is by executing its installation script

wget -q -O- https://raw.githubusercontent.com/openstack/rally/master/install_rally.sh | bash
# or using curl
curl https://raw.githubusercontent.com/openstack/rally/master/install_rally.sh | bash

The installation script will also check if all the software required by Rally is already installed in your system; if run as root user and some dependency is missing it will ask you if you want to install the required packages.

By default it will install Rally in a virtualenv in ~/rally when ran as standard user, or install system wide when ran as root. You can install Rally in a venv by using the option --target:

./install_rally.sh --target /foo/bar

You can also install Rally system wide by running script as root and without --target option:

sudo ./install_rally.sh

Run ./install_rally.sh with option --help to have a list of all available options:

$ ./install_rally.sh --help
Usage: install_rally.sh [options]

This script will install rally either in the system (as root) or in a virtual environment.

Options:
 -h, --help             Print this help text
 -v, --verbose          Verbose mode
 -s, --system           Instead of creating a virtualenv, install as
                        system package.
 -d, --target DIRECTORY Install Rally virtual environment into DIRECTORY.
                        (Default: $HOME/rally).
 -f, --overwrite        Remove target directory if it already exists.
 -y, --yes              Do not ask for confirmation: assume a 'yes' reply
                        to every question.
 -D, --dbtype TYPE      Select the database type. TYPE can be one of
                        'sqlite', 'mysql', 'postgres'.
                        Default: sqlite
 --db-user USER         Database user to use. Only used when --dbtype
                        is either 'mysql' or 'postgres'.
 --db-password PASSWORD Password of the database user. Only used when
                        --dbtype is either 'mysql' or 'postgres'.
 --db-host HOST         Database host. Only used when --dbtype is
                        either 'mysql' or 'postgres'
 --db-name NAME         Name of the database. Only used when --dbtype is
                        either 'mysql' or 'postgres'
 -p, --python EXE       The python interpreter to use. Default: /usr/bin/python.

Notes: the script will check if all the software required by Rally is already installed in your system. If this is not the case, it will exit, suggesting you the command to issue as root in order to install the dependencies.

You also have to set up the Rally database after the installation is complete:

rally-manage db recreate

Rally with DevStack all-in-one installation

It is also possible to install Rally with DevStack. First, clone the corresponding repositories:

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

Then, 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
cp samples/local.conf local.conf
echo "enable_service rally" >> local.conf

Finally, run DevStack as usually:

./stack.sh

Rally & Docker

First you need to install docker. Installing docker in ubuntu may be done by following:

$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo usermod -a -G docker `id -u -n` # add yourself to docker group

NOTE: re-login is required to apply users groups changes and actually use docker.

Pull docker image with rally:

$ 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
mkdir rally_home
sudo chown 65500 rally_home
docker run -t -i -v ~/rally_home:/home/rally 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 rallyforge/rally"' >> ~/.bashrc

After executing dock_rally alias, or docker run you got bash running inside container with rally installed. You may do anything 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:~$

In case you have SELinux enabled and rally fails to create database, try executing the following commands to put SELinux into Permissive Mode on the host machine.

$ sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
$ setenforce permissive

Rally currently has no SELinux policy, which is why it must be run in Permissive mode for certain configurations. If you can help create an SELinux policy for Rally, please contribute!

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