Multi node OpenStack, Folsom, Quantum, Nova, Keystone, Glance, Horizon, Cinder, OpenVSwitch, KVM, Ubuntu Server 12.10 (64 bits).
Authors
Copyright (C) Bilel Msekni <>
Contributors
Roy Sowa <>
Stephen gran <>
Dennis E Miyoshi <>
Marco Consonni <>
Houssem Medhioub <>
Djamal Zeghlache <>
Wana contribute ? Read the guide, send your contribution and get your name listed ;)
Table of Contents
0. What is it?
1. Requirements
2. Controller Node
3. Network Node
4. Compute Node
5. Start your first VM
6. Licencing
7. Contacts
8. Acknowledgement
9. Credits
10. To do
0. What is it?
OpenStack Folsom Install Guide is an easy and tested way to create your own OpenStack plateform.
Version 3.0
Status: Testing
1. Requirements
Node Role:
NICs
Control Node:
eth0 (100.10.10.51), eth1 (192.168.100.51)
Network Node:
eth0 (100.10.10.52), eth2 (192.168.100.52)
Compute Node:
eth0 (100.10.10.53)
Note 1: Compute and Controller nodes can be merged into one node.
Note 2: If you are not interrested in Quantum, you can also use this guide but you must follow the nova section found instead of the one written in this guide.
Note 3: This is my current network architecture, you can add as many compute node as you wish.
2. Controller Node
2.1. Preparing Ubuntu 12.10
After you install Ubuntu 12.10 Server 64bits, Go to the sudo mode and don't leave it until the end of this guide:
Restart the identity service then synchronize the database:
service keystone restart
keystone-manage db_sync
Fill up the keystone database using the two scripts available in the of this git repository. Beware that you MUST comment every part related to Quantum if you don't intend to install it otherwise you will have trouble with your dashboard later:
#Modify the HOST_IP and HOST_IP_EXT variable before executing the scripts
chmod +x keystone_basic.sh
chmod +x keystone_endpoints_basic.sh
./keystone_basic.sh
./keystone_endpoints_basic.sh
Create a simple credential file and load it so you won't be bothered later:
Restart the glance-api and glance-registry services:
service glance-api restart; service glance-registry restart
Synchronize the glance database:
glance-manage db_sync
To test Glance's well installation, we upload a new image to the store. Start by downloading the cirros cloud image to your node and then uploading it to Glance:
mkdir images
cd images
wget
glance image-create --name myFirstImage --is-public true --container-format bare --disk-format qcow2 < cirros-0.3.0-x86_64-disk.img
Now list the images to see what you have just uploaded:
glance image-list
2.8. Quantum
Install the Quantum server and the OpenVSwitch package collection:
Finally, don't forget to create a volumegroup and name it cinder-volumes:
dd if=/dev/zero of=cinder-volumes bs=1 count=0 seek=2G
losetup /dev/loop2 cinder-volumes
fdisk /dev/loop2
#Type in the followings:
n
p
1
ENTER
ENTER
t
8e
w
Proceed to create the physical volume then the volume group:
Note: Beware that this volume group gets lost after a system reboot. (Click to know how to load it after a reboot)
Restart the cinder services:
service cinder-volume restart
service cinder-api restart
2.11. Horizon
To install horizon, proceed like this
apt-get install openstack-dashboard memcached
If you don't like the OpenStack ubuntu theme, you can disabled it and go back to the default look:
nano /etc/openstack-dashboard/local_settings.py
#Comment these lines
#Enable the Ubuntu theme if it is present.
#try:
# from ubuntu_theme import *
#except ImportError:
# pass
Reload Apache and memcached:
service apache2 restart; service memcached restart
You can now access your OpenStack 192.168.100.51/horizon with credentials admin:admin_pass.
Note: A reboot might be needed for a successful login
Configure the NTP server to follow the controller node:
sed -i 's/server ntp.ubuntu.com/server 100.10.10.51/g' /etc/ntp.conf
service ntp restart
Install other services:
apt-get install vlan bridge-utils
Enable IP_Forwarding:
nano /etc/sysctl.conf
# Uncomment net.ipv4.ip_forward=1, to save you from rebooting, perform the following
sysctl net.ipv4.ip_forward=1
3.2.Networking
Put the internet connected NIC in promisc mode:
auto eth2
iface eth2 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down
auto eth0
iface eth0 inet static
address 100.10.10.52
netmask 255.255.255.0
#br-int is used for VM integration
ovs-vsctl add-br br-int
#br-ex is used for accessing internet.
ovs-vsctl add-br br-ex
ovs-vsctl br-set-external-id br-ex bridge-id br-ex
ovs-vsctl add-port br-ex eth2
3.4. Quantum
We need to install the l3 agent, dhcp agent and the openVSwitch plugin agent
cd /etc/init.d/; for i in $( ls nova-* ); do sudo service $i restart; done
Check for the smiling faces on nova-* services to confirm your installation:
nova-manage service list
5. Your First VM
To start your first VM, we first need to create a new tenant, user, internal and external network. SSH to your controller node and perform the following.
Create a new tenant
keystone tenant-create --name project_one
Create a new user and assign the member role to it in the new tenant (keystone role-list to get the appropriate id):
VMs gain access to the metadata server locally present in the controller node via the external network. To create that necessary connection perform the following: