OpenStack: Installing Sahara

From Define Wiki
Revision as of 11:20, 14 July 2016 by Vipul (talk | contribs)
Jump to navigation Jump to search

Install RDO sahara package

# yum install openstack-sahara
# yum install python-croniter

Create Sahara database

$ mysql -u root -p

CREATE DATABASE sahara;
GRANT ALL PRIVILEGES ON sahara.* TO 'sahara'@'localhost' \
  IDENTIFIED BY 'SAHARA_DBPASS';
GRANT ALL PRIVILEGES ON sahara.* TO 'sahara'@'%' \
  IDENTIFIED BY 'SAHARA_DBPASS';

Update sahara config in file /etc/sahara/sahara.conf NOTE: In order to use heat as infrastructure backend for Sahara, HEAT should be setup first inside Openstack.

[DEFAULT]
use_neutron=True
use_namespaces=True
rpc_backend = rabbit
infrastructure_engine=heat

[database]
connection=mysql://sahara:SAHARA_DBPASS@controller/sahara

[keystone_authtoken] 
auth_uri=http://controller:5000/v2.0/
identity_uri=http://controller:35357/

[oslo_messaging_rabbit]
rabbit_host=controller
rabbit_port=5672
rabbit_hosts=$rabbit_host:$rabbit_port
rabbit_userid=guest
rabbit_password=guest
rabbit_virtual_host=/

[oslo_messaging_notifications]
enable = true

[oslo_messaging_notifications]
driver = messaging

Create user, service and endpoints for Sahara

$ openstack user create --domain default --password-prompt sahara
$ openstack role add --project service --user sahara admin
$ openstack service create --name sahara --description  "Sahara Data Processing" data-processing

$ openstack endpoint create --region RegionOne data-processing  public http://controller:8386/v1.1/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne data-processing  admin http://controller:8386/v1.1/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne data-processing  internal http://controller:8386/v1.1/%\(tenant_id\)s

Edit mysql config at /etc/my.cnf

max_allowed_packet = 256M

Restart db, install extra python packages and update sahara db

# service restart mysql
$ sudo -H pip install debtcollector netaddr monotonic python-dateutil PyMySQL fasteners paste PasteDeploy Routes keystoneauth1 prettytable netifaces enum-compat pycrypto ecdsa functools32 cliff cryptography

$ sahara-db-manage --config-file /etc/sahara/sahara.conf upgrade head

Enable sahara service and start it

# systemctl enable openstack-sahara-all
# systemctl start openstack-sahara-all