On Tuesday, August 6, 2013 3:59:36 PM UTC-5, Cesar Covarrubias wrote:
>
> I'm working on deploying Puppet to our environment and after reinstalling 
> some nodes, I run Puppet for the first time. It appears to be updating some 
> Puppet specific files (see below), and then times out with the error: 
>
> "Error: /File[/var/lib/puppet/lib/facter/ip6tables_version.rb]/ensure: 
> change from absent to file failed: execution expired Error: Could not 
> retrieve plugin: execution expired". 
>
> The file it errors on varies, depending on how many times the agent has 
> run. Once I run Puppet a few times to get all the updates, and applies all 
> my configs fine. All my DNS settings are correct and have been tested. Is 
> it possible to extend the timeout on this sync? Any other thoughts?
>
>
> Environment: Centos 6.4 64Bit. ruby 1.8.7 Puppet 3.2.2 Facter 1.7.1
>
> Sample Output:
>
>> # puppet agent -t
>> Info: Retrieving plugin
>> Notice: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/defined_with_params.rb]/ensure:
>>  defined content as '{md5}ffab4433d03f32b551f2ea024a2948fc'
>> Notice: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/bool2num.rb]/ensure: 
>> defined content as '{md5}8e627eee990e811e35e7e838c586bd77'
>> Notice: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/README.markdown]/ensure: 
>> defined content as '{md5}e596ce938864a80fd1e51640cca7f612'
>> Notice: /File[/var/lib/puppet/lib/puppet/parser/functions/hash.rb]/ensure: 
>> defined content as '{md5}75fd86c01d5b1e50be1bc8b22d3d0a61'
>> Notice: /File[/var/lib/puppet/lib/puppet/parser/functions/prefix.rb]/ensure: 
>> defined content as '{md5}6a2d86233c9435afc1738f60a0c34576'
>> Notice: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/is_integer.rb]/ensure: 
>> defined content as '{md5}6520458000b349f1c7ba7c9ed382ae0b'
>> Notice: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/swapcase.rb]/ensure: 
>> defined content as '{md5}4902f38f0b9292afec66d40fee4b02ec'
>> Notice: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/to_bytes.rb]/ensure: 
>> defined content as '{md5}83f23c33adbfa42b2a9d9fc2db3daeb4'
>> Notice: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/has_interface_with.rb]/ensure:
>>  defined content as '{md5}8d3ebca805dc6edb88b6b7a13d404787'
>> Notice: /File[/var/lib/puppet/lib/puppet/parser/functions/lstrip.rb]/ensure: 
>> defined content as '{md5}210b103f78622e099f91cc2956b6f741'
>> Notice: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/is_array.rb]/ensure: 
>> defined content as '{md5}875ca4356cb0d7a10606fb146b4a3d11'
>> Notice: /File[/var/lib/puppet/lib/puppet/parser/functions/min.rb]/ensure: 
>> defined content as '{md5}35f1e50e7f9ff6d5b04e48952d4e13bd'
>> Notice: /File[/var/lib/puppet/lib/puppet/parser/functions/sort.rb]/ensure: 
>> defined content as '{md5}504b033b438461ca4f9764feeb017833'
>> Notice: /File[/var/lib/puppet/lib/puppet/parser/functions/merge.rb]/ensure: 
>> defined content as '{md5}52281fe881b762e2adfef20f58dc4180'
>> Notice: /File[/var/lib/puppet/lib/puppet/parser/functions/member.rb]/ensure: 
>> defined content as '{md5}541e67d06bc4155e79b00843a125e9bc'
>> Notice: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/capitalize.rb]/ensure: 
>> defined content as '{md5}14481fc8c7c83fe002066ebcf6722f17'
>> Notice: /File[/var/lib/puppet/lib/puppet/parser/functions/values.rb]/ensure: 
>> defined content as '{md5}066a6e4170e5034edb9a80463dff2bb5'
>> Notice: /File[/var/lib/puppet/lib/puppet/parser/functions/chomp.rb]/ensure: 
>> defined content as '{md5}7040b3348d2f770f265cf4c8c25c51c5'
>> Notice: /File[/var/lib/puppet/lib/puppet/parser/functions/unique.rb]/ensure: 
>> defined content as '{md5}217ccce6d23235af92923f50f8556963'
>> Notice: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/shuffle.rb]/ensure: 
>> defined content as '{md5}6445e6b4dc62c37b184a60eeaf34414b'
>> Notice: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/num2bool.rb]/ensure: 
>> defined content as '{md5}dbdc81982468ebb8ac24ab78d7097ad3'
>> Error: 
>> /File[/var/lib/puppet/lib/puppet/parser/functions/join_keys_to_values.rb]/ensure:
>>  change from absent to file failed: execution expired
>> Error: Could not retrieve plugin: execution expired
>> Info: Caching catalog for hostname.domain.com
>>
>>

Puppet is timing out during plugin synchronization, which is normally very 
fast.  That it times out several times, at different points, before going 
to completion points to a capacity problem at your master, rather than a 
problem associated with a specific file or module.  There is a config 
parameters by which you can tweak the timeout for catalog retrieval, but 
none specific to plugin sync.  Even if there were such a config option, 
tweaking it would not resolve the root problem.

There are a host of areas that contribute to aspects of your master's 
capacity, but the first thing that is usually suggested here is to run the 
master under apache/passenger, so as to allow multiple clients to be 
serviced in parallel.  The master's built-in "webrick" server support 
serving only one client at a time, even if the resources available on the 
master's host would otherwise be sufficient to handle more.

If you are already running under passenger, or if running that way does not 
solve the problem, then you may just need to scale up by to multiple 
masters or beefier ones.  Before you do that, though, it would be worth 
your while to check for other possible issues such as network congestion 
and I/O contention.  Also make sure that you master has enough RAM -- it 
can be a bit of a memory hog, and if it ends up swapping back and forth to 
disk a lot then that will really kill your performance.  In that vein, if 
you are using passenger already then tweaking its configuration may help: 
too many workers may do more harm than good by causing a lot of swapping.


John

-- 
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 puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to