Opened 4 years ago

Closed 4 years ago

#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):

https://codereview.adblockplus.org/29338470

Description

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 https://forge.puppetlabs.com/puppetlabs/stdlib#usage), which we should use instead of the custom ones.

Todo

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.

Change History (3)

comment:1 Changed 4 years ago 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/CHANGELOG.md:the 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 4 years ago by abpbot

A commit referencing this issue has landed:
https://hg.adblockplus.org/infrastructure/rev/8eb8634eee16

comment:3 Changed 4 years ago by matze

  • Resolution set to fixed
  • Status changed from reviewing to closed
Note: See TracTickets for help on using tickets.