2. Controller Node インストール手順

Controller Node を構成します。

2.1. パッケージアップデート

パッケージのアップデートを行います。

$ sudo apt-get -y update
$ sudo apt-get -y upgrade
$ sudo apt-get -y dist-upgrade
$ sudo apt-get -y autoremove

2.2. ネットワーク設定

ネットワークの設定を行います。

$ sudo vim /etc/network/interfaces

 auto lo
 iface lo inet loopback

 auto eth0
 iface eth0 inet static
     address 192.168.56.2
     netmask 255.255.255.0
     network 192.168.56.0
     broadcast 192.168.56.255

 auto eth1
 iface eth1 inet static
     address 192.168.1.2
     netmask 255.255.255.0
     network 192.168.1.0
     broadcast 192.168.1.255

 auto eth2
 iface eth2 inet dhcp

 $ sudo /etc/init.d/networking restart

2.3. MySQL Server のインストール

MySQL Server をインストールします。

MySQL Server インストール時に root ユーザのパスワードを求められます。ここでは「y7u8i9YUI」を設定したものとして以降の設定を行います。

$ sudo apt-get -y install mysql-server python-mysqldb

2.3.1. MySQL 設定

外部からデータベースに接続できるよう、値を変更します。

その他、必要に応じて、skip-name-resolve やキャッシュ設定などを行います。

$ sudo sed -i -e "s/\(^bind-address.*= \).*/\10.0.0.0/" /etc/mysql/my.cnf
$ sudo service mysql restart

2.3.2. 各種データベース作成

後でデータベースを作成しても良いですが、面倒なのでここで一気に作成します。

Nova のデータベースは latin1 で作成していますが、初期化時に UTF-8 に変更されます。

$ mysql -uroot -p
mysql> DROP DATABASE test;
mysql> CREATE DATABASE IF NOT EXISTS cinder;
mysql> CREATE DATABASE IF NOT EXISTS glance CHARACTER SET utf8;
mysql> CREATE DATABASE IF NOT EXISTS keystone CHARACTER SET utf8;
mysql> CREATE DATABASE IF NOT EXISTS nova CHARACTER SET latin1;
mysql> CREATE DATABASE IF NOT EXISTS quantum CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON nova.* TO nova@localhost IDENTIFIED BY 'y7u8i9YUI';
mysql> GRANT ALL PRIVILEGES ON glance.* TO glance@localhost IDENTIFIED BY 'y7u8i9YUI';
mysql> GRANT ALL PRIVILEGES ON keystone.* TO keystone@localhost IDENTIFIED BY 'y7u8i9YUI';
mysql> GRANT ALL PRIVILEGES ON cinder.* TO cinder@localhost IDENTIFIED BY 'y7u8i9YUI';
mysql> GRANT ALL PRIVILEGES ON quantum.* TO quantum@localhost IDENTIFIED BY 'y7u8i9YUI';
mysql> GRANT ALL PRIVILEGES ON nova.* TO nova@'%' IDENTIFIED BY 'y7u8i9YUI';
mysql> GRANT ALL PRIVILEGES ON glance.* TO glance@'%' IDENTIFIED BY 'y7u8i9YUI';
mysql> GRANT ALL PRIVILEGES ON keystone.* TO keystone@'%' IDENTIFIED BY 'y7u8i9YUI';
mysql> GRANT ALL PRIVILEGES ON cinder.* TO cinder@'%' IDENTIFIED BY 'y7u8i9YUI';
mysql> GRANT ALL PRIVILEGES ON quantum.* TO quantum@'%' IDENTIFIED BY 'y7u8i9YUI';
mysql> exit

2.4. RabbitMQ Server のインストール

RabbitMQ Server は起動時、自身のホスト名で名前解決が行えないとエラーになります。

事前に /etc/hosts などを編集するなどして、名前解決が行えるようにしておいてください。

$ sudo apt-get -y install rabbitmq-server

2.4.1. RabbitMQ Server 設定

今回は設定しませんが、RabbitMQ Server の設定を行う場合は以下のように設定します。

