From 6f8b78cc67e1b4ccb4b16b9264e0e6ae5313962f Mon Sep 17 00:00:00 2001 From: Jeff McCune Date: Tue, 24 May 2011 11:25:51 -0700 Subject: Add standard set of run stages. Many modules I'm working on need a standard but relatively granular location in the catalog. For example, any module that configures the packaging system should run "early" Add the following stages which have inter-dependencies in the top to bottom order listed: * setup * deploy * runtime * setup_infra * deploy_infra * main * setup_app * deploy_app --- manifests/init.pp | 1 + manifests/stages.pp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) (limited to 'manifests') diff --git a/manifests/init.pp b/manifests/init.pp index a3f2406..c804568 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -13,5 +13,6 @@ # [Remember: No empty lines between comments and class definition] class stdlib { + class { 'stdlib::stages': } } diff --git a/manifests/stages.pp b/manifests/stages.pp index e69de29..19cee6b 100644 --- a/manifests/stages.pp +++ b/manifests/stages.pp @@ -0,0 +1,45 @@ +# Class: stdlib::stages +# +# This class manages a standard set of Run Stages for Puppet. +# +# The high level stages are (In order): +# +# * setup +# * deploy +# * runtime +# * setup_infra +# * deploy_infra +# * main +# * setup_app +# * deploy_app +# +# Parameters: +# +# Actions: +# +# Declares various run-stages for deploying infrastructure, +# language runtimes, and application layers. +# +# Requires: +# +# Sample Usage: +# +# node default { +# include stdlib::stages +# class { java: stage => 'runtime' } +# } +# +class stdlib::stages { + + stage { 'setup': before => Stage['deploy'] } + stage { 'deploy': before => Stage['setup_infra'] } + stage { 'runtime': + require => Stage['deploy'], + before => Stage['setup_infra'], + } + stage { 'setup_infra': before => Stage['deploy_infra'] } + stage { 'deploy_infra': before => Stage['main'] } + stage { 'setup_app': require => Stage['main'] } + stage { 'deploy_app': require => Stage['setup_app'] } + +} -- cgit v1.2.3