On Mon, Jan 5, 2015 at 7:49 AM, jcbollinger <[email protected]>
wrote:

>
>
> On Tuesday, December 30, 2014 7:38:05 AM UTC-6, Nicholas Miller wrote:
>>
>> Hi All,
>>
>> I'm having a strange issue with one particular file where puppet applies
>> the new file, then reverts back.  It does this every time puppet runs, see
>> below:
>>
>
> [...]
>
> That is very strange.  Puppet should never manage the same resource twice
> in the same catalog run, and in any given run, Puppet should never modify
> the same property of the same resource more than once.  These are such
> fundamental Puppet principles that I'm inclined to guess that rather than
> Puppet doing either of the above, it is instead managing two distinct (from
> its perspective) resources that somehow resolve to the same physical
> resource.
>
>
>> Has anyone ever had this problem before?  Any ideas on how to fix it?
>>
>>
> I have not had that problem, but if I have guessed right about its nature
> then you should look carefully at your manifests to find the resource
> duplication (which will revolve around something about the file name and /
> or path of two File resources that the catalog compiler doesn't recognize
> as being equivalent).  You could also look at the cached catalog to verify
> that there are indeed two file resources corresponding to the given file;
> if so, then it is conceivable that comparing them will reveal the nature of
> the collision.
>
> In any event, it may be that running the agent with --debug output enabled
> will provide useful additional information.
>

I've seen this sort of problem on Windows when mixing upper and lower case
file paths, so given

  file { 'C:/foo':
    ensure => file,
    content => 'upper',
  }

  file { 'c:/foo':
    ensure => file,
    content => 'lower',
  }

Puppet will try to apply both resources, not realizing they are in fact the
same resource on a Windows case-insensitive filesystem:

C:\work\puppet> bundle exec puppet apply file.pp
...
Notice: /Stage[main]/Main/File[C:/foo]/content: content changed
'{md5}81e073b428b50247daba38531dcf412a' to
'{md5}0122b4c2c01ee1c698ecc309d2b8eb5a'
Notice: /Stage[main]/Main/File[c:/foo]/content: content changed
'{md5}0122b4c2c01ee1c698ecc309d2b8eb5a' to
'{md5}81e073b428b50247daba38531dcf412a'

But the output from your agent run seems to use the same case...

Josh

-- 
Josh Cooper
Developer, Puppet Labs

*Join us at **PuppetConf 2015, October 5-9 in Portland, OR - *
http://2015.puppetconf.com.
*Register early to save 40%!*

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CA%2Bu97u%3DLhj0F-N6V-j3jpxwi%2BNzN85HQ3SOPBrTd6UVAzy9XXA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to