airbnb / nerve

A service registration daemon that performs health checks; companion to airbnb/synapse

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Marathon support

stevendborrelli opened this issue · comments

Is there any support for nerve getting port information dynamically from Marathon?

We are thinking a config item that points to a list of marathon master (or pulls this info from marathon's zk), and a starting list of marathon job ids to monitor.

Nerve would then query marathon/v1/endpoints and update zk as the jobs are moved around the mesos cluster. Or, it could watch zk marathon/tasks to get the tasks & ports as they are created/deleted.

The use case is using marathon to launch docker containers in mesos, using nerve + synapse for proxy configuration.

+1 for this!

Have you @stevendborrelli done anything relating to this?

@eaapa not yet, still working on getting mesos/marathon to run in our environment before I tackle nerve.

Hi guys, any progress on this?

Nerve does support marathon, you just have to tell it to start watching the services that mesos has deployed to a slave. We do this with a cron job that updates registrations and SIGHUPs nerve every 5s (source).

I think that we decided to go the way of change the nerve config and send a SIGHUP rather than nerve dynamically adding and removing watchers. Unix philosophy and such.