Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

OpenStack Setup scripts, for use with .deb's rather than git clones :)

branch: master
Octocat-spinner-32 .gitignore Switch to smoser's loader kernel for lucid image November 21, 2011
Octocat-spinner-32 README.md Update README.md February 01, 2012
Octocat-spinner-32 all-in-one.sh Update all-in-one.sh November 23, 2011
Octocat-spinner-32 api-paste-keystone.ini.tmpl Initial commit November 06, 2011
Octocat-spinner-32 clean-all.sh Fixup settings.local import, keystone-data mistake, and add clean-all.sh November 20, 2011
Octocat-spinner-32 clean.sh Switch to smoser's loader kernel for lucid image November 21, 2011
Octocat-spinner-32 dashboard.sh Hopefully fixed for real this time.. November 23, 2011
Octocat-spinner-32 glance-api.conf.tmpl Fixup glance uploads.. January 22, 2012
Octocat-spinner-32 glance-registry.conf.tmpl Update glance-registry.conf.tmpl to match upstream. December 02, 2011
Octocat-spinner-32 glance-test.sh Fixup glance uploads.. January 22, 2012
Octocat-spinner-32 glance-upload-loader.sh Switch to smoser's loader kernel for lucid image November 21, 2011
Octocat-spinner-32 glance-upload-lucid-loader.sh Switch to smoser's loader kernel for lucid image November 21, 2011
Octocat-spinner-32 glance-upload-lucid.sh Use glance-upload-loader.sh followed by glance-upload-lucid-loader.sh… January 04, 2012
Octocat-spinner-32 glance-upload-oneiric.sh Switch to using the qcow2 oneiric image November 20, 2011
Octocat-spinner-32 glance-upload-precise.sh Add Ubuntu Precise upload script March 02, 2012
Octocat-spinner-32 glance-upload-ttylinux.sh Add glance-upload-ttylinux.sh script November 20, 2011
Octocat-spinner-32 glance.sh Fixup glance uploads.. January 22, 2012
Octocat-spinner-32 keystone-test.sh Initial commit November 06, 2011
Octocat-spinner-32 keystone.conf.tmpl Revert "Lowercase all roles." January 22, 2012
Octocat-spinner-32 keystone.sh Okay - works again! November 23, 2011
Octocat-spinner-32 keystone_data.sh.tmpl Revert "Lowercase all roles." January 22, 2012
Octocat-spinner-32 local_settings.py.tmpl Setup per service MySQL accounts November 23, 2011
Octocat-spinner-32 nova-all.sh Split nova.sh into controller + compute scripts November 17, 2011
Octocat-spinner-32 nova-boot-instance.sh Update nova-boot-instance.sh November 14, 2011
Octocat-spinner-32 nova-compute.sh Move KVM check to settings January 22, 2012
Octocat-spinner-32 nova-controller.sh Ensure libvirt type is replaced on the controller node's nova.conf January 22, 2012
Octocat-spinner-32 nova-test.sh Initial commit November 06, 2011
Octocat-spinner-32 nova.conf.tmpl Remove --ec2_dmz_host from nova.conf, It's not needed. February 08, 2012
Octocat-spinner-32 obtain-token.sh Call ./glance-upload-ttylinux.sh during glance setup November 20, 2011
Octocat-spinner-32 openrc.tmpl Insert replacement markers into openrc template December 15, 2011
Octocat-spinner-32 settings Remove warning output from settings, it messes with obtain-token.sh January 22, 2012
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.