Issue #2935 has been updated by Luke Kanies.

Priority changed from Normal to High

This just got a lot more important.

The single executable work breaks all of the search path stuff, or at least 
enough of it to make things complicated.

The right answer is something along the lines of:

* Explicitly model a 'mode', or maybe 'run_mode', with values for 'agent', 
'master', and 'user'
* Modify *all* all of the executables to explicitly set a 'mode'
* Add backward compatibility for searching through puppet.conf for settings 
based on executable names, but it has to use the old executable names, yay.

The thing that's complicated here is that a lot of the settings determine their 
values based on this value.  I think the reason that the value is currently 
auto-determined is so that it happens before any of the other settings are 
determined.

I think, unfortunately, that the only way to really fix this is to have code as 
the value for those settings whose values are determined in this way.

That is,  Puppet[:vardir] should determine automatically (when not overriden) 
whether you want /var/puppet or ~/.puppet/var depending on the value of 
Puppet[:mode] (or whatever it's called).

Unfortunately (sorry Jesse!) I think the only way to do this is to add... duh 
duh duh... per-mode defaults.
----------------------------------------
Feature #2935: Settings should use 'agent' and 'server' in addition to 
executable names
http://projects.puppetlabs.com/issues/2935

Author: Luke Kanies
Status: Accepted
Priority: High
Assigned to: Jesse Wolfe
Category: settings
Target version: Rowlf
Affected version: 0.25.1
Keywords: 
Branch: 


There's a lot of reasonable confusion around the fact that executable names are 
used for searching for settings.  It makes more sense to basically split into 
client/server setting groups.

We should add a new search path, 'client' and 'server', and have them sit 
between the defaults and the executable names.

So, the search path would be something like:

cli => environment => executable => client/server => default

Then each executable just declares whether it's an agent executable or a 
server-side one.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to