Issue #2883 has been updated by James Turnbull.

Category set to fileserving
Status changed from Unreviewed to Investigating
Assigned to set to Markus Roberts
Target version set to 0.25.2

Markus - patch inline with slight mod:

<pre>
--- /usr/lib/ruby/1.8/puppet/type/file/content.rb.orig  2009-11-30 
23:43:12.000000000 -0800
+++ /usr/lib/ruby/1.8/puppet/type/file/content.rb       2009-11-30 
23:41:56.000000000 -0800
 -110,20 +110,21 @@
                 string_file_diff(@resource[:path], actual_content)
             end
             return result
         end
 
         def retrieve
             return :absent unless stat = @resource.stat
 
             # Don't even try to manage the content on directories or links
-            return nil if stat.ftype == "directory"
+            return nil if stat.ftype == "directory" || "link"
 
             begin
                 return "{#{checksum_type}}" + send(checksum_type.to_s + 
"_file", resource[:path]).to_s
             rescue => detail
                 raise Puppet::Error, "Could not read %s: %s" % 
[[email protected], detail]
             end
         end
 
         # Make sure we're also managing the checksum property.
         def should=(value)
</pre>

Not sure if that's correct but seemed better than an additional line.
----------------------------------------
Bug #2883: puppetd runs slow when recursively coping symlinks, produces "Failed 
to retrieve current state of resource" error
http://projects.reductivelabs.com/issues/2883

Author: Andy Bakun
Status: Investigating
Priority: Normal
Assigned to: Markus Roberts
Category: fileserving
Target version: 0.25.2
Affected version: 0.25.1
Keywords: 
Branch: 


I'm using puppet 0.25-1 (ubuntu packaged), and when managing symlinks, puppetd 
runs REALLY slow, and I get this error for every symlink
<pre>
err: /File[/path/to/symlink]: Failed to retrieve current state of resource: 
Could not read /path/to/symlink: undefined method `_file' for 
#<Puppet::Type::File::Content:0x7ff85d459c98>
</pre>
this patch seems to fix it: http://pastebin.com/m31c39d1f

Run time is reasonable with this patch (650+ seconds down to 15 seconds, which 
was about the time it took to execute with puppet 0.24), and it doesn't seem to 
cause any issues with the actual management of the symlinks (I have a tree of 
symlinks I'm copying recursively).


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account

--

You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.


Reply via email to