Helper classes that utilize the core Puppet OpenStack modules
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tobias Urdin e8f6ed9941 Set show_diff to false for auth_file 3 months ago
examples Add hash based repository management 5 years ago
files repos: configure RDO Virtualization repository 3 years ago
lib/puppet Fixes for new pacemaker versions 5 years ago
manifests Set show_diff to false for auth_file 3 months ago
releasenotes Use Python to compute release notes version 2 years ago
spec latest unit test failed 1 year ago
templates Set OS_INTERFACE and OS_ENDPOINT_TYPE in auth file 2 years ago
.gitignore Add basic structure for ReNo 4 years ago
.gitreview OpenDev Migration Patch 1 year ago
.zuul.yaml import zuul job settings from project-config 1 year ago
CHANGELOG.md Release 8.0.0 4 years ago
Gemfile Update Gemfile to pull spec_helper from stable/queens 1 year ago
LICENSE Synchronize LICENSE file with OpenStack projects 5 years ago
README.md Update to the latest address in README 2 years ago
Rakefile Use puppet-openstack_spec_helper for Rakefile & spec_helper_acceptance 4 years ago
bindep.txt Add Puppet package to bindep, for module build 2 years ago
metadata.json Prepare a new Queens release 2 years ago
setup.cfg Merge "Change author in setup.cfg" 2 years ago
setup.py Add basic structure for ReNo 4 years ago
test-requirements.txt Remove pinned versions from test-requirements.txt 2 years ago
tox.ini Update UPPER_CONSTRAINTS_FILE for stable/queens 2 years ago

README.md

Team and repository tags

Team and repository tags

openstack_extras

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. Versioning - Notes on the version numbering scheme

Overview

The openstack_extras module is a part of OpenStack, an effort by the Openstack infrastructure team to provide continuous integration testing and code review for Openstack and Openstack community projects as part of the core software. The module itself is used to add useful utilities for composing and deploying OpenStack with the Openstack puppet 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

puppet module install openstack/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
6.0.0         -> 2015.1.0          -> Kilo