Helper classes that utilize the core Puppet OpenStack modules
Go to file
Tobias Urdin ad70eae45b Set module_hotfixes=true for yumrepo if Puppet >= 6.15.0
The RDO and CentOS Advanced Virt repositories contains
packages that should be considered hotfixes to version
found in Base repo and similar and should have priority
over them.

The yumrepo_core [1] change that was released in 1.0.7
adds the module_hotfixes parameter to yumrepo and it's
included in Puppet >= 6.15.0 which we should set to true
to make sure packages in RDO and CentOS Advanced Virt
repos is considered hotfixes upon base packages.

When we only support Puppet 7 and forward we should set
this by default for the yumrepo resources.

[1] a14c059b7d

Depends-On: https://review.opendev.org/c/792966
Change-Id: Ie747273e2ce23fadba0f3946e227ee143c1632db
2021-06-04 07:39:08 +00:00
doc Update sphinx to the latest version 2021-03-27 15:31:57 +08:00
examples Add hash based repository management 2014-11-27 22:12:25 +11:00
files repos: configure RDO Virtualization repository 2016-09-30 08:45:07 -04:00
lib/puppet Use puppet4 functions-api 2018-11-01 16:31:22 +01:00
manifests Set module_hotfixes=true for yumrepo if Puppet >= 6.15.0 2021-06-04 07:39:08 +00:00
releasenotes Set module_hotfixes=true for yumrepo if Puppet >= 6.15.0 2021-06-04 07:39:08 +00:00
spec Set module_hotfixes=true for yumrepo if Puppet >= 6.15.0 2021-06-04 07:39:08 +00:00
templates Rename *_domain parameters to *_domain_name 2020-05-02 00:15:52 +09:00
.gitignore Dissuade .gitignore references to personal tools 2018-10-08 11:39:24 +08:00
.gitreview OpenDev Migration Patch 2019-04-19 19:42:24 +00:00
.zuul.yaml Add Puppet Litmus 2020-08-31 21:45:11 +02:00
CHANGELOG.md Release 8.0.0 2016-03-23 16:07:40 -04:00
CONTRIBUTING.rst [ussuri][goal] Add CONTRIBUTING.rst 2020-05-10 22:45:03 +02:00
Gemfile Use openstack_spec_helper from zuul checkout 2020-08-30 23:01:36 +02:00
LICENSE Update LICENSE 2018-04-06 20:14:51 +08:00
README.md Fix Repository 2019-04-21 12:59:09 +08:00
Rakefile Use puppet-openstack_spec_helper for Rakefile & spec_helper_acceptance 2016-01-20 16:01:20 -05:00
bindep.txt modulesync: sync and add nodepool-bionic for beaker 2018-07-18 16:19:23 +02:00
metadata.json Prepare Xena M1 2021-05-27 15:50:27 +08:00
setup.cfg setup.cfg: Replace dashes with underscores 2021-05-12 09:14:55 +08:00
setup.py Add basic structure for ReNo 2016-03-14 08:33:40 -04:00
tox.ini Replace deprecated UPPER_CONSTRAINTS_FILE variable 2020-11-11 09:08:35 +08:00

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. Release Notes - Release notes for the project
  8. Contributors - Those with commits
  9. Repository - The project source code repository
  10. 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.

Release Notes

Contributors

Repository

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