Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
OpenStack Setup scripts, for use with .deb's rather than git clones :)
Shell
Branch: master
Failed to load latest commit information.
.gitignore Switch to smoser's loader kernel for lucid image
README.md Update README.md
all-in-one.sh Update all-in-one.sh
api-paste-keystone.ini.tmpl Initial commit
clean-all.sh Fixup settings.local import, keystone-data mistake, and add clean-all.sh
clean.sh Switch to smoser's loader kernel for lucid image
dashboard.sh Hopefully fixed for real this time..
glance-api.conf.tmpl Fixup glance uploads..
glance-registry.conf.tmpl Update glance-registry.conf.tmpl to match upstream.
glance-test.sh Fixup glance uploads..
glance-upload-loader.sh Switch to smoser's loader kernel for lucid image
glance-upload-lucid-loader.sh Switch to smoser's loader kernel for lucid image
glance-upload-lucid.sh Use glance-upload-loader.sh followed by glance-upload-lucid-loader.sh…
glance-upload-oneiric.sh Switch to using the qcow2 oneiric image
glance-upload-precise.sh Add Ubuntu Precise upload script
glance-upload-ttylinux.sh Add glance-upload-ttylinux.sh script
glance.sh Fixup glance uploads..
keystone-test.sh Initial commit
keystone.conf.tmpl Revert "Lowercase all roles."
keystone.sh Okay - works again!
keystone_data.sh.tmpl Revert "Lowercase all roles."
local_settings.py.tmpl Setup per service MySQL accounts
nova-all.sh Split nova.sh into controller + compute scripts
nova-boot-instance.sh Update nova-boot-instance.sh
nova-compute.sh Move KVM check to settings
nova-controller.sh Ensure libvirt type is replaced on the controller node's nova.conf
nova-test.sh Initial commit
nova.conf.tmpl Remove --ec2_dmz_host from nova.conf, It's not needed.
obtain-token.sh Call ./glance-upload-ttylinux.sh during glance setup
openrc.tmpl Insert replacement markers into openrc template
settings Remove warning output from settings, it messes with obtain-token.sh

README.md

OpenStack Setup Scripts

These scripts install+setup OpenStack (an all in one server, or all bar compute + compute nodes).

Assumptions:

  1. You want to use the VLAN network manager. (NOTE: The requires VLAN capable switches!)
  2. You want to use multi-node networking (NOTE: This is very different to simply having multiple compute nodes. Read up on it.)
  3. You want to use 2 network cards in every server (1 for public traffic, 1 for nova's internal traffic)
  4. You are installing on 100% clean Ubuntu 11.10 servers (i.e. you have never attempted to install OpenStack on these servers since the last time they were wiped)

If these assumptions are not valid for your setup, these scripts will not work and have not been tested. They could be changed for others, but out of the box, that is simply what they do.

NOTE: These scripts do NOT secure your setup. eg the default RabbitMQ "guest" account is used etc. Is is your job to handle that kind of stuff after you have a quick and dirty, but working install done.

All in one server (You can add more later...)

Instructions:

  1. Install ubuntu 11.10
  2. Setup /etc/network/interfaces (See sample below)
  3. Login as root
  4. Install git (apt-get install git)
  5. Clone scripts (git clone https://github.com/managedit/openstack-setup.git)
  6. Edit "settings" to suit.. (or better yet, create settings.local and copy the settings you want to change in there.)
  7. Run: ./all-in-one.sh
  8. ...
  9. Profit!

Sample /etc/network/interfaces

auto eth0
iface eth0 inet static
        address 192.0.2.2
        netmask 255.255.255.0
        network 192.0.2.0
        broadcast 192.0.2.255
        gateway 192.0.2.1

# Bring up eth1 without an IP address (You can have one if you want, but the point here is its not needed)
auto eth1
iface eth1 inet manual
        up ifconfig eth1 up 

Multiple Servers

Do this on all servers

Edit "settings" to suit.. (or create settings.local with overrides)

Install this PPA https://launchpad.net/~managedit/+archive/openstack

apt-get install -y python-software-properties  
apt-add-repository -y ppa:managedit/openstack  
apt-get update  
apt-get install -y managedit-openstack-pin  

Install and configure NTP

apt-get install -y ntp

(Todo: Configure nodes to use controller as NTP source)

Do this on On the MySQL / RabbitMQ / NTP Servers (Probably your controller node)

Install MySQL, RabbitMQ and ntp

apt-get install -y python-mysqldb mysql-server rabbitmq-server  
sed -i 's/server ntp.ubuntu.com/server ntp.ubuntu.com\nserver 127.127.1.0\nfudge 127.127.1.0 stratum 10/g' /etc/ntp.conf  
service ntp restart  
sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf  
service mysql restart  

Grant root remote access to MySQL

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '$PASSWORD' WITH GRANT OPTION; FLUSH PRIVILEGES;

Install Keystone

Run this:

./keystone.sh

then test with:

./keystone-test.sh

Install Glance

Run this:

./glance.sh

then test with:

./glance-test.sh

Install Nova

Controller Node

Run this:

./nova-controller.sh

Compute Node(s)

Run this:

./nova-compute.sh

Then test with:

./nova-test.sh

Install Dashboard

Run this:

./dashboard.sh

then test by visiting http://$HOST_IP/

Something went wrong with that request. Please try again.