Wednesday, August 7, 2013

Download file from S3 via HTTP

You need to have s3cmd installed. This command should return all your buckets
s3cmd ls 
First make the file you want to download be public accessible with command setacl
s3cmd setacl --acl-public s3://bucket-name/path-to-file/filname
 Then you can download from this path
http://bucket-name.s3.amazonaws.com/path-to-file/filename
(You can download with many connection in parallel with axel)

Don't forget to set permission back to private with
 s3cmd setacl --acl-private s3://bucket-name/path-to-file/filname
Credit:  a comment in s3tool.org

Monday, August 5, 2013

FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

This error message from chef is not very useful
FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
I took me a few hours to dig in to chef source code to figure out what's really happening. It turned out for me that chef doesn't like ~ (home) that I used in path declarations in the solo.rb file.

As I skimmed through the code, I have a feeling that any errors that occurs during fork process will cause this error message which does not explain anything. If your cause is not the same as me, unfortunately your only option is to go digging through chef source code. :(

Gem: Chef
Version: 11.6.0

Config number of file descriptors on Linux

Check file descriptor limit for a process. Vary depending on owner of the process $ cat /proc/{process-id}/limits Check current number of...