(#15337) Do not merge user and system puppet.conf#1006
(#15337) Do not merge user and system puppet.conf#1006zaphod42 merged 5 commits intopuppetlabs:3.xfrom
Conversation
Without this patch I noticed the git log contains both Chris Price and cprice as separate authors. This patch fixes the problem by normalizing them to Chris Price <chris@puppetlabs.com>
The Trollop library is improperly vendored inside of Puppet without this patch applied. This is a problem because end users or developers who have the trollop gem installed will be monkey patched by Puppet since we open up the top level Trollop module namespace. This patch fixes the problem by placing Trollop in the namespace of Puppet::Util::CommandLine::Trollop. This fixes the problem because the only place Trollop is used by Puppet is inside the Puppet::Util::CommandLine class. Therefore we no longer need to use the absolute namespace notation of the leading ::. This also prevents us from monkey patching the real Trollop gem that lives at ::Trollop if it's been loaded into the process.
This is just slightly more readable.
Without this patch the README_DEVELOPER file displays poorly in my Vim buffers. This patch adds some additional markup to separate the code snippets from the prose.
Puppet 3.x reads settings from both ~/.puppet/puppet.conf and the system puppet.conf without this patch applied. This is a problem because it makes it difficult to determine where to load plugins and extensions from at runtime. Merging the configuration file also makes it more difficult to explain where a particular setting is taking effect. This patch makes the intended `puppet.conf` reading behavior the following: 1: If provided, use explicit puppet.conf in `--confdir` 2: If root, use system puppet.conf 3: Otherwise, use ~/.puppet/puppet.conf This patch also changes the behavior of rack puppet master applications. We now intended for the rack configuration file, `config.ru` to explicitly set `--confdir` to avoid reading from `~/.puppet/puppet.conf`. Please see the example in `ext/rack/files/config.ru` for an up to date rack configuration.
|
I got this to pick up the system |
|
Is that the desired behavior? I don't remember normal users ever falling back to system puppet.conf ? |
|
Never mind about my comment about |
|
Is the desired behavior that if the runmode is not present in the local |
|
Arrgh! Never mind again. My brain isn't working today. The behavior in my last comment is correct. The |
…pet_conf (#15337) Do not merge user and system puppet.conf
|
Andy and I tested this and it looks good. Added a blurb to the release notes about needing new config.ru -- this will be a breaking change for people who upgrade so we need to make sure it's really visible. |
Puppet 3.x reads settings from both ~/.puppet/puppet.conf and the system
puppet.conf without this patch applied. This is a problem because it
makes it difficult to determine where to load plugins and extensions from
at runtime. Merging the configuration file also makes it more difficult
to explain where a particular setting is taking effect.
This patch makes the intended
puppet.confreading behavior thefollowing:
1: If provided, use explicit puppet.conf in
--confdir2: If root, use system puppet.conf
3: Otherwise, use ~/.puppet/puppet.conf
This patch also changes the behavior of rack puppet master applications.
We now intended for the rack configuration file,
config.ruto explicitlyset
--confdirto avoid reading from~/.puppet/puppet.conf. Please see the example inext/rack/files/config.rufor an up to date rack configuration.