[ 
https://issues.apache.org/jira/browse/MESOS-3688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14959023#comment-14959023
 ] 

Raffaele Di Fazio commented on MESOS-3688:
------------------------------------------

We started hacking on this issue, this is what we did:

1) modified the protobuf:

{quote}
 diff --git a/include/mesos/mesos.proto b/include/mesos/mesos.proto
index f2ea4fc..8a14825 100644
--- a/include/mesos/mesos.proto
+++ b/include/mesos/mesos.proto
@@ -1476,6 +1476,7 @@ message ContainerInfo {
 message ContainerStatus {
   // This field can be reliably used to identify the container IP address.
   repeated NetworkInfo network_infos = 1;
+  optional ContainerID id = 2;
 }
{quote}

2) Modified the code of slave.cpp:

{quote}
diff --git a/src/slave/slave.cpp b/src/slave/slave.cpp
index 6526976..ea4b704 100644
--- a/src/slave/slave.cpp
+++ b/src/slave/slave.cpp
@@ -2859,6 +2859,12 @@ void Slave::statusUpdate(StatusUpdate update, const 
UPID& pid)
     networkInfo->set_ip_address(stringify(self().address.ip));
   }

+  ContainerID* containerID = new ContainerID();
+  containerID->set_value("PLACEHOLDER");
+  containerStatus->set_allocated_id(containerID);
+
+
   TaskStatus status = update.status();

   Executor* executor = framework->getExecutor(status.task_id());
{quote}

We currently don't know where to retrieve the data to set in containerID. We 
are looking into the mesos source code, but we would appreciate any suggestion 
and/or explanation of some mesos internals. 
We know this is just an hack and probably not a good enough solution, but it 
should be something similar.
Can anyone help us making it better? 

> Get Container Name information when launching a container task
> --------------------------------------------------------------
>
>                 Key: MESOS-3688
>                 URL: https://issues.apache.org/jira/browse/MESOS-3688
>             Project: Mesos
>          Issue Type: Improvement
>          Components: containerization
>    Affects Versions: 0.24.1
>            Reporter: Raffaele Di Fazio
>              Labels: mesosphere
>
> We want to get the Docker Name (or Docker ID, or both) when launching a 
> container task with mesos. The container name is generated by mesos itself 
> (i.e. mesos-77e5fde6-83e7-4618-a2dd-d5b10f2b4d25, obtained with "docker ps") 
> and it would be nice to expose this information to frameworks so that this 
> information can be used, for example by Marathon to give this information to 
> users via a REST API. 
> To go a bit in depth with our use case, we have files created by fluentd 
> logdriver that are named with Docker Name or Docker ID (full or short) and we 
> need a mapping for the users of the REST API and thus the first step is to 
> make this information available from mesos. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to