OpenStack Folsom

มาทดลอง OpenStack Folsom กันหน่อย ติดตั้งยังยากอยู่แต่พอได้ Concept เอาไว้เรียนรู้ก่อนก้าวไปขั้นต่อไป

ในนี้จะเป็นการนำเอา วิธีการของ

มาดัดแปลงให้เข้ากับการติดตั้งบน environment ภายในที่ใช้ทดลองนะคับ

รูปนี้บอกภาพรวมการติดตั้งระบบที่ประกอบด้วยเครื่องคอมพิวเตอร์ 2 เครื่องคือ Control Node และ Compute Node ที่แต่ละเครื่องจะมีส่วนต่อ Network ชื่อว่า eth0 ที่จะต่อเข้ากับ Network Switch และจาก Switch จะเชื่อมต่อเข้ากับระบบ Internet หรือในการทดสอบนี้จะต่อเข้ากับ MUC-Net. ของมหาวิทยาลัยมหิดล

ตัวระบบแบ่งออกเป็น 2 ส่วนคือ 1)ติดตั้ง Control Node ก่อนและ 2)ติดตั้ง Compute Node เพื่อใช้งานร่วมกัน ระบบจึงจะสมบูรณ์

โดยมีความต้องการทรัพยากรณ์ขั้นต่ำในการติดตั้งทั้งสองเครื่องดังต่อไปนี้

  • 4096 MB ของ Memory (RAM)
  • Hard Disk มีความจุ 60 GB
  • มี 1 Network Adapter

รวมขั้นตอนการติดตั้งระบบ

เริ่มจากขั้นตอนแรกติดตั้ง Control Node ตามลำดับ

เสร็จสิ้นการติดตั้ง

ข้อแนะนำ

ข้อควรระวังในการติดตั้งคือ ต้องทำตามทุกขั้นตอนห้ามข้ามและการตั้งค่าต่างๆต้องเป็นตามตัวอย่างเท่านั้นหากผู้ติดตั้งไม่มีประสบการณ์มาก่อน และถ้าหากข้ามขั้นตอนไปแล้วเกิดติดปัญหาจะต้องเริ่มการติดตั้งใหม่ทั้งหมดตั้งแต่เริ่มต้น


รายละเอียด Service ของ Control Node ประกอบไปด้วย Service ต่างๆดังนี้

  • KeyStone:ทำหน้าที่จัดการ Service ต่างๆที่เกี่ยวกับ Identity Token Catalog และ Policy ของระบบ
  • Glance:ทำหน้าที่ Discover Register และทำการ Retrieve ข้อมูลของ Virtual Machine Image
  • Nova Service:จะเป็น Host ตัวหลักที่บริหารจัดการระบบ Cloud Computing ซึ่งจะเหมือนกับ Rackspace Cloud Service หรือ Amazon EC2 ที่มีให้ใช้อยู่ในปัจจุบัน
  • Horizon:เป็นส่วนติดต่อกับผู้ใช้งานที่เป็น Web Based ที่จะทำงานกับ Service ต่างๆของ OpenStack ตัวอย่างเช่น Nava KeyStone และ Glance เป็นต้น
  • Cinder:เป็น Block Storage ที่จะทำหน้าที่จัดการ Volume ต่างๆของ Virtual Machine หรือ อีกชื่อหนึ่งที่รู้จักกันคือ Nova-Volume

รายละเอียด Service ของ Compute Node ประกอบไปด้วย Service ต่างๆดังนี้

  • Nova Compute:ทำหน้าที่เป็น Host และบริหารจัดการระบบร่วมกับ Control Node
  • Nova Network:จะบริหารจัดการระบบเครือข่ายสื่อสารภายในระบบ เช่นการทำ DHCP VLAN และ Network Management
  • KVM:หรือชื่อเต็มคือ Kernel-Based Virtual Machine เป็น Hypervisor ที่จัดการ Virtual Machine ต่างๆที่ถูกใช้ในระบบ

วิธีการติดตั้ง Control Node


1) การเตรียมระบบสำหรับ OpenStack


เราใช้ Ubuntu 12.10

เปิดใช้ Terminal และ Login เข้าสู้ root ด้วยคำสั่งนี้


$ sudo su


ข้อแนะนำ

ตัวอย่างนี้ติดตั้งใน MUC-Net จำเป็นจะต้องตั้งค่า Mahidol internet Proxy โดยใช้คำสั่งนี้


$ vim /etc/apt/apt.conf


