Skip to content
Snippets Groups Projects

puppet-iaas

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with iaas
  4. Usage - Configuration options and additional functionality
  5. References
  6. Limitations

Overview

This Puppet module allows deploying a highly-available installation of OpenStack Juno on commodity servers supporting multiple networks architecture.

The present module is part of the outcomes of the Open City Platform (OCP) National Project.

The iaas module derives from the puppet-iaas module authored by Qunentin Machu.

Module Description

By using the present module, different types of nodes can be deployed:

Setup

Setup Requirements

This module assumes nodes running Ubuntu 14.04 (Trusty) with either Puppet Enterprise or Puppet.

More information related to the setup requirements are available in the following guide - Setup requirements

This module depends on Hiera.

Beginning with iaas module

To ensure high availability of the infrastructure, three Service nodes, three Storage nodes, two Controller nodes and two Network nodes must be deployed. Please make sure you have available at least ten servers. In addition, a number of Compute nodes must also to be available for the deployment. The present module supports multiple external networks.

Usage

The nodes should be deployed in the following order:

  1. Service nodes
  2. Storage nodes
  3. Controller nodes
  4. Network nodes
  5. Compute node(s)

Hiera Configuration

Before using the module you need to collect all the information regarding your infrastructure:

  • hostnames
  • networks (admin, management, data, etc.)
  • Network devices
  • other specific settings

The first step in using the iaas module is to configure Hiera with the specific settings of your infrastructure. You can find in the examples/ directory a sample 'common.yaml' file with all of the settings required by the module. These configuration options include Service settings, Storage settings, Network settings, OpenStack core settings and related passwords. If any of these settings are undefined or not properly set, your deployment may fail.

Site configuration

The second step is to configure the manifest file with specific settings pointing to your installation. In this module, the examples/ directory contains a sample 'site.pp' file that can be updated according to your deployment. The configuration options present in this file include Service variables and node-specific configuration settings. If any of these settings are undefined or not properly set, your deployment may fail.

Nodes balancing

In order to balance requests across the different nodes, HAproxy and Keepalived have to be configured properly. Make sure also that nodes hostnames con be easily resolved to the corresponding IPs, both direct and reverse.

References

In order to develop and test the module and its components, the following official guides and web-pages have been considered:

Limitations

This module is still under development.