We've made good progress deploying our product with Mesos but feel like we
may need to move away from using the mesos docker executor and roll our own
but at the same time I am wondering if I am just looking at the problem in
the wrong way, not having that much experience with mesos.

The issue is that as well as being able to launch a docker container on a
slave, we also then want to be able to get information about the container
once it starts (like its ID or IP address) and write that information to
zookeeper.

Our current approach is:

1. Scheduler asks mesos to execute container (e.g. use mesos docker support
to issue the "docker run" command)
2. Have some code inside the container that gets the containers IP address
on startup and writes it to zookeeper

This works but the downside is each container/image must have this extra
step added.

There is a potential way of doing this in mesos instead but there are some
pieces missing:

1. Scheduler asks mesos to execute container (e.g. use mesos docker support
to issue the "docker run" command)
2. Scheduler receives statusUpdate() saying that the task is running (but
we don't know the container ID or container name)
3. Scheduler requests that the same slave now runs another task (custom
code in our product) that will get the container details and register them
with ZK

There is no way for the scheduler to know the container ID which means we
can't schedule the follow up task.

Even if we could do this, my concern would then be that step 3 might fail
if the slave no longer has spare resource.

I'd appreciate any feedback on best practices to achieve this.

Thanks,

Andy.

--
Andy Grove
VP Engineering
CodeFutures Corporation

Reply via email to