และเข้าไปแก้ file โดยเพิ่มข้อมูลต่อไปนี้

Acquirehttpproxy "http://yourusername:yourpassword@proxy-phy.mahidol:8080/";

โดยใช้ yourusername และ yourpassword ที่ใช้ Login เข้า Internet ของมหาวิทยาลัยฯ


ทำการ Update OS ด้วยคำสั่งนี้


$ apt-get update

$ apt-get upgrade

$ apt-get dist-upgrade


ติดตั้ง NTP service ด้วยคำสั่ง


$ apt-get install ntp


ติดตั้ง VLAN, Bridge-Utils, และตั้งค่า IP Forwarding ด้วย


$ apt-get install -y vlan bridge-utils

$ sed -i 's/$ net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf

$ sysctl net.ipv4.ip_forward=1


2) ติดตั้งและตั้งค่า Database (MySQL)


ติดตั้ง MySQL


$ apt-get install mysql-server python-mysqldb


ตั้งค่า mysql เพื่อรับ incoming requests ทั้งหมดและ restart service


$ sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf

$ service mysql restart


ติดตั้ง RabbitMQ ด้วย


$ apt-get install -y rabbitmq-server


3) ติดตั้งและตั้งค่า Identity Service (Keystone)


ติดตั้ง Keystone service


$ apt-get install keystone


สร้างฐานข้อมูลสำหรับ Keystone


$ mysql –u root –p


และเมื่อเข้าไปในคำสั่ง mysql ให้ใช้


$ CREATE DATABASE keystone;

$ GRANT ALL ON keystone.* TO 'keystoneUser'@'%' IDENTIFIED BY 'keystonePass';

$ quit;


แก้ตัวแปร connection ใน /etc/keystone/keystone.conf ไปเป็น IP address ที่กำหนดไว้


$ vim /etc/keystone/keystone.conf


และแก้ข้อความในบรรทัดที่ขึ้นต้นด้วยตัวแปร connection ประมาณนี้


connection = mysql://keystoneUser:keystonePass@10. 0.2.15/keystone


***ต้องใช้ IP Address ของเครื่อง Control Node เท่านั้นและใช้เหมือนกันในทุกๆ Service


Restart the identity service และ synchronize database


$ service keystone restart

$ keystone-manage db_sync


ใช้ mseknibilel’s scripts จาก “nimbula github” โดย Download File คำสั่ง wget ตามนี้


$ wget https://raw.github.com/nimbula/OpenStack-Folsom-Install-guide/master/Keystone_Scripts/Without%20Quantum/keystone_basic.sh

$ wget https://raw.github.com/nimbula/OpenStack-Folsom-Install-guide/master/Keystone_Scripts/Without%20Quantum/keystone_endpoints_basic.sh


เปลี่ยนค่า mod ให้ File ทั้ง 2 ที่ Download มาคือ keystone_basic.sh และ keystone_endpoints_basic.sh ด้วยคำสั่ง


$ chmod +x keystone_basic.sh

$ chmod +x keystone_endpoints_basic.sh


ใน keystone_basic.sh script, เปลี่ยนค่า $HOST_IP ไปเป็น IP Address ที่กำหนดไว้ และใน keystone_endpoints_basic.sh script, เปลี่ยนค่า $HOST_IP, $EXT_HOST_IP, และ $MYSQL_HOST เป็น IP address ที่กำหนดไว้เช่นกัน


***การเปลี่ยนหรือแก้ File ผู้ติดตั้งสามารถเลือกแก้ด้วย editor ที่ถนัดในที่นี้ส่วนใหญ่จะใช้ vim ซึ่งเป็น CLI (Command Line Interface) หากไม่ถนัดสามารถแก้ File ด้วย Editor อื่นที่เป็น GUI (Graphic User Interface) เช่น gedit เป็นต้น แต่ต้องระวังเรื่องสิทธิ์การแก้ File ต้องใช้สิทธิ์ root เท่านั้น โดยผู้ติดตั้งสามารถเปิด gedit จาก Command Line


$ gedit /ตามด้วยตำแหน่งของ File ที่ต้องการแก้


จากนั้น execute scripts ทั้ง 2 ด้วยคำสั่งต่อไปนี้


$ ./keystone_basic.sh

$ ./keystone_endpoints_basic.sh

จะได้ผลของ keystone_endpoints_basic.sh ตามนี้ และถ้าอยากรู้ว่ามันทำอะไรบ้างเข้าไปดูใน file นะมีหลายอย่างเลย

