deb-sahara/doc/source/horizon/installation.guide.rst
Ruslan Kamaldinov 1badfe1938 Updated project documentation.
- Added developer guide
- Added installation guide
- Removed screenshots of Horizon pages

Change-Id: I827e9dad490099b7825ed812452d89fc7d4d0e83
2013-05-21 16:21:02 +04:00

4.2 KiB
Raw Blame History

Savanna Horizon Setup

1 Setup prerequisites

1.1 OpenStack environment (Folsom+ version) installed.

1.2 Savanna REST API service installed and configured.

1.3 Operating system, where Savanna Horizons service installed, has to be connected to internal OpenStack network.

2 Savanna-Horizon Installation

2.1 Go to your Horizons machine and install the following packets:

sudo apt-get update
sudo apt-get install git python-dev gcc python-setuptools python-virtualenv node-less

On Ubuntu 12.10 and higer you have to install the following lib as well:

sudo apt-get install nodejs-legacy

2.2 Clone Horizons Git repo:

git clone -b savanna https://github.com/Mirantis/openstack-horizon.git

Note: Above link will be changed soon when project moved to StackForge.

2.3 Create the following structure of directories:

sudo mkdir -p <path_to_horizon>/bin/less
sudo ln -s /usr/bin/lessc <path_to_horizon>/bin/less/lessc

2.4 Go to cloned directory:

cd <path_to_horizon>

2.5 Install Python virtual environment:

python tools/install_venv.py

This operation will install .venv in the current directory

2.6 Create configuration file:

cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py

2.7 Change openstack_dashboard/local/local_settings.py file with the following parameters:

2.7.1 Set OPENSTACK_HOST to KeyStone URL:

Here is a snippet of code with the changed parameter:

[skipped]

OPENSTACK_HOST = "172.18.79.139"    <------ KeyStone address
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v2.0" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "Member"

[skipped]

2.8 Change openstack_dashboard/wsgi/django.wsgi file to make virtualenv packages available for apache

Here are the required modifications

import logging
import os
import sys

venv_path = "<path_to_horizon>/.venv/"    <---------- Horizon .venv directory
activate_this = os.path.join(venv_path, "bin/activate_this.py")
execfile(activate_this, dict(__file__=activate_this))

from django.conf import settings
import django.core.handlers.wsgi

[skipped]

3 Configure apache2 server

3.1 Install apache and mod_wsgi

sudo apt-get install apache2 libapache2-mod-wsgi

3.2 Create /etc/apache2/sites-available/horizon file

Here is the apache configuration

<VirtualHost *:80>
   WSGIScriptAlias / <horizon-path>/openstack_dashboard/wsgi/django.wsgi
WSGIDaemonProcess horizon user=<user> group=<group> processes=3 threads=10 home=<horizon-path> python-path=<horizon-path>:<horizon-path>/.venv/lib/python-2.7/site-packages
WSGIApplicationGroup %{GLOBAL}

       SetEnv APACHE_RUN_USER <user>
       SetEnv APACHE_RUN_GROUP <user>
       WSGIProcessGroup horizon

       DocumentRoot <horizon-path>/.blackhole/
       Alias /media <horizon-path>/openstack_dashboard/static

       <Directory />
           Options FollowSymLinks
           AllowOverride None
       </Directory>

       <Directory <horizon-path>/>
           Options Indexes FollowSymLinks MultiViews
           AllowOverride None
           Order allow,deny
           allow from all
       </Directory>

       ErrorLog /var/log/apache2/horizon_error.log
       LogLevel warn
       CustomLog /var/log/apache2/horizon_access.log combined
</VirtualHost>

WSGISocketPrefix /var/run/apache2

Replace following parameters:

  • <user> - username
  • <group> - group
  • <horizon-path> - path to horizon directory

3.3 Enable horizon site

sudo a2ensite horizon

Now all installations are done and Horizon can be started:

sudo service apache2 restart

You can check that service has been started successfully. Go to Horizon URL and you'll be able to see Savanna pages in the Project tab.