puppetlabs/puppet — pull request #1316 by domcleal (2012-12-06 10:29:43+00:00)
Title: (#17371) Re-initialize settings metadata after run_mode determined

Currently metadata for settings (e.g. mode, owner) is initialized during
parsing of the config file, at which point the run_mode isn't known. The
initialization loops over each section of the config and since one of the
sections is determined by the run_mode, this means it doesn't get searched.
Setting file metadata inside a section such as [master] has no effect.

This patch causes the setting metadata to be set twice - once during early
startup before the run_mode is known (for settings used globally) and again
once the run_mode is known so that configuration in specialised sections take
effect.

Supersedes GH-1278, rebased onto master as it missed 3.0.x.