สร้าง OpenStack credential file


$ vim credential


และใส่ข้อมูลต่อไปนี้ลงใน File credential


export OS_NO_CACHE=1

export OS_TENANT_NAME=admin

export OS_USERNAME=admin

export OS_PASSWORD=admin_pass

export OS_AUTH_URL="http://10.0.2.15:5000/v2.0/"


***ค่าของค่าตัวแปร OS_TENANT_NAME, OS_USERNAME, OS_PASSWORD, และ OS_AUTH_URL เป็นค่า Default ที่ใช้เป็นตัวอย่าง ซึ่งจะมีค่าเหมือนกันทั้งหมดในการติดตตั้งและอย่าลืมแก้IP Address ใน File credential ซึ่งตัวอย่างนี้คือ 10.0.2.15


และทำการ load ใช้งานค่า file credential


$ source credential


การทดสอบ Keystone, ด้วย cure


$ apt-get install curl openssl

$ curl http://10.0.2.15:35357/v2.0/endpoints -H 'x-auth-token: ADMIN' | python -m json.tool


***ตรวจสอบ IP Address ให้ตรงตามที่ใช้งาน ซึ่งตัวอย่างนี้คือ 10.0.2.15


4) ติดตั้งและตั้งค่า Image Storage Service (Glance)


ติดตั้ง Glance service


$ apt-get install glance


สร้าง MySQL database ใหม่ให้ Glance


$ mysql -u root -p


และเมื่อเข้าไปในคำสั่ง mysql


$ CREATE DATABASE glance;

$ GRANT ALL ON glance.* TO 'glanceUser'@'%' IDENTIFIED BY 'glancePass';

$ quit;


เปลี่ยนค่า filter:authtoken ใน /etc/glance/glance-api-paste.ini


$ vim /etc/glance/glance-api-paste.ini


จากนั้นแก้ file ในส่วน [filter:authtoken] ให้ตรงตามข้อมูลต่อไปนี้


[filter:authtoken]

paste.filter_factory = keystone.middleware.auth_token:filter_factory

auth_host = 10.0.2.15

auth_port = 35357

auth_protocol = http

admin_tenant_name = service

admin_user = glance

admin_password = service_pass


อย่าลืมตรวจสอบ IP Address ให้ตรงตามที่ใช้งาน ซึ่งตัวอย่างนี้คือ 10.0.2.15


เปลี่ยนค่า filter:authtoken ใน /etc/glance/glance-registry-paste.ini


$ vi /etc/glance/glance-registry-paste.ini


จากนั้นแก้ file ในส่วน [filter:authtoken] ให้ตรงตามข้อมูล


[filter:authtoken]

paste.filter_factory = keystone.middleware.auth_token:filter_factory

auth_host = 10.0.2.15

auth_port = 35357

auth_protocol = http

admin_tenant_name = service

admin_user = glance

admin_password = service_pass


เปลี่ยนค่า /etc/glance/glance-api.conf


$ vi /etc/glance/glance-api.conf


โดยแก้ข้อมูลที่ตัวแปร sql_connection


sql_connection = mysql://glanceUser:glancePass@10.0.2.15/glance


***ตรวจสอบ IP Address ให้ตรงตามที่ใช้งาน ซึ่งตัวอย่างนี้คือ 10.0.2.15


และแก้ข้อมูลที่ตัวแปร flavor ตามนี้


[paste_deploy]

flavor = keystone


เปลี่ยนค่า /etc/glance/glance-registry.conf ด้วย


$ vi /etc/glance/glance-registry.conf


โดยแก้ข้อมูลที่ตัวแปร sql_connection


sql_connection = mysql://glanceUser:glancePass@10.0.2.15/glance


และแก้ข้อมูลที่ตัวแปร flavor


[paste_deploy]

flavor = keystone


จากนั้น restart glance-api และ glance-registry services


$ service glance-api restart

$ service glance-registry restart


Sync Glance databases


$ glance-manage db_sync


ทดสอบการติดตั้ง Glance ด้วยการติดตั้ง cirros cloud image จาก Launchpad mirror


$ wget https://launchpad.net/cirros/trunk/0.3.0/+download/ cirros-0.3.0-x86_64-disk.img


ถ้า Download ด้วยคำสั่ง wget ไม่ได้ก็ใช้ web browser แทนแล้วค่อยนำมาใช้งานได้


จากนั้นติดตั้ง cirros cloud image


