Puppet client environment is being ignored from foreman settings

The ticket Sam linked explains why this is an issue. :
http://projects.puppetlabs.com/issues/3910 (Long story short, Puppet itself
isn't honoring the ENC environment attribute. I believe this is either
fixed in the latest version of puppet or will be soon.)

In the mean time we use an erb template to manage puppet.conf, which gets
around this issue. (Switching envs is still a bit clunky, but it works)
Here is an example version of such a template: more templates/puppet.conf.erb[main]environment = <%= scope.lookupvar('::env - Pastebin.com


··· On Thu, Aug 16, 2012 at 1:30 PM, Yaniv Fine wrote:

Hi experts .
i am runnig foreman 1
puppetmaster 2.7.18
i have setup a test client machine .
on foreman i have configured the new client to be part of the development
environment .
on the client i have setup that it will run the following from site.pp to
debug information .
notify { “environment”:
message => $environment

when i run on the client .
puppet agent --test --debug --verbose

i get “Notify[environment]/message: defined ‘message’ as ‘production’”
allthought on foreman this client is setup as “development”
when i add the
environment = development on the client /etc/puppet.puppet.conf
the client get “Notify[environment]/message: defined ‘message’ as
‘development’” which is ok .

BTW in foreman => settings
i have default_puppet_environment = testing
which is beeing ignored via the client .

is this normal that i need to override the foreman client setting . with a
"environment = development on the client /etc/puppet.puppet.conf "

You received this message because you are subscribed to the Google Groups
“Foreman users” group.
To view this discussion on the web visit
To post to this group, send email to foreman-users@googlegroups.com.
To unsubscribe from this group, send email to
For more options, visit this group at