We recommend installing sahara in a way that will keep your system in a consistent state. We suggest the following options:
# yum install openstack-sahara
# sahara-db-manage --config-file /etc/sahara/sahara.conf upgrade head
# systemctl start openstack-sahara-all
# systemctl enable openstack-sahara-all
$ 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
$ virtualenv sahara-venv
This will install a python virtual environment into sahara-venv directory in your current working directory. This command does not require super user privileges and can be executed in any directory where the current user has write permissions.
$ sahara-venv/bin/pip install sahara
Or you can get a 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.
$ mkdir sahara-venv/etc
$ cp sahara-venv/share/sahara/sahara.conf.sample-basic sahara-venv/etc/sahara.conf
Make any necessary changes to sahara-venv/etc/sahara.conf. For details see Sahara Configuration Guide
The steps below are common to both the RDO and virtual environment installations of sahara.
...
[mysqld]
...
max_allowed_packet = 256M
Then restart the mysql server to ensure these changes are active.
$ sahara-venv/bin/sahara-db-manage --config-file sahara-venv/etc/sahara.conf upgrade head
$ sahara-venv/bin/sahara-all --config-file sahara-venv/etc/sahara.conf
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"
Ensure that your operating system is not blocking the sahara port (default: 8386). You may need to configure iptables in CentOS and other Linux distributions to allow this access.
To get the list of all possible options run:
$ sahara-venv/bin/python sahara-venv/bin/sahara-all --help
Further, consider reading Getting Started for general sahara concepts and Provisioning Plugins for specific plugin features/requirements.