$ glance image-create --name ImageTest --is-public true --container-format bare --disk-format qcow2 < cirros-0.3.0-x86_64-disk.img


ดูตำแหน่งของ File cirros-0.3.0-x86_64-disk.img ให้แน่นอน โดยใส่ข้อมูลที่เป็น full path เช่น /home/user1/cirros-0.3.0-x86_64-disk.img ตามตำแหน่ง file


ใช้ glance’s image list เพื่อดูว่า image นั้นได้ upload ไปแล้วหรือไม่


$ glance image-list


5) ติดตั้ง และตั้งค่า Compute Node Packages (Nova)


ติดตั้ง control node compute packages


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


สร้าง MySQL database สำหรับ Nova


$ mysql -u root -p


และเมื่อเข้าไปในคำสั่ง mysql


$ CREATE DATABASE nova;

$ GRANT ALL ON nova.* TO 'novaUser'@'%' IDENTIFIED BY 'novaPass';

$ quit;


แก้ authtoken section ใน /etc/nova/api-paste.ini


$ vim /etc/nova/api-paste.ini


จากนั้นแก้ file ในส่วน [filter:authtoken] ให้ตรงตามนี้


[filter:authtoken]

paste.filter_factory = keystone.middleware.auth_token:filter_factory

auth_host = 10.0.2.15

auth_port = 35357

auth_protocol = http

admin_tenant_name = service

admin_user = nova

admin_password = service_pass

signing_dirname = /tmp/keystone-signing-nova


แก้ /etc/nova/nova.conf


$ vim /etc/nova/nova.conf


จากนั้นแก้ file


[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.simple.SimpleScheduler

s3_host=10.0.2.15

ec2_host=10.0.2.15

ec2_dmz_host=10.0.2.15

rabbit_host=10.0.2.15

cc_host=10.0.2.15

metadata_host=10.0.2.15

metadata_listen=0.0.0.0

nova_url=http:// 10.0.2.15:8774/v1.1/

sql_connection=mysql://novaUser:novaPass@10.0.2.15/nova

ec2_url=http:// 10.0.2.15:8773/services/Cloud

root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf


# Auth

use_deprecated_auth=false

auth_strategy=keystone

keystone_ec2_url=http:// 10.0.2.15:5000/v2.0/ec2tokens


# Imaging service

glance_api_servers=10.0.2.15:9292

image_service=nova.image.glance.GlanceImageService


# Vnc configuration

novnc_enabled=true

novncproxy_base_url=http:// 10.0.2.15:6080/vnc_auto.html

novncproxy_port=6080

vncserver_proxyclient_address=10.0.2.15

vncserver_listen=0.0.0.0


# NETWORK

network_manager=nova.network.manager.FlatDHCPManager

force_dhcp_release=True

dhcpbridge_flagfile=/etc/nova/nova.conf

firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver


# Change my_ip to match each host

my_ip=10.0.2.15

public_interface=br100

vlan_interface=eth0

flat_network_bridge=br100

flat_interface=eth0


# Note the different pool, this will be used for instance range

fixed_range=10.0.3.0/24


# Compute #

compute_driver=libvirt.LibvirtDriver


# Cinder #

volume_api_class=nova.volume.cinder.API

osapi_volume_listen_port=5900


Sync ค่า Nova database


$ nova-manage db sync


Restart nova-* services ทั้งหมด


$ cd /etc/init.d/; for i in $(ls nova-*); do sudo service $i restart; done


ทดสอบ Nova services


$ nova-manage service list

จะมีข้อมูลของ service ต่างๆประมาณนี้

6) ติดตั้งและตั้งค่า VM Volume Management (Cinder)


ติดตั้ง Cinder


$ apt-get install cinder-api cinder-scheduler cinder-volume iscsitarget iscsitarget-dkms


สร้าง MySQL database สำหรับ Cinder


$ mysql -u root -p


และเมื่อเข้าไปในคำสั่ง mysql


$ CREATE DATABASE cinder;

$ GRANT ALL ON cinder.* TO 'cinderUser'@'%' IDENTIFIED BY 'cinderPass';

$ quit;


ตั้งค่า api-paste.ini


$ vim /etc/cinder/api-paste.ini


จากนั้นแก้ file ในส่วน [filter:authtoken]


[filter:authtoken]

paste.filter_factory = keystone.middleware.auth_token:filter_factory

service_protocol = http

service_host = 10.0.2.15

service_port = 5000

auth_host = 10.0.2.15

auth_port = 35357

auth_protocol = http

