このエントリーをはてなブックマークに追加

5.2.6. Dashboard (Horizon)のインストール

ちょっとオープンソース版だと不具合があるのかうまく動いてませんので注意です。
ここは参考程度にしてください。
Horizonのインストールを行います。インストールしなくてもOpenStackは利用可能です。
しかし、仮想マシンを起動するエンドユーザがOpenStackのコマンドを覚えたりする必要があります。
利便性を考えるとブラウザ経由でOpenStackを利用できたほうが良いでしょう。

5.2.6.1. Horizonのインストール

# zypper install -y openstack-horizon openstack-nova-novncproxy openstack-dashboard

5.2.6.2. Horizonの設定

バックアップして設定変更します。
Horizonの起動するサーバの変更とローカルキャッシュをmemcachedを利用する設定にします。
ホスト名はstack01になっていますので注意して下さい。
また、データベースの設定も適切なものに設定して下さい。
# cp -a /etc/dashboard/dashboard.conf /etc/apache2/conf.d/
# cp -a /usr/share/openstack_dashboard/local/local_settings.py.example /usr/share/openstack_dashboard/local/local_settings.py
# cd /usr/share/openstack_dashboard/local
# sed -i "s#127.0.0.1#stack01#" local_settings.py
# sed -i "s#locmem://#memcached://stack01:11211#g" local_settings.py
# sed -i '24,30s/^/#/' local_settings.py
# cat << HORIZON_SETUP | tee -a local_settings.py > /dev/null
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'horizon',
        'USER': 'horizon',
        'PASSWORD': 'password',
        'HOST': 'stack01',
        'default-character-set': 'utf8'
    }
}
HORIZON_CONFIG = {
    'dashboards': ('nova', 'syspanel', 'settings',),
    'default_dashboard': 'nova',
    'user_home': 'openstack_dashboard.views.user_home',
}
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
HORIZON_SETUP

5.2.6.3. ワークアラウンド

ファイル配置が間違っています?なんかおかしいのかおかしくないのかよくわかりません。
修正しないと動作しませんので修正します。
# cd /usr/share/openstack_dashboard
# mkdir openstack_dashboard
# mv __init__.py   local   settings.py   templates  \
     tests.pyc  urls.pyc  views.pyc __init__.pyc    \
     locale  settings.pyc  tests.py   urls.py       \
     views.py  wsgi openstack_dashboard
ディレクトリの配置を変えたのでApacheの設定も変更が必要です。
何だかだいぶ違ったので全部変更してしまいます。
# vi /etc/apache2/conf.d/dashboard.conf
WSGIDaemonProcess dashboard
WSGIProcessGroup dashboard
WSGISocketPrefix run/wsgi

WSGIScriptAlias / /usr/share/openstack_dashboard/openstack_dashboard/wsgi/django.wsgi
Alias /static /usr/share/openstack_dashboard/static

<Directory /usr/share/openstack_dashboard/openstack_dashboard/wsgi>
  Order allow,deny
  Allow from all
</Directory>

5.2.6.4. データベースの作成

Horizonが利用するデータベースを作成します。
Horizonのデータベースを設定するためのユーザ、パスワードはMySQLをインストールした時のものですので注意して下さい。
データベース名horizon、ユーザ名horizon、パスワードはpasswordとしているため適切なものへ変更してください。
ホスト名も同様にstack01としていますので変更が必要であればおこなって下さい。
# mysql -u root -pnova -e "create database horizon;"
# mysql -u root -pnova -e "grant all privileges on horizon.* to 'horizon'@'%' identified by 'password';"
# mysql -u root -pnova -e "grant all privileges on horizon.* to 'horizon'@'localhost' identified by 'password';"
# mysql -u root -pnova -e "grant all privileges on horizon.* to 'horizon'@'stack01' identified by 'password';"

5.2.6.5. noVNCの起動及び自動起動の設定

noVNCを起動します。

# service  openstack-nova-novncproxy start
# chkconfig openstack-nova-novncproxy on

5.2.6.6. iptablesの設定及び再起動

opnSUSEの場合は確認中です。 iptablesにMySQL(3306)、noVNC(6080)、Apache(443,80)、Glance(9292)、Memcached(11211)、Qpid(5672)のポート開放を設定します。

# sed -i '10a-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT' /etc/sysconfig/iptables
# sed -i '10a-A INPUT -m state --state NEW -m tcp -p tcp --dport 9292 -j ACCEPT' /etc/sysconfig/iptables
# sed -i '10a-A INPUT -m state --state NEW -m tcp -p tcp --dport 6080 -j ACCEPT' /etc/sysconfig/iptables
# sed -i '10a-A INPUT -m state --state NEW -m tcp -p tcp --dport 5672 -j ACCEPT' /etc/sysconfig/iptables
# sed -i '10a-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT' /etc/sysconfig/iptables
# sed -i '10a-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT' /etc/sysconfig/iptables
# sed -i '10a-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT' /etc/sysconfig/iptables
# service iptables restart

5.2.6.7. Apacheの再起動及び自動起動の設定

設定変更を行ったのでApacheを再起動しておきます。自動起動の設定も行います。

# a2enmod wsgi
# service apache2 restart
# chkconfig apache2 on
以上で、Horizonのインストールは終了です。
ここまででインストール作業は終了したので次から実際にOpenStackを利用してみましょう。