`./launcher` hangs constantly on Amazon EC2

I’ve been doing quite a bit of setting up/tearing down discourse via ./launcher, and I’ve noticed that various stages of either bootstrap or start hang, for no apparent and without any logs. I would then just quit the process and try again until it works.

Does anybody else have this issue? Just this morning, ./launcher bootstrap app was hanging after the first line:

Calculated ENV: -e HOME=/root -e RAILS_ENV=production -e UNICORN_WORKERS=3 -e UNICORN_SIDEKIQS=1 -e RUBY_GC_MALLOC_LIMIT=40000000 -e RUBY_HEAP_MIN_SLOTS=800000 -e DISCOURSE_DB_SOCKET= -e DISCOURSE_DB_HOST=####### -e DISCOURSE_DB_PORT= -e DISCOURSE_DEVELOPER_EMAILS=####### -e DISCOURSE_DB_PASSWORD=####### -e DISCOURSE_DB_POOL=15 -e DISCOURSE_HOSTNAME=###### -e DISCOURSE_DB_USERNAME=###### -e DISCOURSE_DB_NAME=Discourse -e DISCOURSE_REDIS_HOST=###### -e DISCOURSE_SMTP_ADDRESS=####### -e DISCOURSE_SMTP_PORT=587 -e DISCOUSRE_SMTP_DOMAIN=###### -e DISCOURSE_SMTP_USER_NAME=###### -e DISCOURSE_SMTP_PASSWORD=######

I subbed out all the identifying information in my configs, but I’d see that in my shell and it would just hang, until I stopped the process.

This is just one of many times that my setup hangs.

I’m setting this up via Docker on an EC2 box, and run these commands as root. I can also verify that all my configs are correct.

What does docker info return?

Containers: 3
Images: 8
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Dirs: 14
Execution Driver: native-0.2
Kernel Version: 3.2.0-64-virtual

There’s 3 containers because I ran bootstrap 3 times before it succeeded

and … what is docker version

sudo docker version

Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 63fe64c
Server version: 1.0.0
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 63fe64c

Not sure if it matters but I noticed my Kernel Version on my Digital Ocean droplet Discourse instance is

Kernel Version: 3.8.0-29-generic

versus what you show which is

Kernel Version: 3.2.0-64-virtual

Interesting. I can give this a shot and see if this fixes my issues.

Linux 3.2 kernel was released 4 Jan 2012
Linux 3.8 kernel was released 18 Feb 2013

So 3.2 is somewhat older. And looks like “known issues” with 3.0 and 3.2 Kernels in Docker?

Seems like that did it! Thanks @codinghorror & @sam

Just to wrap this up, I’m using OpsWorks just to pull down discourse into /var/docker, and create app.yml with the proper configs. The box is Ubuntu 12.04. The way I’m starting docker is sshing into the box and doing this

# install the backported kernel
$ sudo apt-get update
$ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring

# reboot
$ sudo reboot

Then I do the usual ./launcher business like usual after reboot.