admin_tenant_name = service

admin_user = cinder

admin_password = service_pass


ตั้งค่า cinder.conf


$ vim /etc/cinder/cinder.conf


จากนั้นแก้ file


[DEFAULT]

rootwrap_config=/etc/cinder/rootwrap.conf

sql_connection = mysql://cinderUser:cinderPass@10.0.2.15/cinder

api_paste_confg = /etc/cinder/api-paste.ini

iscsi_helper=ietadm

volume_name_template = volume-%s

volume_group = cinder-volumes

verbose = True

auth_strategy = keystone


Synchronize ค่ากับ database


$ cinder-manage db sync


สร้าง volume group, ตั้งชื่อว่า cinder-volumes


$ dd if=/dev/zero of=cinder-volumes bs=1 count=0 seek=2G

$ losetup /dev/loop2 cinder-volumes

$ fdisk /dev/loop2


***ชื่อของ volume group ผู้ติดตั้งสามารถเปลี่ยนได้และหากการตั้งค่าสำเร็จ เมื่อ reboot เครื่องแล้ว volume ที่ชื่อ cinder-volumes จะยังคงมีอยู่หากไม่มี วิธีการแก้คือ เริ่มทำการสร้าง volume group ใหม่อีกครั้งและตรวจสอบการตั้งค่าจนจบ


ที่ fdisk prompt, ใส่ commands ตามลำดับต่อไปนี้


$ n

$ p

$ 1

$ ENTER

$ ENTER

$ t

$ 8e

$ w


สร้าง physical volume และ volume group


$ pvcreate /dev/loop2

$ vgcreate cinder-volumes /dev/loop2


ตั้งค่า /etc/rc.local โดยเพิ่มค่าก่อนบรรทัด exit 0


$ vim /etc/rc.local


เพิ่มการตั้งค่านี้หลังจาก exit 0


losetup /dev/loop2 <PATH_TO_VG>


7) ติดตั้งและตั้งค่า Dashboard (Horizon)


ติดตั้ง Horizon interface


$ apt-get install openstack-dashboard memcached


Disable default Ubuntu theme เพื่อใช้งาน theme ของ OpenStack


$ vim /etc/openstack-dashboard/local_settings.py


และแก้ข้อมูลโดยการ comment (เติมเครื่องหมาย # ไว้หน้าบรรทัด) ตามนี้


# Enable the Ubuntu theme if it is present.

# try:

# from ubuntu_theme import *

# except ImportError

# pass


จะต้อง reboot เครื่องหลังการตั้ง


$ reboot


และเมื่อเครื่องเปิดพร้อมใช้งานอีกครั้ง ให้ start nova ทุกๆ services


$ cd /etc/init.d/; for i in $(ls nova-*); do sudo service $i start; done


วิธีการติดตั้ง Compute Node


1) การเตรียมระบบสำหรับ OpenStack


ใช้ Ubuntu 12.10 64 bits เหมือนเดิม


ติดตั้ง NTP service


$ apt-get install ntp


เมื่อติดตั้งเสร็จตั้งค่าให้ NTP เชื่อมต่อกับเครื่อง Control Node และเริ่มการทำงานของ NTP ใหม่อีกครั้ง


$ sed -i 's/server ntp.ubuntu.com/server 10.0.2.15/' /etc/ntp.conf

$ service ntp restart


ติดตั้ง VLAN, Bridge-Utils, และตั้งค่า IP Forwarding


$ apt-get install -y vlan bridge-utils

$ sed -i 's/$ net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf

$ sysctl net.ipv4.ip_forward=1


ตรวจสอบเครื่องรองรับการติดตั้ง KVM ด้วยคำสั่งต่อไปนี้


$ apt-get install cpu-checker

$ kvm-ok


***OpenStack รองรับการทำงานร่วมกับ Hypervisor หลายยี่ห้อเช่น KVM ESXi XEN อันนี้ใช้ KVM ชนิดเดียวเท่านั้น ถ้าจะใช้ร่วมกับ Hypervisor อื่นเข้าไปดูที่ openstack.org


ติดตั้ง kvm และตั้งค่า


$ apt-get install -y kvm libvirt-bin pm-utils


แก้ cgroup_device_acl array ใน qemu.conf


$ vim /etc/libvirt/qemu.conf


และแก้ข้อมูลใน parameter ที่ชื่อว่า cgroup_device_acl


