Since 2.6, puppet now streams the file content through rack. It is well
possible you're hitting a bug with this new feature.
Can you let us know what version of passenger and rack you are using. It
would also be worth upgrading those versions to see if that helps.
Then, you should also run your master with --debug --trace, to see if
the master logs anything interesting during one of this specific file
transfer.
--
Brice Figureau
Follow the latest Puppet Community evolutions on www.planetpuppet.org!
Ruby version shouldn't matter, I more think this is a puppet rack
versioning issue.
Would it be possible to test rack 1.1.0 (which is what I tried when
adding this feature)?
Do you have any interesting --debug --trace log on the master side?
Hi,
Try deleting the old Rack version (gem cleanup).
Had a similar problem, it looks as if rack 1.0.1 doesn't play nice with Puppet 2.6.
Cheers,
Thorsten
I think you're seeing bug #4319:
http://projects.puppetlabs.com/issues/4319
Can you try the latest 2.6.1rc1 and confirm that it solves your issue?
Or alternatively try what Thorsten Biel suggested in another e-mail in
this thread (ie getting rid of rack 1.0.1)?
Which means it now tries to send the file. You just hit another issue
which is discussed in this thread:
http://groups.google.com/group/puppet-users/browse_thread/thread/543510e15f06074c#
Passenger is still the preferred way to scale a puppetmaster (until I
progress on the JRuby front).
Unfortunately rack or passenger tends to break on each new release (and
it is worst in case of Puppet _and_ rack upgrades :))
The best to fix this issue is to collect the more log possible
(including stack trace) so that we can understand what's going wrong.
Did someone file a puppet bug about this issue?
--
Brice Figureau
My Blog: http://www.masterzen.fr/
I've had great success running Puppet 0.25.4, 0.25.5, and 2.6.0 under
Nginx and Unicorn. Alas, http://projects.puppetlabs.com/issues/4319
is still in play. I use the highly suspect "give up and use wget"
workaround.
Use either 2.6.1rc1 or my single-line patch linked to the bug report to
get rid of the issue :)
IMHO it's better than refactoring your manifests to wget stuff.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
OK, I just had a look to the passenger code and this is insane.
I think the problem is that we return the content-length as an int, but
passenger chokes if it gets anything except a string.
Can you try this (untested) patch:
diff --git a/lib/puppet/network/http/rack/rest.rb b/lib/puppet/network/http/rack/rest.rb
index e5f50c4..b7e1d97 100644
--- a/lib/puppet/network/http/rack/rest.rb
+++ b/lib/puppet/network/http/rack/rest.rb
@@ -41,7 +41,7 @@ class Puppet::Network::HTTP::RackREST < Puppet::Network::HTTP::RackHttpHandler
unless result.is_a?(File)
response.write result
else
- response["Content-Length"] = result.stat.size
+ response["Content-Length"] = result.stat.size.to_s
response.body = RackFile.new(result)
end
end
Let me know if that fixes the problem,
http://projects.puppetlabs.com/issues/4922
~pete
Aha!
I suspect that's what I've been seeing with 2.6.(0|1) + unicorn + nginx +
2.6.0 clients and also with 2.6.(0|1) + passenger + apache.
Glad (FAVO 'glad', obviously) it's not just me.
--
John Hawkes-Reed
--
Future Publishing Limited (registered company number 2008885) and Future Publishing (Overseas) Limited (registered company number 06202940) are wholly owned subsidiaries of Future plc (registered company number 3757874). Future Publishing Limited, Future Publishing (Overseas) Limited and Future plc are all incorporated in England and Wales and share the same registered address at Beauford Court, 30 Monmouth Street, Bath BA1 2BW.
This email and any files transmitted with it are confidential. If you have received this email in error please notify the sender and then delete it immediately. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Future.
The recipient should check this email and any attachments for the presence of viruses. Future accepts no liability for any damage caused by any virus transmitted by this email.
Future may regularly and randomly monitor outgoing and incoming emails (including the content of them) and other telecommunications on its email and telecommunications systems. By replying to this email you give your consent to such monitoring.
*****
Save resources: think before you print.