Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Project that manages openstack components as submodules
Puppet Ruby Shell
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


NOTE: this project will be deprecated in favor of:

It contains some great examples of how to get started with
testing with Vagrant, but unfortunaly implemented git submodules
which are just too much of a pain to use for development.

These submodules are no longer being maintained.

Puppet Labs OpenStack

A collection of modules to install a single node OpenStack server.

Thanks to Canonical and Rackspace for their assistance in developing these modules.


* Currently only works on Ubuntu Natty
* Puppet 2.6.8 or later
* Nova PPA


1. Install Python software properties

        $ sudo apt-get install -y python-software-properties

2. Install the Nova PPA

        $ sudo add-apt-repository ppa:nova-core/trunk

3. Update APT

        $ sudo apt-get update

4. Install Puppet -- On Oneiric Ocelot (11.10) the ubuntu repos have the correct version puppet but on Natty you have to manually get the 11.10 packages 

        $ sudo apt-get install libxmlrpc-ruby libopenssl-ruby libshadow-ruby1.8 libaugeas-ruby1.8
	$ wget \ \
	$ sudo dpkg -i *.deb

	make sure you have version 2.6.8
	$ sudo puppet --version

5. Download the Puppet OpenStack module

        $ cd ~ && git clone --recurse git://

6. Copy the modules into the Puppet modulepath

        $ sudo cp -R ~/puppetlabs-openstack/modules/* /etc/puppet/modules/

7. Run Puppet

        $ sudo puppet apply --verbose ~/puppetlabs-openstack/manifests/all.pp


1. Add images using glance

2. Extract credentials

        $ cd ~
        $ sudo nova-manage project zipfile nova novaadmin
        $ unzip
        $ source novarc
        $ euca-add-keypair openstack > ~/cert.pem

3. You can list any images and flavours available.

        $ nova flavor-list
        $ nova image-list

4. Run an instance

        $ euca-run-instances ami-00000003 -k openstack -t m1.tiny

5. You can see running instances

        $ euca-describe-instances

Installing With Vagrant

These examples assume that you have a suitable image that you can
use for testing.

1. Export the environment variable:

Step one is to export an environment variable of the vagrant box.

All of my testing has been done using a Natty image.

2. Download glance images for testing:

        $ mkdir images
        $ cd images
        $ curl -g -o ttylinux-uec-i686-12.1_2.6.35-22_1.tar.gz

2. Testing single node installation:

This will install all of the currently supported openstack components into a single node.

run the rake task:

    $ rake build:single


Puppet Labs, Canonical & Rackspace!


    Author:: Puppet Labs (<>)
    Copyright:: Copyright (c) 2011 Puppet Labs
    License:: Apache License, Version 2.0

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

Something went wrong with that request. Please try again.