| /etc/puppetlabs/code/environments/production/manifests/site.pp: node default { include ::role::base_app } ---------------------------------------- /etc/puppetlabs/code/environments/production/site/role/manifests/base_app.pp: class role::base_app { include profile::security::base } ---------------------------------------- /etc/puppetlabs/code/environments/production/site/profile/manifests/security/base.pp: class profile::security::base ( ) { $tz = $facts['timezone'] file { "/tmp/timezone.txt": content => "$tz\n" } file { "/tmp/timezone2.txt": content => inline_template("<%= @timezone %>\n") } file { "/tmp/timezone3.txt": content => inline_template("<%= Time.now.localtime.strftime('%Z') %>\n") } } ---------------------------------------- Manual run of puppet agent -t. ==> /tmp/timezone.txt <== MST ==> /tmp/timezone2.txt <== MST ==> /tmp/timezone3.txt <== UTC ---------------------------------------- Automated agent run in the background: ==> /tmp/timezone.txt <== UTC ==> /tmp/timezone2.txt <== UTC ==> /tmp/timezone3.txt <== UTC The facter -p continues to show the timezone fact as MST, even after the automated agent runs. [root@puppet-master production]# facter -p | grep -i timezone timezone => MST [root@puppet-master production]# /opt/puppetlabs/puppet/bin/ruby -e "puts Time.now.localtime.strftime('%Z')" MST |