Helper classes that utilize the core Puppet OpenStack modules
Go to file
Emilien Macchi 6feda8b3e9 repo/apt: update to support apt 2.1.0 module
This patcha affects how we use puppetlabs-apt on Debian & Ubuntu
systems.

It:
* Drops 'required_packages' deprecated parameter
* Installs UCA keyring package *before* adding the new repo and run
  apt-get update
* For backward compatibility when package_require is True, make sure to
  not run `apt-get update` before the Package resource when manage_uca
  is True; because it would lead to a Circular issue.

Change-Id: I772d9929bcc379a7d1515a7a76658811720897dd
Closes-bug: #1468761
2015-06-25 10:46:09 -04:00
examples Add hash based repository management 2014-11-27 22:12:25 +11:00
files repo: bump to Kilo by default 2015-05-08 20:13:17 -04:00
lib/puppet Fixes for new pacemaker versions 2015-02-10 11:17:46 +01:00
manifests repo/apt: update to support apt 2.1.0 module 2015-06-25 10:46:09 -04:00
spec repo/apt: update to support apt 2.1.0 module 2015-06-25 10:46:09 -04:00
templates Merge "Add pacemaker provider for HA services" 2015-01-19 13:23:25 +00:00
.fixtures.yml fixtures: pin apt to 1.8.0 2015-04-27 09:21:54 -04:00
.gitignore Add pacemaker provider for HA services 2014-12-23 10:08:49 +01:00
.gitreview Update .gitreview file for project rename 2015-06-12 23:12:30 +00:00
Gemfile Create basic module structure with required files 2014-07-09 13:09:26 -07:00
LICENSE Synchronize LICENSE file with OpenStack projects 2015-04-20 09:29:08 -04:00
README.md Add HA docs for pacemaker service provider 2015-02-09 11:52:56 +01:00
Rakefile Add hash based repository management 2014-11-27 22:12:25 +11:00
metadata.json metadata: Synchronize metadata file with module requirements 2015-05-13 18:07:49 +02:00

README.md

openstack_extras

5.0.0 - 2014.2.0 - Juno

Table of Contents

  1. Overview - What is the openstack_extras module?
  2. Module Description - What does the module do?
  3. Setup - The basics of getting started with openstack_extras
  4. Implementation - An under-the-hood peek at what the module is doing
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module
  7. Contributors - Those with commits
  8. Release Notes - Notes on the most recent updates to the module

Overview

The openstack_extras module is a part of Stackforge, an effort by the Openstack infrastructure team to provide continuous integration testing and code review for Openstack and Openstack community projects not part of the core software. The module itself is used to add useful utilities for composing and deploying OpenStack with the Stackforge Openstack modules.

Module Description

The openstack_extras module is intended to provide useful utilities to help with OpenStack deployments, including composition classes, HA utilities, monitoring functionality, and so on.

This module combines other modules in order to build and leverage an entire OpenStack software stack. This module replaces functionality from the deprecated stackforge/puppet-openstack module.

Setup

Installing openstack_extras

example% puppet module install puppetlabs/openstack_extras

Beginning with openstack_extras

Instructions for beginning with openstack_extras will be added later.

Implementation

openstack_extras

openstack_extras is a combination of Puppet manifest and ruby code to delivery configuration and extra functionality through types and providers.

HA configuration for Openstack services

This module allows to configure Openstack services in HA. Please refer to the ha-guide for details. If you have a Corosync with Pacemaker cluster with several nodes joined, you may want to use an HA service provider which allows you to create the pacemaker resources for Openstack services and run them in HA mode. The example HA service configuration for keystone service:

openstack_extras::pacemaker::service { 'openstack-keystone' :
    ensure             => present,
    metadata           => {},
    ms_metadata        => {},
    operations         => {},
    parameters         => {},
    primitive_class    => 'systemd',
    primitive_provider => false,
    primitive_type     => 'openstack-keystone',
    use_handler        => false,
    clone              => true,
    require            => Package['openstack-keystone']
}

This example will create a pacemaker clone resource named p_openstack-keystone-clone and will start it with the help of systemd.

And this example will create a resource p_cinder-api-clone for Cinder API service with the given OCF script template from some cluster module:

  $metadata = {
    'resource-stickiness' => '1'
  }
  $operations = {
    'monitor'  => {
      'interval' => '20',
      'timeout'  => '30',
    },
    'start'    => {
      'timeout' => '60',
    },
    'stop'     => {
      'timeout' => '60',
    },
  }
  $ms_metadata = {
    'interleave' => true,
  }

  openstack_extras::pacemaker::service { 'cinder-api' :
    primitive_type      => 'cinder-api',
    metadata            => $metadata,
    ms_metadata         => $ms_metadata,
    operations          => $operations,
    clone               => true,
    ocf_script_template => 'cluster/cinder_api.ocf.erb',
  }

Limitations

  • Limitations will be added as they are discovered.

Development

Developer documentation for the entire puppet-openstack project.

Contributors

Versioning

This module has been given version 5 to track the puppet-openstack modules. The versioning for the 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

Release Notes

5.0.0

  • This is the initial release of this module.