วันนี้มีโจทย์คือ ติดตั้ง openstack ผ่านตัว devstack ติดตั้ง 1 controller 4 compute
โดย มีทั้งหมด 4 physical server ลง ubuntu 16.06 64Bit
1 physical : 1 controller + 1 compute node [ip: 103.246.99.16]
3 physical : 3 compute node [ ip: 103.246.99.17-19]
##### Start install devstack on controller node
useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
###logout from root
exit
login to stack user
###git clone for devstack from git
git clone
https://git.openstack.org/openstack-dev/devstackcd devstack
#cp sample/local.conf .
#vi local.conf
[[local|localrc]]
HOST_IP=103.246.99.16
PUBLIC_INTERFACE=eno1 ###Use for this map with your physical lan name (public-ip)
PROVIDER_NETWORK_TYPE=flat ###Use for flat
FIXED_RANGE="10.0.0.0/24"
PUBLIC_NETWORK_GATEWAY=103.246.99.254
#FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=103.246.99.8/25
Q_FLOATING_ALLOCATION_POOL=start=103.246.99.10,end=103.246.99.15
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=abcdef
DATABASE_PASSWORD=abcdef
RABBIT_PASSWORD=abcdef
SERVICE_PASSWORD=abcdef
##OVS
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex
##แนะนำว่าทำรันผ่าน tmux หรือ screen ไว้นะครับ
$./stack.sh
รอประมาณ 15-20 นาที จนเสร็จครับ
ส่วนต่อมาก็ทำการ ลง compute node ทั้งสามตัว
##### Start install devstack on controller node
useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
###logout from root
exit
login to stack user
###git clone for devstack from git
git clone
https://git.openstack.org/openstack-dev/devstackcd devstack
#cp sample/local.conf .
#vi local.conf
[[local|localrc]]
HOST_IP=103.246.99.17 # change this per compute node
PUBLIC_INTERFACE=eno1
FIXED_RANGE="10.0.0.0/24"
PUBLIC_NETWORK_GATEWAY=103.246.99.254
#FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=103.246.99.8/25
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=abcdef
DATABASE_PASSWORD=abcdef
RABBIT_PASSWORD=abcdef
SERVICE_PASSWORD=abcdef
DATABASE_TYPE=mysql
SERVICE_HOST=103.246.99.16
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
ENABLED_SERVICES=n-cpu,q-agt,n-api-meta,c-vol,placement-client
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
#### For Compute node ####
แนะนำว่าทำรันผ่าน tmux หรือ screen ไว้นะครับ
$./stack.sh
เสร็จแล้วการ map cell_v2 ที่เครื่อง controller node เพื่อให้เรียกใช้งานสร้าง instance บน node ต่างๆ ได้ครับ
$source admin-openrc.sh
$nova-manage cell_v2 map_cell0 --database_connection \
mysql+pymysql://root:abcdef@103.246.99.16/nova_cell0?charset=utf8
$nova-manage cell_v2 create_cell --verbose --name cell1 \
--database_connection mysql+pymysql://root:abcdef@127.0.0.1/nova_cell0?charset=utf8 \
--transport-url rabbit://stackrabbit:abcdef@103.246.99.16:5672/
$nova-manage api_db sync
$nova-manage cell_v2 discover_hosts
#### Check list_hosts on node-01 (controller)
$ nova-manage cell_v2 list_hosts
+-----------+--------------------------------------+------------------+
| Cell Name | Cell UUID | Hostname |
+-----------+--------------------------------------+------------------+
| cell1 | 990aaaab-9999-404e-bfa0-b1597fc84fa0 | node-01.packetlove.com |
| cell1 | 990aaaab-9999-404e-bfa0-b1597fc84fa0 | node-02.packetlove.com |
| cell1 | 990aaaab-9999-404e-bfa0-b1597fc84fa0 | node-03.packetlove.com |
| cell1 | 990aaaab-9999-404e-bfa0-b1597fc84fa0 | node-04.packetlove.com |
+-----------+--------------------------------------+------------------+
เท่านี้ก็ถือว่าเรียบร้อยละครับ ส่วนถ้าท่านไหนอยากจะเพิ่มเติม configure ไรเพิ่ม
ก็ลองเล่นๆต่อไปดูนะครับผม : )
ทีมงาน Packetlove.com