$ sudo rabbitmqctl add_vhost /nova
$ sudo rabbitmqctl add_user nova y7u8i9YUI
$ sudo rabbitmqctl set_permissions -p /nova nova ".*" ".*" ".*"
$ sudo rabbitmqctl add_vhost /glance
$ sudo rabbitmqctl add_user glance y7u8i9YUI
$ sudo rabbitmqctl set_permissions -p /glance glance ".*" ".*" ".*"
$ sudo rabbitmqctl add_vhost /cinder
$ sudo rabbitmqctl add_user cinder y7u8i9YUI
$ sudo rabbitmqctl set_permissions -p /cinder cinder ".*" ".*" ".*"
$ sudo rabbitmqctl add_vhost /quantum
$ sudo rabbitmqctl add_user quantum y7u8i9YUI
$ sudo rabbitmqctl set_permissions -p /quantum quantum ".*" ".*" ".*"
$ sudo rabbitmqctl delete_user guest

$ sudo rabbitmqctl list_users
$ sudo rabbitmqctl list_vhosts
$ sudo rabbitmqctl list_permissions
$ sudo rabbitmqctl list_user_permissions nova
$ sudo rabbitmqctl list_user_permissions glance

2.5. NTP のインストール

各ノードの時刻がずれているとサービスが起動しません。時刻同期のため、NTP を使用します。

$ sudo apt-get -y install ntp

時刻同期先に任意のサーバを指定し、NTP を再起動します。

参考: NTPの使い方 : インターネットマルチフィード時刻情報サービス for Public

2.6. その他

その他ネットワーク関連パッケージ等のインストール及び設定を行います。

$ sudo apt-get -y install vlan bridge-utils
$ sudo vim /etc/sysctl.conf
net.ipv4.ip_forward を 1 に設定
$ sudo sysctl -w net.ipv4.ip_forward=1

2.7. Keystone のインストール

認証サービス Keystone をインストールします。

$ sudo apt-get -y install keystone

2.7.1. /etc/keystone/keystone.conf の設定

今回は、admin_token と connection を設定します。

$ sudo vim /etc/keystone/keystone.conf
admin_token = 999888777666    # ホントは複雑なものが良い
connection = mysql://keystone:y7u8i9YUI@127.0.0.1/keystone
$ sudo service keystone restart

2.7.2. データベース初期化

Keystone データベースを初期化します。

$ sudo keystone-manage db_sync

2.7.3. 認証設定

