deb-sahara/doc/source/userdoc/installation.guide.rst
Telles Nobrega 5faa22168d Replacing data_processing with data-processing
Sahara is changing the endpoint name from data_processing to
data-processing. The Sahara docs are updated here to reflect this
change.

Change-Id: Ide6c216f939964621bdea29c5588f83c49aad103
Partial-bug: #1356053
2014-11-20 00:16:03 -03:00

5.3 KiB

Sahara Installation Guide

We recommend to install Sahara in a way that will keep your system in a consistent state. We suggest the following options:

  • Install via Fuel
  • Install via RDO Havana+
  • Install into virtual environment

To install with Fuel

  1. Start by following the MOS Quickstart to install and setup OpenStack.
  2. Enable Sahara service during installation.

To install with RDO

  1. Start by following the RDO Quickstart to install and setup OpenStack.
  2. Install Sahara:
# yum install openstack-sahara
  1. Configure Sahara as needed. The configuration file is located in /etc/sahara/sahara.conf. For details see Sahara Configuration Guide <configuration.guide>
  2. Create database schema:
# sahara-db-manage --config-file /etc/sahara/sahara.conf upgrade head
  1. Go through common_installation_steps and make the necessary changes.
  2. Start the sahara-all service:
# systemctl start openstack-sahara-all
  1. (Optional) Enable Sahara to start on boot
# systemctl enable openstack-sahara-all

To install into a virtual environment

  1. First you need to install a number of packages with your OS package manager. The list of packages depends on the OS you use. For Ubuntu run:
$ sudo apt-get install python-setuptools python-virtualenv python-dev

For Fedora:

$ sudo yum install gcc python-setuptools python-virtualenv python-devel

For CentOS:

$ sudo yum install gcc python-setuptools python-devel
$ sudo easy_install pip
$ sudo pip install virtualenv
  1. Setup virtual environment for Sahara:
$ virtualenv sahara-venv

This will install python virtual environment into sahara-venv directory in your current working directory. This command does not require super user privileges and could be executed in any directory current user has write permission.

  1. You can install the latest Sahara release from pypi:
$ sahara-venv/bin/pip install sahara

Or you can get Sahara archive from http://tarballs.openstack.org/sahara/ and install it using pip:

$ sahara-venv/bin/pip install 'http://tarballs.openstack.org/sahara/sahara-master.tar.gz'

Note that sahara-master.tar.gz contains the latest changes and might not be stable at the moment. We recommend browsing http://tarballs.openstack.org/sahara/ and selecting the latest stable release.

  1. After installation you should create configuration file from a sample config located in sahara-venv/share/sahara/sahara.conf.sample-basic:
$ mkdir sahara-venv/etc
$ cp sahara-venv/share/sahara/sahara.conf.sample-basic sahara-venv/etc/sahara.conf

Make the necessary changes in sahara-venv/etc/sahara.conf. For details see Sahara Configuration Guide <configuration.guide>

Common installation steps

The steps below are common for both installing Sahara as part of RDO and installing it in virtual environment.

  1. If you use Sahara with MySQL database, then for storing big Job Binaries in Sahara Internal Database you must configure size of max allowed packet. Edit my.cnf and change parameter:
...
[mysqld]
...
max_allowed_packet          = 256M

and restart mysql server.

  1. Create database schema:
$ sahara-venv/bin/sahara-db-manage --config-file sahara-venv/etc/sahara.conf upgrade head
  1. To start Sahara call:
$ sahara-venv/bin/sahara-all --config-file sahara-venv/etc/sahara.conf
  1. In order for Sahara to be accessible in OpenStack Dashboard and for python-saharaclient to work properly you need to register Sahara in Keystone. For example:
keystone service-create --name sahara --type data-processing \
    --description "Sahara Data Processing"

keystone endpoint-create --service sahara --region RegionOne \
    --publicurl "http://10.0.0.2:8386/v1.1/%(tenant_id)s" \
    --adminurl "http://10.0.0.2:8386/v1.1/%(tenant_id)s" \
    --internalurl "http://10.0.0.2:8386/v1.1/%(tenant_id)s"
  1. To adjust OpenStack Dashboard configuration with your Sahara installation please follow the UI configuration guide here. <dashboard.guide>

Notes:

Make sure that your operating system is not blocking Sahara port (default: 8386). You may need to configure iptables in CentOS and some other operating systems.

To get the list of all possible options run:

$ sahara-venv/bin/python sahara-venv/bin/sahara-all --help

Further consider reading overview for general Sahara concepts and plugins for specific plugin features/requirements.