<commit_before>#puppetlabs-openstack
Puppet Labs Reference and Testing Deployment Module for OpenStack.

Version 4.1.0 / 2014.1 / Icehouse

####Table of Contents

1. [Overview - What is the puppetlabs-openstack module?](#overview)
2. [A Note on Versioning](#versioning)
2. [Module Description - What does the module do?](#module-description)
3. [Quick Start - Up and Running with VMWare Fusion and Vagrant](#quickstart)
4. [Setup - The basics of getting started with OpenStack](#setup)
    * [Setup Requirements](#setup-requirements)
    * [Beginning with OpenStack](#beginning-with-openstack)
5. [Usage - Configuration and customization options](#usage)
    * [Hiera configuration](#hiera-configuration)
    * [Controller Node](#controller-node)
    * [Storage, Network, and Compute Nodes](#other-nodes)
6. [Reference - An under-the-hood peek at what the module is doing](#reference)
7. [Limitations - OS compatibility, etc.](#limitations)
8. [License](#license)

##Overview

The puppetlabs-openstack module is used to deploy a multi-node, all-in-one, or swift-only installation of
OpenStack Juno. The module does not build out a high-availability or SSL secured cluster, and should be
regarded as a learning and testing tool, similar to devstack. My intention is to improve the production
capabilities of this module as development progresses.

##Versioning

This module has been given version 5 to track the stackforge/puppet-openstack modules. The versioning for the
stackforge/puppet-openstack modules are as follows:

```
Puppet Module :: OpenStack Version :: OpenStack Codename
2.0.0         -> 2013.1.0          -> Grizzly
3.0.0         -> 2013.2.0          -> Havana
4.0.0         -> 2014.1.0          -> Icehouse
5.0.0         -> 2014.2.0          -> Juno
6.0.0         -> 2015.1.0          -> Kilo
```

##Module Description

Using the master branch of the puppet-openstack modules, puppetlabs-openstack allows
for the rapid deployment of an installation of OpenStack Juno. For the multi-node, up to five
types of nodes are created for the deployment:

* A controller node that hosts databases, message queues and caches, and most api services.
* A storage node that hosts volumes, image storage, and the image storage api.
* A network node that performs L2 routing, L3 routing, and DHCP services.
* A compute node to run guest operating systems.
* An optional Tempest node to test your deployment.

The all-in-one deployment sets up all of the services on a single node,
including the Tempest testing.

The Swift deployment sets up:

* A controller node that hosts databases, message queues and caches, and the Swift API.
* Three storage nodes in different Swift Zones.

##QuickStart

###Requirements

To run the integrated testing infrastructure you need the following requirements on your workstation:

* VMWare Fusion/Desktop, with the network set to not require authentication for "promiscuous mode"
* Vagrant plugin for VMWare.
* Puppet 3.x.
* A CentOS 7 minimal image, loaded into Vagrant with the name 'centos-7-64-openstack'.

Start by creating a working test system in the examples directory:

```
cd examples
./make_rhel_allinone.sh
```

That script will execute a set of Puppet modules to build out a Red Hat based all-in-one
test environment. Change into that environment, and start running the scripts in order:
<commit_msg>Updated README quickstart<commit_after>#puppetlabs-openstack
Puppet Labs Reference and Testing Deployment Module for OpenStack.

Version 4.1.0 / 2014.1 / Icehouse

####Table of Contents

1. [Overview - What is the puppetlabs-openstack module?](#overview)
2. [A Note on Versioning](#versioning)
2. [Module Description - What does the module do?](#module-description)
3. [Quick Start - Up and Running with VMWare Fusion and Vagrant](#quickstart)
4. [Setup - The basics of getting started with OpenStack](#setup)
    * [Setup Requirements](#setup-requirements)
    * [Beginning with OpenStack](#beginning-with-openstack)
5. [Usage - Configuration and customization options](#usage)
    * [Hiera configuration](#hiera-configuration)
    * [Controller Node](#controller-node)
    * [Storage, Network, and Compute Nodes](#other-nodes)
6. [Reference - An under-the-hood peek at what the module is doing](#reference)
7. [Limitations - OS compatibility, etc.](#limitations)
8. [License](#license)

##Overview

The puppetlabs-openstack module is used to deploy a multi-node, all-in-one, or swift-only installation of
OpenStack Juno. The module does not build out a high-availability or SSL secured cluster, and should be
regarded as a learning and testing tool, similar to devstack. My intention is to improve the production
capabilities of this module as development progresses.

##Versioning

This module has been given version 5 to track the stackforge/puppet-openstack modules. The versioning for the
stackforge/puppet-openstack modules are as follows:

```
Puppet Module :: OpenStack Version :: OpenStack Codename
2.0.0         -> 2013.1.0          -> Grizzly
3.0.0         -> 2013.2.0          -> Havana
4.0.0         -> 2014.1.0          -> Icehouse
5.0.0         -> 2014.2.0          -> Juno
6.0.0         -> 2015.1.0          -> Kilo
```

##Module Description

Using the master branch of the puppet-openstack modules, puppetlabs-openstack allows
for the rapid deployment of an installation of OpenStack Juno. For the multi-node, up to five
types of nodes are created for the deployment:

* A controller node that hosts databases, message queues and caches, and most api services.
* A storage node that hosts volumes, image storage, and the image storage api.
* A network node that performs L2 routing, L3 routing, and DHCP services.
* A compute node to run guest operating systems.
* An optional Tempest node to test your deployment.

The all-in-one deployment sets up all of the services on a single node,
including the Tempest testing.

The Swift deployment sets up:

* A controller node that hosts databases, message queues and caches, and the Swift API.
* Three storage nodes in different Swift Zones.

##QuickStart

###Requirements

To run the integrated testing infrastructure you need the following requirements on your workstation:

* VMWare Fusion/Desktop, with the network set to not require authentication for "promiscuous mode"
* Vagrant plugin for VMWare Fusion/Desktop.
* Puppet 3.x (`sudo gem install puppet`)
* A CentOS 7 minimal image, loaded into Vagrant with the name 'centos-7-64-openstack'.

Start by creating a working test system in the examples directory:

```
cd examples
./make_rhel_allinone.sh
```

That script will execute a set of Puppet modules to build out a Red Hat based all-in-one
test environment. Change into that environment, and start running the scripts in order:

{'fraction_non_alphanumeric': 0.08059259259259259, 'fraction_numerical': 0.02074074074074074, 'mean_word_length': 3.8498563218390807, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4163363', 'n_tokens_mistral': 1994, 'n_tokens_neox': 1830, 'n_words': 845}