1

I'm trying to setup Bamboo (https://github.com/QubitProducts/bamboo) for my Mesos and Marathon cluster. Currently, my marathon instance is running with the following parameters:

MARATHON_EVENT_SUBSCRIBER=http_callback
MARATHON_HTTP_ENDPOINTS=http://my-marathon-server/callback

Running marathon informs me of the following: run_jar --zk zk://my-marathon-server:2181/marathon --master zk://my-marathon-server:2181/mesos

Everything seems to be functioning fine with Mesos + Marathon. However, when I go to run Bamboo on one of my Mesos Slaves, I receive the following error:

2015-12-02 03:15:32,525 INFO spawned: 'bamboo' with pid 20
2015-12-02 03:15:32,546 DEBG 'bamboo' stdout output:
2015/12/02 03:15:32 Using environment override MARATHON_ENDPOINT=http://my-marathon-server:8080
2015/12/02 03:15:32 Using environment override BAMBOO_ENDPOINT=http://my-bamboo-server(mesos-slave):8000
2015/12/02 03:15:32 Using environment override BAMBOO_ZK_HOST=my-marathon-server:2181
2015/12/02 03:15:32 Using environment override BAMBOO_ZK_PATH=/bamboo
2015/12/02 03:15:32 Environment variable not set: STATSD_ENABLED
2015/12/02 03:15:32 Starting update loop

2015-12-02 03:15:32,555 DEBG 'bamboo' stdout output:
2015/12/02 03:15:32 bamboo_startup => 2015-12-02T03:15:32Z
2015/12/02 03:15:32 Queuing an haproxy update.

2015-12-02 03:15:32,571 DEBG 'bamboo' stdout output:
[martini] listening on ":8000" (development)
[martini] listen tcp: unknown port tcp/8000"

2015-12-02 03:15:32,577 DEBG fd 7 closed, stopped monitoring <POutputDispatcher at 140685022053728 for <Subprocess at 140685022289000 with name bamboo in state STARTING> (stdout)>
2015-12-02 03:15:32,577 INFO exited: bamboo (exit status 1; not expected)
2015-12-02 03:15:37,685 DEBG received SIGCLD indicating a child quit
2015-12-02 03:15:38,686 INFO gave up: bamboo entered FATAL state, too many start retries too quickly

I'm using the bamboo docker container to spin up bamboo.

Has anyone else encountered this issue before? Any ideas on what I can do to fix this problem?

Thanks in advance!

meoww-
  • 1,892
  • 2
  • 21
  • 29

2 Answers2

0

Verify that Marathon is making the callback to the right place. Your Bamboo instance needs to be subscribed to the http_callback in order for everything to work properly.

https://mesosphere.github.io/marathon/docs/rest-api.html#event-subscriptions

This is what my subscriptions look like. I formatted this for readability, so yours might look slightly messier.

# curl --silent http://my-mesos-master:8080/v2/eventSubscriptions
{
  "callbackUrls": [
    "http://my-bamboo-server:8000/api/marathon/event_callback"
  ]
}

Are you using the -e BAMBOO_DOCKER_AUTO_HOST=true switch when you launch your Bamboo Docker container? I believe that populates the correct host information in the bamboo config. If that doesn't look right, check your config (defaults to config/production.example.json) to make sure the values line up with your environment.

aayore
  • 663
  • 5
  • 12
0

I got the same error, -e BIND="0.0.0.0:8000" I changed this config to -e BIND=0.0.0.0:8000, it worked.