Jump to: navigation, search

Difference between revisions of "Puppet"

(Getting started)
 
(89 intermediate revisions by 20 users not shown)
Line 1: Line 1:
== Introduction ==
+
'''These docs are outdated, but kept here for historical reasons and search access. To view the latest docs, please refer to http://docs.openstack.org/developer/puppet-openstack-guide/'''
  
The Puppet openstack modules were written as a collaborative effort between operators deploying openstack environments.
+
<div id="mf-index">
 +
<table border=0 width=100%><tr><td>
 +
'''The Puppet OpenStack Mission:''' to bring scalable and reliable IT automation to OpenStack cloud deployments.
  
== Modules ==
+
Puppet OpenStack is [[Open|open]] source, [[Open|openly]] designed, [[Open|openly]] developed by an [[Open|open]] community.
 +
</td></tr>
 +
</table>
 +
<table border=0 width=100%>
 +
<tr valign=top><td width=33%>
 +
==== Getting started ====
 +
* Learn [http://docs.puppetlabs.com/ Puppet]
 +
* Talk to us on '''#puppet-openstack''' on OFTC ([http://eavesdrop.openstack.org/irclogs/%23puppet-openstack/ log])
 +
* Join the conversation on our [[Puppet/Mailing lists|Mailing lists]]
 +
* All Puppet OpenStack [[Puppet/releases |releases]] and release notes
 +
* See [[Puppet/supported platforms |supported platforms]]
 +
* [[Puppet/Deploy|Deploy]] your own OpenStack cloud with Puppet All-In-One
 +
* Go back to [[Main_Page| OpenStack main page]]
 +
</td><td width=33%>
  
All of the modules for the openstack project are hosted under StackForge.
+
==== Contribute ====
 +
* '''How to [http://docs.openstack.org/infra/manual/developers.html submit changes]'''
 +
* [https://goo.gl/HWfFuX Puppet Code reviews (Gerrit)]
 +
* [http://docs.openstack.org/infra/manual/developers.html#peer-review Guidelines for code reviewers]
 +
* '''Understand Puppet OpenStack [[Puppet/Coding style|coding style]]'''
 +
* '''Understand our [[Puppet/CI| CI jobs]]'''
 +
* How to use Launchpad [[Bugs]] and [[Blueprints]]
 +
* [https://trello.com/b/4X3zxWRZ/on-going-effort Trello board]
 +
* [[Puppet/New_module|Create a new Puppet module]]
 +
* [[StableBranch#Processes|How to backport]] patches to stable branches
 +
* [[Puppet/reviews#Abandonment|Patch abandonment policy]]
 +
* [[Puppet/Unit_testing|Running unit testing]]
 +
* [[Puppet/Functional_testing|Running functional testing]]
 +
* [[Puppet/Backport_policy|Backport policy]]
 +
</td><td width=33%>
  
The following modules exist:
+
==== Community ====
* stackforge/puppet-cinder
+
* [[Open]] - What openness means to us
* stackforge/puppet-glance
+
* How Puppet OpenStack is [http://governance.openstack.org/reference/projects/puppet-openstack.html governed]
* stackforge/puppet-horizon
+
* Participate to our [[Meetings/Puppet|Online Meetings]]
* stackforge/puppet-keystone
+
* Puppet OpenStack [https://review.openstack.org/#/admin/groups/134,members core team]
* stackforge/puppet-nova
+
* Puppet OpenStack [https://review.openstack.org/#/admin/groups/1022,members release team]
* stackforge/puppet-openstack
+
* Puppet OpenStack [[Puppet/PTL|PTL duty]]
* 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/#/
+
</td></tr></table>
e.g. https://review.openstack.org/gitweb?p=stackforge/puppet-keystone.git;a=summary
+
----
 +
<table border=0 width=100%><tr><td align=center width=20%>
 +
[[File:Openstack-compute-icon.png]]
 +
</td><td>
 +
Each '''Puppet OpenStack module''' corresponds to an OpenStack component and has its own Git repository. The modules produce a number of deliverable, in order to achieve a clearly stated objective: deploy OpenStack.
 +
</td></tr>
 +
</table>
 +
<table border=0 width=100%>
 +
<tr valign=top><td rowspan=2 width=33%>
 +
==== OpenStack modules ====
 +
* [http://git.openstack.org/cgit/openstack/puppet-aodh/ Alarming] (''Aodh'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-barbican/ Key Manager] (''Barbican'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-ceilometer/ Telemetry] (''Ceilometer'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-cinder/ Block Storage] (''Cinder'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-designate/ DNS] (''Designate'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-glance/ Image service] (''Glance'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-gnocchi/ Time Series Database] (''Gnocchi'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-heat/ Orchestration] (''Heat'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-horizon/ Dashboard] (''Horizon'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-ironic/ Bare Metal] (''Ironic'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-keystone/ Identity] (''Keystone'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-manila/ Shared Filesystems] (''Manila'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-mistral/ Workflow service] (''Mistral'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-murano/ Application catalog] (''Murano'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-neutron/ Networking] (''Neutron'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-nova/ Compute] (''Nova'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-octavia/ Load Balancer] (''Octavia'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-oslo/ Oslo libraries] (''Oslo'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-rally/ Benchmarking] (''Rally'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-sahara/ Data processing] (''Sahara'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-swift/ Object Storage] (''Swift'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-tempest/ Testing] (''Tempest'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-tripleo/ Deployment] (''TripleO'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-trove/ Database service] (''Trove'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-tuskar/ Deployment UI] (''TripleO UI'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-vitrage/ Root Cause Analysis] (''Vitrage'')
 +
* [http://git.openstack.org/cgit/openstack/puppet-zaqar/ Message service] (''Zaqar'')
 +
</td><td rowspan=2 width=33%>
  
=== github mirrors ===
+
==== Other repositories ====
 +
* [http://git.openstack.org/cgit/openstack/puppet-openstacklib/ Common Puppet library] ('''OpenStackLib''')
 +
* [http://git.openstack.org/cgit/openstack/puppet-openstack_spec_helper/ Common Ruby helper library] ('''puppet-openstack_spec_helper''')
 +
* [http://git.openstack.org/cgit/openstack/puppet-openstack_extras/ Puppet OpenStack helpers] ('''OpenStackExtras''')
 +
* [http://git.openstack.org/cgit/openstack/puppet-vswitch Virtual Bridging] ('''OpenvSwitch''')
 +
* [http://git.openstack.org/cgit/openstack/puppet-openstack-integration Integration CI tools] ('''Puppet OpenStack Integration''')
 +
* [http://git.openstack.org/cgit/openstack/puppet-openstack-specs Blueprints] ('''Puppet OpenStack Specs''') (hosted [http://specs.openstack.org/openstack/puppet-openstack-specs/ here])
 +
* [http://git.openstack.org/cgit/openstack/puppet-openstack-cookiebutter Compliant tool] ('''Cookiebutter''')
 +
* [http://git.openstack.org/cgit/openstack/puppet-modulesync-configs Sync tool] ('''Modulesync''')
 +
</td><td width=33%>
  
All of the modules are also mirrored to GitHub here
+
==== Other modules ====
 +
* [http://git.openstack.org/cgit/stackforge/puppet-ceph/ Storage] ('''Ceph''')
 +
* [http://git.openstack.org/cgit/openstack/puppet-monasca/ Monitoring] ('''Monasca''')
 +
* [http://git.openstack.org/cgit/stackforge/puppet-openstack/ Composition Layer] (deprecated in Juno) ('''OpenStack''')
 +
</td></tr>
 +
</table>
 +
</div>
  
https://github.com/stackforge/
+
__NOTOC__
 
+
[[Category: Working_Groups]]
Note : GitHub should not be used for pull requests / bugs reports
+
[[Category: Stackforge]]
 
 
=== Branches ===
 
 
 
The master branch of each module corresponds 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 target the havana release.
 
 
 
=== Releases ===
 
 
 
Master version of the modules will be released as a new major version to Puppet 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
 
 
 
IRC logs can be found here:
 
 
 
http://irclog.perlgeek.de/puppet-openstack/
 
 
 
=== Submitting issues ===
 
 
 
Issues and features should be submitted under the puppet-openstack project on Launchpad:
 
 
 
https://launchpad.net/puppet-openstack/
 
 
 
== Developer documentation ==
 
 
 
Steps to get started:
 
 
 
Q. How do I contribute to the modules ?
 
 
 
To contribute 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 [https://wiki.openstack.org/wiki/Gerrit_Workflow]
 
* 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 before 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 submitting 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 ====
 
 
 
Clone the relevant module from stackforge, ex:
 
 
 
git clone git://github.com/stackforge/puppet-openstack
 
 
 
in the patch, find the git checkout or cherry-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 [http://rspec-puppet.com/ here]
 

Latest revision as of 15:47, 31 May 2021

These docs are outdated, but kept here for historical reasons and search access. To view the latest docs, please refer to http://docs.openstack.org/developer/puppet-openstack-guide/

The Puppet OpenStack Mission: to bring scalable and reliable IT automation to OpenStack cloud deployments.

Puppet OpenStack is open source, openly designed, openly developed by an open community.

Getting started

Contribute

Community


Openstack-compute-icon.png

Each Puppet OpenStack module corresponds to an OpenStack component and has its own Git repository. The modules produce a number of deliverable, in order to achieve a clearly stated objective: deploy OpenStack.

OpenStack modules

Other repositories

Other modules