Jump to: navigation, search

Puppet

Revision as of 18:15, 22 May 2013 by Bodepd (talk | contribs) (Getting Help)

Introduction

The Puppet openstack modules were written as a collaborative effort between operators deploying openstack environments.

Modules

All of the modules for the openstack project are hosted under stackforge.

The following modules exist:

* stackforge/puppet-cinder
* stackforge/puppet-glance
* stackforge/puppet-horizon
* stackforge/puppet-keystone
* stackforge/puppet-nova
* stackforge/puppet-openstack
* stackforge/puppet-openstack_dev_env
* stackforge/puppet-swift
  • stackforge/puppet-ceiliometer

The most up to date version of the modules is available on https://review.openstack.org/#/ e.g. https://review.openstack.org/gitweb?p=stackforge/puppet-keystone.git;a=summary

github mirrors

All of the modules are also mirrored to github here

   https://github.com/stackforge/

Note : github should not be used for pull requests / bugs reports

branches

The master branch of each module corrisponds to the master branch of the current openstack core projects, once released, a new branch will be created and should be considered stable.

For example the current master branch of stackforge/puppet-keystone is for grizzly, once released a new grizzly branch will be created, from that point onwards the master branch should traget the havana release of the modules.

releases

Master version of the modules will be released as a new major version to the forge (forge.puppetlabs.com) when its related version of openstack is released.

Each version of openstack will have a related release on the forge (fosom == 1.x, grizzly = 2.x)

When patches are accepted against a branch targetting a stable version, this will trigger a new release to that module on the forge.

NOTE: the automatic triggered forge releases still have not been setup, this process will have to be manual until this is completed.

Supported Platforms

The following OS/version are supported by the modules

  • Fedora 18
  • RHEL 6.4
  • Ubuntu 12.04 (Precise)
  • Debian (what version?)

The modules have been primarily tested on Puppet 2.7.x and Ruby 1.8.7, although they are also being used with Puppet 3.1.x, 3.0.x, with Ruby 1.9.3.

Puppet 2.6.x is currently supported, but that support will be dropped soon b/c it has been EOL'ed by PuppetLabs

Getting Help

mailing list

In general, the mailing list is preferred, because it makes the information more readily available so that others who have the same question can search for and find those answers.

   puppet-openstack@puppetlabs.com
 

irc

Or on an irc channel on freenode

   #puppet-openstack

Submitted issues

Issues and features should be submitted under the puppet-op project of launchpad:

https://launchpad.net/puppet-openstack/

Developer documentation

steps to get started:

Q. How do I contribute to the modules ?

To contibute you now follow the same process as all of the other openstack projects Details can be found here https://wiki.openstack.org/wiki/How_To_Contribute https://wiki.openstack.org/wiki/GettingTheCode https://wiki.openstack.org/wiki/GerritWorkflow

  • follow the regular process for contributing to openstack [1]
  • go to : settings > watched projects and add the puppet projects (all of the form stackforge/puppet-*)

Voting

Any other user can +/- 1 a commit and add comments on commit but only members of the puppet-manager-core group have the ability to +2 a commit so it can be merged. Also results of unit tests, ci tests and smokestack will eventually be voting on commits befor they can get merged.

Patches

patches waiting to be merged can be viewed in gerrit e.g. for stackforge/puppet-keystone https://review.openstack.org/#/q/status:open+project:stackforge/stackforge/puppet-keystone,n,z

Q. How do I go about submiting a patch for a released branch, what the correct process? Unless is not relevant all patches should be approved for the master branch before you submit them for a stable branch. This ensures we maintain stability in the stable branches and functionality

Downloading a local patch

glone the relevant module from stackforge, ex:

   > git clone git://github.com/stackforge/puppet-openstack

in the patch, find the git checkout or chery-pick command, and copy it:

   > git fetch https://review.openstack.org/stackforge/puppet-openstack refs/changes/52/29452/9 && git checkout FETCH_HEAD

rspec puppet tests

running local tests

   > mkdir vendor
   > export GEM_HOME=vendor
   > bundle install
   > # bundle exec rake -T
   > bundle exec rake spec

writing tests

 The best reference for getting started with rspec-puppet can be found here