On 28/02/11 10:19, Thomas Rasmussen wrote:
> Hi
>
> My network is 100Mbit (approximately, but through a VPN so not that
> fast) with latency around 2ms (right now our test-setup is running on
> servers right beside each other :-))
>
> I have tried to switch to passenger and this does not seem that much
> faster, still uses very very long time to run. I now have tried to
> copy the tar-ball and unpackaged this to the target directory and run
> puppet again, now it just wants to correct permissions (which is OK
> because they are wrong in the tar-ball) and this takes 2-5 seconds per
> file!) which is pretty much unusable (I still have the manifest to
> copy from the master to clients)

Directory recursion is horribly inefficient and quite broken. It's
md5summing every source and target file twice. It then md5sums the
target again at the end to ensure it did it right.

See https://projects.puppetlabs.com/issues/5650 , 6003 and 6004.

> I'm not that happy about making a solution like yours, it might be the
> solution we choose but I really don't see this as the best one. I'd
> rather have puppet serve the files on its own, but it seems as though
> it is not feasible?

If you *really* want puppet to manage the files you have two solutions:
* Put up with the horrible delay and brokenness until it's eventually fixed.
* List each file and subdirectory in your manifest.

Personally, I went with rsync run from a script with a schedule of
daily, similar to Patrick.
exec { '/usr/local/scripts/installMaps.sh':
    schedule => daily,
}

> Still hopes for solutions :-)
>
> Thomas
>
> On Feb 28, 9:53 am, Patrick <kc7...@gmail.com> wrote:
>
>> Assuming your definition of small matches mine (less that 50Kb), in my 
>> experience Puppet will only do this if the server is loaded (not applicable 
>> to you) or if you have high latency. (more than 100ms ping)  Switching away 
>> from Webrick is strongly advised because 2 clients running at the same time 
>> can heavily load it down when serving files, but I know that doesn't apply 
>> to you.
>>
>> In my case, I use an exec managed by puppet that uses rsync to sync the 
>> files at 2am.  Here it is although it doesn't sound like it's very useful to 
>> you.  There's also a bit more code to force it to run on the first run using 
>> a creates.
>>
>>         exec { "/usr/bin/rsync -avz simba.outer::www/ /var/www/":
>>                 schedule => long_maintenance,
>>                 require => [Package["apache2"], Package["rsync"]],
>>         }
>>
>>         schedule { long_maintenance:
>>                 period => daily,
>>                 repeat => 1,
>>                 range => "1:30 - 2:30",
>>         }
>>
>>> Any ideas on what the best solution is? It is NOT a solution to simply
>>> setup a manifests that installs the app from the ubuntu repository. Is
>>> there any way of using ie. rsync to deploy the files instead of
>>> puppet?
>> Again, I'm giving you what you asked for, but this is rather simple.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to