cgroup_device_acl = [

"/dev/null", "/dev/full", "/dev/zero",

"/dev/random", "/dev/urandom",

"/dev/ptmx", "/dev/kvm", "/dev/kqemu",

"/dev/rtc", "/dev/hpet", "/dev/net/tun" ]


ตั้งค่า live migration, เปิด live migration โดย uncommenting listen_tls = 0, listen_tcp = 1, และ auth_tcp = “none” ใน libvirtd.conf file


$ vim /etc/libvirt/libvirtd.conf


และเพิ่มค่าต่อไปนี้ลงไปใน file


listen_tls = 0

listen_tcp = 1

auth_tcp = "none"


แก้ค่า libvirtd_opts ใน libvirt-bin.conf


$ vim /etc/init/libvirt-bin.con


และเพิ่มค่า parameter ลงใน file


env libvirtd_opts="-d -l"

แก้ค่าเดิมที่ /etc/default/libvirt-bin


$ vim /etc/default/libvirt-bin


และเพิ่มค่า parameterลงใน file


libvirtd_opts="-d -l"


Restart libvirt service เพื่อ Update ค่าที่แก้


$ service libvirt-bin restart


2) ติดตั้งและตั้งค่า Network (nova-network)


ติดตั้ง nova-network


$ apt-get install nova-network bridge-utils


ติดตั้งและตั้งค่า nova-api และ nova-compute


$ apt-get install nova-api-metadata nova-compute-kvm


แก้ค่า authtoke ใน api-paste.ini


$ vim /etc/nova/api-paste.ini


จากนั้นแก้ file ในส่วน [filter:authtoken]


[filter:authtoken]

paste.filter_factory = keystone.middleware.auth_token:filter_factory

auth_host = 10.0.2.15

auth_port = 35357

auth_protocol = http

admin_tenant_name = service

admin_user = nova

admin_password = service_pass

signing_dirname = /tmp/keystone-signing-nova


แก้ nova-compute.conf


$ vim /etc/nova/nova-compute.conf


แก้ห้วข้อ DEFAULT


[DEFAULT]

libvirt_type=kvm


แก้ nova.conf


$ vim /etc/nova/nova.conf


แก้ข้อมูลของ file


[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.simple.SimpleScheduler

s3_host=10.0.2.15

ec2_host=10.0.2.15

ec2_dmz_host=10.0.2.15

rabbit_host=10.0.2.15

cc_host=10.0.2.15

metadata_host=10.0.2.15

metadata_listen=0.0.0.0

nova_url=http:// 10.0.2.15:8774/v1.1/

sql_connection=mysql://novaUser:novaPass@10.0.2.15/nova

ec2_url=http:// 10.0.2.15:8773/services/Cloud

root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf


# Auth

use_deprecated_auth=false

auth_strategy=keystone

keystone_ec2_url=http:// 10.0.2.15:5000/v2.0/ec2tokens


# Imaging service

glance_api_servers=10.0.2.15:9292

image_service=nova.image.glance.GlanceImageService


# Vnc configuration

novnc_enabled=true

novncproxy_base_url=http:// 10.0.2.15:6080/vnc_auto.html

novncproxy_port=6080

vncserver_proxyclient_address=10.0.2.15

vncserver_listen=0.0.0.0


# NETWORK

network_manager=nova.network.manager.FlatDHCPManager

force_dhcp_release=True

dhcpbridge=/usr/bin/nova-dhcpbridge

dhcpbridge_flagfile=/etc/nova/nova.conf

firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver


# Change my_ip to match each host

my_ip=10.0.2.15

public_interface=br100

vlan_interface=eth0

flat_network_bridge=br100

flat_interface=eth0


# Note the different pool, this will be used for instance range

fixed_range=10.0.2.0/24


# Compute

compute_driver=libvirt.LibvirtDriver


# Cinder

volume_api_class=nova.volume.cinder.API

osapi_volume_listen_port=5900


Resync databases ของ Nova


$ nova-manage db sync


Restart services เพื่อรับค่าใหม่


$ cd /etc/init.d/; for i in $(ls nova-*); do sudo service $i restart; done


ลองทดสอบสถานะของ services ได้โดย


$ nova-manage service list


เสร็จสิ้นการติดตั้ง และสามารถ Login เข้า OpenStack horizon โดยไปที่ web browser และเข้า URL: http://10.0.2.15/horizon


Account Login คือ admin


Password admin_pass ตามที่ตั้งไว้ใน configure file

พอ Login เข้าไปก็จะเห็นหน้า Dashboard ของ OpenStack Folsom แบบนี้