diff --git a/manifests/agent.pp b/manifests/agent.pp index 4a762bd41..c6294cba5 100644 --- a/manifests/agent.pp +++ b/manifests/agent.pp @@ -230,16 +230,22 @@ value => $trusted_node_data, } + if $environment != undef + { + $environment_ensure = 'present' + } else { + $environment_ensure = 'absent' + } ini_setting {'puppetagentenvironment': - ensure => present, + ensure => $environment_ensure, setting => 'environment', value => $environment, } ini_setting {'puppetagentmaster': - ensure => present, - setting => 'server', - value => $puppet_server, + ensure => present, + setting => 'server', + value => $puppet_server, } ini_setting {'puppetagentuse_srv_records': diff --git a/spec/classes/puppet_agent_spec.rb b/spec/classes/puppet_agent_spec.rb index dc8cf7df8..d71f5726a 100644 --- a/spec/classes/puppet_agent_spec.rb +++ b/spec/classes/puppet_agent_spec.rb @@ -574,5 +574,25 @@ ) } end + context 'with environment set to undef' do + let(:params) do + { + :environment => 'undef', + } + end + + it { + should contain_ini_setting('puppetagentenvironment').with( + :ensure => 'present', + :section => 'agent', + :path => '/etc/puppet/puppet.conf' + ) + } + it { + should contain_ini_setting('puppetagentenvironment').without( + :environment => 'production' + ) + } + end end end