https://bugzilla.novell.com/show_bug.cgi?id=892201 https://bugzilla.novell.com/show_bug.cgi?id=892201#c0 Summary: Current SMT puppet version for SLEs 11 SP3 errors trying to copy template from source from the master to the clients Classification: openSUSE Product: openSUSE 11.4 Version: RC 2 Platform: x86-64 OS/Version: SLES 11 Status: NEW Severity: Critical Priority: P5 - None Component: Commercial AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: NorCalLinuxAdmins@bio-rad.com QAContact: qa-bugs@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36 When executing puppet, it cannot create a missing file from source using a template unless the file already exists. If the reference to source is removed from the manifest, then an empty file is successfully created. If the version of puppet is downgraded from the current SMT version (2.6.18-0.16.1) to any previous versions (i.e. 2.6.18-0.14.1, 2.6.18-0.12.1) it will successfully create the missing file from the template by source. Reproducible: Always Steps to Reproduce: 1.Install the latest SMT puppet version 2.6.18-0.16.1 2. Delete any file managed by puppet that is sourced by template 3. Execute "puppet agent -t" to try and re-create the file Actual Results: err: /Stage[main]/Rsyslog::Files/File[sudo.conf]/ensure: change from absent to file failed: Could not set 'file on ensure: undefined method `&' for "644":String at /etc/puppet/environments/production/modules/rsyslog/manifests/files.pp:42 Expected Results: The file (in this example sudo.conf) should be copied from template Example puppet config: file { 'sudo.conf': ensure => present, path => '/etc/rsyslog.d/sudo.conf', mode => '0644', owner => 'root', group => 'root', source => 'puppet:///rsyslog/sudo.conf', } In this example, unless the sudo.conf file exists in the directory, even as a blank file, puppet will not source the template. It errors with the following error: err: /Stage[main]/Rsyslog::Files/File[sudo.conf]/ensure: change from absent to file failed: Could not set 'file on ensure: undefined method `&' for "644":String at /etc/puppet/environments/production/modules/rsyslog/manifests/files.pp:42 notice: Finished catalog run in 0.49 seconds I have tested on other files generated by source and the same error applies. Only when the file already exists does the file get replaced by the template. I opened this as critical, since a lot of servers use this version and if a critical file is accidentally deleted and cannot be re-created by puppet, it can cause a lot of problems for our environment. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.