以下のスクリプト(DevStackからパク(ry )を使用して、Keystone に認証情報等を登録します。

ここでは以下の情報が登録されます。

  • Tenant
  • User
  • Role
  • Service
  • Endpoint
  • User, Role, Tenant の関連付け
$ vim ~/keystone_data.sh
#!/bin/bash
# --------
# Defaults
# --------

ADMIN_PASSWORD=${ADMIN_PASSWORD:-"y7u8i9YUI"}
SERVICE_PASSWORD=${SERVICE_PASSWORD:-$ADMIN_PASSWORD}
export SERVICE_TOKEN=${SERVICE_TOKEN:-"999888777666"}
export SERVICE_ENDPOINT=${SERVICE_ENDPOINT:-"http://192.168.56.2:35357/v2.0"}
SERVICE_TENANT_NAME=${SERVICE_TENANT_NAME:-"service"}
SERVICE_EXT_HOST=192.168.56.2
SERVICE_HOST=192.168.1.2

function get_id () {
    echo `"$@" | awk '/ id / { print $4 }'`
}


# Tenants
# -------

ADMIN_TENANT=$(get_id keystone tenant-create --name=admin)
SERVICE_TENANT=$(get_id keystone tenant-create --name=$SERVICE_TENANT_NAME)
DEMO_TENANT=$(get_id keystone tenant-create --name=demo)


# Users
# -----

ADMIN_USER=$(get_id keystone user-create --name=admin --pass="$ADMIN_PASSWORD" --email=admin@example.com)
DEMO_USER=$(get_id keystone user-create --name=demo --pass="$ADMIN_PASSWORD" --email=demo@example.com)
NOVA_USER=$(get_id keystone user-create --name=nova --pass="$SERVICE_PASSWORD" --tenant_id $SERVICE_TENANT --email=nova@example.com)
GLANCE_USER=$(get_id keystone user-create --name=glance --pass="$SERVICE_PASSWORD" --tenant_id $SERVICE_TENANT --email=glance@example.com)
QUANTUM_USER=$(get_id keystone user-create --name=quantum --pass="$SERVICE_PASSWORD" --tenant_id $SERVICE_TENANT --email=quantum@example.com)
CINDER_USER=$(get_id keystone user-create --name=cinder --pass="$SERVICE_PASSWORD" --tenant_id $SERVICE_TENANT --email=cinder@example.com)


# Roles
# -----

ADMIN_ROLE=$(get_id keystone role-create --name=admin)
MEMBER_ROLE=$(get_id keystone role-create --name=Member)


# Add Roles to Users in Tenants
keystone user-role-add --user_id $ADMIN_USER   --role_id $ADMIN_ROLE           --tenant_id $ADMIN_TENANT
keystone user-role-add --user_id $ADMIN_USER   --role_id $ADMIN_ROLE           --tenant_id $DEMO_TENANT
keystone user-role-add --user_id $DEMO_USER    --role_id $MEMBER_ROLE          --tenant_id $DEMO_TENANT

keystone user-role-add --user_id $NOVA_USER    --role_id $ADMIN_ROLE           --tenant_id $SERVICE_TENANT
keystone user-role-add --user_id $GLANCE_USER  --role_id $ADMIN_ROLE           --tenant_id $SERVICE_TENANT
keystone user-role-add --user_id $QUANTUM_USER --role_id $ADMIN_ROLE           --tenant_id $SERVICE_TENANT
keystone user-role-add --user_id $CINDER_USER  --role_id $ADMIN_ROLE           --tenant_id $SERVICE_TENANT


# Services
# --------

KEYSTONE_SERVICE=$(get_id keystone service-create --name=keystone --type=identity --description="Keystone Identity Service")
NOVA_SERVICE=$(get_id keystone service-create --name=nova --type=compute --description="Nova Compute Service")
GLANCE_SERVICE=$(get_id keystone service-create --name=glance --type=image --description="Glance Image Service")
QUANTUM_SERVICE=$(get_id keystone service-create --name=quantum --type=network --description="Quantum Service")
EC2_SERVICE=$(get_id keystone service-create --name=ec2 --type=ec2 --description="EC2 Compatibility Layer")
CINDER_SERVICE=$(get_id keystone service-create --name=cinder --type=volume --description="Cinder Service")


#
# Endpoint
#

# KeyStone
keystone endpoint-create \
        --region      RegionOne \
        --service_id  $KEYSTONE_SERVICE \
        --publicurl   "http://$SERVICE_EXT_HOST:\$(public_port)s/v2.0" \
        --adminurl    "http://$SERVICE_HOST:\$(admin_port)s/v2.0" \
        --internalurl "http://$SERVICE_HOST:\$(public_port)s/v2.0"

# Nova
keystone endpoint-create \
        --region      RegionOne \
        --service_id  $NOVA_SERVICE \
        --publicurl   "http://$SERVICE_EXT_HOST:\$(compute_port)s/v2/\$(tenant_id)s" \
        --adminurl    "http://$SERVICE_HOST:\$(compute_port)s/v2/\$(tenant_id)s" \
        --internalurl "http://$SERVICE_HOST:\$(compute_port)s/v2/\$(tenant_id)s"

# Glance
keystone endpoint-create \
        --region      RegionOne \
        --service_id  $GLANCE_SERVICE \
        --publicurl   "http://$SERVICE_EXT_HOST:9292" \
        --adminurl    "http://$SERVICE_HOST:9292" \
        --internalurl "http://$SERVICE_HOST:9292"

keystone endpoint-create \
        --region      RegionOne \
        --service_id  $QUANTUM_SERVICE \
        --publicurl   "http://$SERVICE_EXT_HOST:9696/" \
        --adminurl    "http://$SERVICE_HOST:9696/" \
        --internalurl "http://$SERVICE_HOST:9696/"

# EC2
keystone endpoint-create \
        --region      RegionOne \
        --service_id  $EC2_SERVICE \
        --publicurl   "http://$SERVICE_EXT_HOST:8773/services/Cloud" \
        --adminurl    "http://$SERVICE_HOST:8773/services/Admin" \
        --internalurl "http://$SERVICE_HOST:8773/services/Cloud"

keystone endpoint-create \
        --region      RegionOne \
        --service_id  $CINDER_SERVICE \
        --publicurl   "http://$SERVICE_EXT_HOST:8776/v1/\$(tenant_id)s" \
        --adminurl    "http://$SERVICE_HOST:8776/v1/\$(tenant_id)s" \
        --internalurl "http://$SERVICE_HOST:8776/v1/\$(tenant_id)s"
$ chmod 755 ~/keystone_data.sh
$ ~/keystone_data.sh

2.7.4. 環境変数の設定

各種コマンドを利用するため、以下の環境変数を設定します。

OS_TENANT_ID の値は事前に確認するか、OS_TENANT_ID 以外の環境変数設定後に確認します。

・事前に demoテナント の ID を控える場合
$ keystone --endpoint http://192.168.56.2:35357/v2.0 --token 999888777666 tenant-list | grep demo

・OS_TENANT_ID 以外の環境変数設定後に demoテナント の ID を控える場合
$ . ~/openrc && keystone tenant-list | grep demo
$ vim ~/openrc
export SERVICE_TOKEN=999888777666
export SERVICE_ENDPOINT=http://192.168.56.2:35357/v2.0
export OS_NO_CACHE=True

export OS_AUTH_USER=glance
export OS_AUTH_KEY=y7u8i9YUI
export OS_AUTH_TENANT=service
export OS_STRATEGY=keystone
export OS_AUTH_STRATEGY=keystone
export OS_AUTH_URL=http://192.168.56.2:5000/v2.0
export OS_TENANT_NAME=demo
export OS_TENANT_ID=d68c460105a0434ca0264e1c1e5545c3 # <-- ここにさっきの値を設定
export OS_USERNAME=demo
export OS_PASSWORD=y7u8i9YUI
export OS_REGION_NAME=RegionOne

2.7.5. Keystone 動作確認

環境変数を読み込み Keystone の動作を確認します。

$ . ~/openrc
$ keystone tenant-list
+----------------------------------+---------+---------+
|                id                |   name  | enabled |
+----------------------------------+---------+---------+
| a36c7b79483e4f78a4bd65f1a585d962 | service |   True  |
| c2b50fbf7d3a4295bff0181c1d356897 |  admin  |   True  |
| d68c460105a0434ca0264e1c1e5545c3 |   demo  |   True  |
+----------------------------------+---------+---------+

$ curl http://192.168.1.2:35357/v2.0/endpoints -H 'x-auth-token: 999888777666' | python -mjson.tool
{
    "endpoints": [
        {
            "adminurl": "http://192.168.1.2:9696/",
            "id": "31194ff880ec4e1ea45325e64f9c4d91",
            "internalurl": "http://192.168.1.2:9696/",
            "publicurl": "http://192.168.56.2:9696/",
            "region": "RegionOne",
            "service_id": "0ec055f9c8214cb8888b1227f0bb28db"
        },
        {
            "adminurl": "http://192.168.1.2:8773/services/Admin",
            "id": "7cd73d9418034e1cac1ede81be9c713f",
            "internalurl": "http://192.168.1.2:8773/services/Cloud",
            "publicurl": "http://192.168.56.2:8773/services/Cloud",
            "region": "RegionOne",
            "service_id": "35b8355deb51447d9480cf25c2cec44c"
        },
        {
            "adminurl": "http://192.168.1.2:$(admin_port)s/v2.0",
            "id": "985cf9dcccdc4f708a69df74bea9c99d",
            "internalurl": "http://192.168.1.2:$(public_port)s/v2.0",
            "publicurl": "http://192.168.56.2:$(public_port)s/v2.0",
            "region": "RegionOne",
            "service_id": "aa6eef48d17c4a2e96a69f986a8221a7"
        },
        {
            "adminurl": "http://192.168.1.2:9292",
            "id": "d6d512eb82e04c4d95569a28c39a962e",
            "internalurl": "http://192.168.1.2:9292",
            "publicurl": "http://192.168.56.2:9292",
            "region": "RegionOne",
            "service_id": "96f06db6ba8749f5bcfabd501ffaf440"
        },
        {
            "adminurl": "http://192.168.1.2:8776/v1/$(tenant_id)s",
            "id": "d7bec1fd8c014e148ca3881a5a242d82",
            "internalurl": "http://192.168.1.2:8776/v1/$(tenant_id)s",
            "publicurl": "http://192.168.56.2:8776/v1/$(tenant_id)s",
            "region": "RegionOne",
            "service_id": "34c3393042a84c3fa39ac8cec6c00d8a"
        },
        {
            "adminurl": "http://192.168.1.2:$(compute_port)s/v2/$(tenant_id)s",
            "id": "f06765f1d9d04c2a900f8f0a2216bb7f",
            "internalurl": "http://192.168.1.2:$(compute_port)s/v2/$(tenant_id)s",
            "publicurl": "http://192.168.56.2:$(compute_port)s/v2/$(tenant_id)s",
            "region": "RegionOne",
            "service_id": "e65762b5121a46589b25411994d872af"
        }
    ]
}

2.8. Glance のインストール

イメージ管理サービス Glance をインストールします。

$ sudo apt-get -y install glance

2.8.1. /etc/glance/glance-api.conf の設定

データベースおよびKeystone連携の設定を行います。

$ sudo vim /etc/glance/glance-api.conf
verbose = True
debug = True
sql_connection = mysql://glance:y7u8i9YUI@127.0.0.1/glance
[keystone_authtoken]
auth_host = 192.168.1.2
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = y7u8i9YUI

[paste_deploy]
flavor=keystone

2.8.2. /etc/glance/glance-registry.conf の設定

データベースおよびKeystone連携の設定を行います。

$ sudo vim /etc/glance/glance-registry.conf
verbose = True
debug = True
sql_connection = mysql://glance:y7u8i9YUI@127.0.0.1/glance
[keystone_authtoken]
auth_host = 192.168.1.2
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = y7u8i9YUI

[paste_deploy]
flavor=keystone

2.8.3. Glance データベースの初期化

Glance サービスを再起動し、データベースを初期化します。

$ sudo service glance-api restart
$ sudo service glance-registry restart
$ sudo glance-manage db_sync

2.8.4. イメージの登録

CirrOS などのイメージを登録します。

(CirrOS)
$ wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img -P /tmp
$ glance image-create --name myFirstImage --is-public true --container-format bare --disk-format qcow2 < /tmp/cirros-0.3.0-x86_64-disk.img
(Ubuntu 12.04)
$ wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img -P /tmp
$ glance image-create --name "Ubutnu 12.04" --is-public=true --container-format=ovf --disk-format=qcow2 < /tmp/precise-server-cloudimg-amd64-disk1.img
(確認)
$ glance image-list

2.9. Cinder のインストール

ボリューム管理サービス Cinder をインストールします。

$ sudo apt-get -y install cinder-api cinder-scheduler cinder-volume iscsitarget open-iscsi iscsitarget-dkms python-cinderclient

2.9.1. iSCSI サービス設定

iSCSI の設定を行います。

$ sudo sed -i 's/false/true/g' /etc/default/iscsitarget
$ sudo service iscsitarget start
$ sudo service open-iscsi start

2.9.2. /etc/cinder/api-paste.ini の設定

Keystone 連携用設定を行います。

$ sudo vim /etc/cinder/api-paste.ini
[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
service_protocol = http
service_host = 192.168.1.2
service_port = 5000
auth_host = 192.168.1.2
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = cinder
admin_password = y7u8i9YUI

2.9.3. /etc/cinder/cinder.conf の設定

Cinder の設定を行います。未割当のLVがある場合は VG 名を volume_group に設定することでターゲットとして利用できます。

$ sudo vim /etc/cinder/cinder.conf
[DEFAULT]
rootwrap_config=/etc/cinder/rootwrap.conf
sql_connection = mysql://cinder:y7u8i9YUI@127.0.0.1/cinder
api_paste_confg = /etc/cinder/api-paste.ini
iscsi_helper=ietadm
volume_name_template = volume-%s
volume_group = stack
verbose = True
auth_strategy = keystone
#osapi_volume_listen_port=5900

2.9.4. Cinder データベースの初期化

Cinder データベースを初期化しサービスを再起動ます。

$ sudo cinder-manage db sync
$ sudo service cinder-api restart
$ sudo service cinder-scheduler restart
$ sudo service cinder-volume restart

2.9.5. 確認

cinder list を実行し、何も出力されなけば OK

$ cinder list

2.10. Quantum のインストール

ネットワーク管理担当 Quantum をインストールします。今回は Open vSwitch と連携します。

$ sudo apt-get -y install quantum-server quantum-plugin-openvswitch

2.10.1. /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini の設定

ここでは、接続先データベースの指定 と OVSセクションを編集します。

$ sudo vim /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
[DATABASE]
sql_connection = mysql://quantum:y7u8i9YUI@127.0.0.1/quantum

[OVS]
tenant_network_type = gre
tunnel_id_ranges = 1:1000
enable_tunneling = True

2.10.2. /etc/quantum/api-paste.ini の設定

Keystone 連携用設定を行います。

$ sudo vim /etc/quantum/api-paste.ini
[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
auth_host = 192.168.1.2
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = quantum
admin_password = y7u8i9YUI

2.10.3. サービス再起動

Quantum Server を再起動します。

$ sudo service quantum-server restart

2.11. Nova のインストール

仮想マシン管理サービス Nova から nova-compute 以外をインストールします。nova-compute は Compute Node で動作させます。

$ sudo apt-get install -y nova-api nova-cert novnc nova-consoleauth nova-scheduler nova-novncproxy

2.11.1. /etc/nova/api-paste.ini の設定

Keystone 連携用設定を行います。

$ sudo vim /etc/nova/api-paste.ini
[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
auth_host = 192.168.1.2
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = nova
admin_password = y7u8i9YUI
signing_dirname = /tmp/keystone-signing-nova

2.11.2. /etc/nova/nova.conf の設定

Nova の基本設定を行います。パk(ry

$ sudo vim /etc/nova/nova.conf
[DEFAULT]
logdir=/var/log/nova
state_path=/var/lib/nova
lock_path=/run/lock/nova
verbose=True
api_paste_config=/etc/nova/api-paste.ini
scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
s3_host=192.168.1.2
ec2_host=192.168.1.2
ec2_dmz_host=192.168.1.2
rabbit_host=192.168.1.2
cc_host=192.168.1.2
dmz_cidr=169.254.169.254/32
metadata_host=192.168.1.2
metadata_listen=0.0.0.0
nova_url=http://192.168.1.2:8774/v1.1/
sql_connection=mysql://nova:y7u8i9YUI@127.0.0.1/nova
ec2_url=http://192.168.1.2:8773/services/Cloud
root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf

# Auth
use_deprecated_auth=false
auth_strategy=keystone
keystone_ec2_url=http://192.168.1.2:5000/v2.0/ec2tokens
# Imaging service
glance_api_servers=192.168.1.2:9292
image_service=nova.image.glance.GlanceImageService

# Vnc configuration
novnc_enabled=true
novncproxy_base_url=http://192.168.56.2:6080/vnc_auto.html
novncproxy_port=6080
vncserver_proxyclient_address=192.168.56.2
vncserver_listen=0.0.0.0

# Network settings
network_api_class=nova.network.quantumv2.api.API
quantum_url=http://192.168.1.2:9696
quantum_auth_strategy=keystone
quantum_admin_tenant_name=service
quantum_admin_username=quantum
quantum_admin_password=y7u8i9YUI
quantum_admin_auth_url=http://192.168.1.2:35357/v2.0
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver

# Compute #
compute_driver=libvirt.LibvirtDriver

# Cinder #
volume_api_class=nova.volume.cinder.API
osapi_volume_listen_port=5900

2.11.3. Nova データベース初期化

Nova データベースの初期化を行います。

$ sudo nova-manage db sync

2.11.4. サービス再起動と確認

Nova データベース 初期化後、各種 Nova サービスを再起動します。

$ for NOVA in `ls /etc/init.d/nov*` ; do sudo $NOVA restart ; done
$ sudo nova-manage service list
Binary           Host        Zone        Status     State Updated_At
nova-cert        srv         nova        enabled    :-)   2013-02-15 02:35:14
nova-consoleauth srv         nova        enabled    :-)   2013-02-15 02:35:14
nova-scheduler   srv         nova        enabled    :-)   2013-02-15 02:35:14

2.12. Horizon のインストール

WebGUI、Horizon をインストールします。

$ sudo apt-get -y install openstack-dashboard memcached

2.12.1. デザインカスタマイズ

apt でインストールした Horizon は Ubuntu テーマが設定されています。

素の Horizon が良い場合は以下をコメントアウトします。

$ sudo vim /etc/openstack-dashboard/local_settings.py
#try:
#    from ubuntu_theme import *
#except ImportError:
#    pass
$ sudo service apache2 restart
$ sudo service memcached restart

2.12.2. アクセス

http://192.168.56.2/horizon にアクセスすると WebGUI が利用可能になります。

Keystone に作成したユーザでログインをします。

  • ID: demo, Pass: y7u8i9YUI
  • ID: admin, Pass: y7u8i9YUI
../_images/horizon.png

以上

Table Of Contents

Previous topic

1. 必須環境

Next topic

3. Network Node インストール手順

This Page