Opened on 03/16/2016 at 06:11:34 PM

Closed on 03/17/2016 at 02:36:04 PM

#3818 closed change (fixed)

Remove custom Puppet stages

Reported by: matze Assignee: matze
Priority: P3 Milestone:
Module: Infrastructure Keywords:
Cc: fred Blocked By:
Blocking: #3574, #3576 Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):


Puppet class base, which is going to become obsolete soon (#3574), defines custom stages pre and post, which are actually obsolete as well: Module stdlib defines a set of stages for that exact purpose (see, which we should use instead of the custom ones.


Identify all occurrences of Puppet $stage parameters within repository infrastructure and replace any custom stage value with the respective stdlib version, before removing the stage definitions from class base.

Attachments (0)

Change History (3)

comment:1 Changed on 03/16/2016 at 07:16:55 PM by matze

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

Looks like class base is the only place the custom stages are referenced:

$ hg identify .
6eadff29bb96 tip master
$ grep -R '\<stage\>' *
modules/base/manifests/init.pp:  stage {'pre': before => Stage['main']}
modules/base/manifests/init.pp:  stage {'post': require => Stage['main']}
modules/base/manifests/init.pp:    stage => 'pre',
modules/base/manifests/init.pp:    stage => 'post'
modules/firewall/lib/puppet/type/firewall.rb:    # is because there is a revalidation stage called later where the values
modules/apt/spec/classes/params_spec.rb:  # The resources are class[apt::params], class[main], class[settings], stage[main]
modules/postgresql/ stage for the large scale refactoring work of 3.0.0.
modules/stdlib/manifests/stages.pp:#    class { java: stage => 'runtime' }
modules/stdlib/manifests/stages.pp:  stage { 'setup':  before => Stage['main'] }
modules/stdlib/manifests/stages.pp:  stage { 'runtime': require => Stage['main'] }
modules/stdlib/manifests/stages.pp:  -> stage { 'setup_infra': }
modules/stdlib/manifests/stages.pp:  -> stage { 'deploy_infra': }
modules/stdlib/manifests/stages.pp:  -> stage { 'setup_app': }
modules/stdlib/manifests/stages.pp:  -> stage { 'deploy_app': }
modules/stdlib/manifests/stages.pp:  -> stage { 'deploy': }

That's quite fortunate..

comment:2 Changed on 03/17/2016 at 02:34:48 PM by abpbot

A commit referencing this issue has landed:

comment:3 Changed on 03/17/2016 at 02:36:04 PM by matze

  • Resolution set to fixed
  • Status changed from reviewing to closed

Add Comment

Modify Ticket

Change Properties
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from matze.
Note: See TracTickets for help on using tickets.