You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mesos.apache.org by Jan Schlicht <ja...@mesosphere.io> on 2017/08/04 12:50:13 UTC
Re: Docker image as an executor
Hey Thodoris,
when you set a container for the executor (the `ExecutorInfo.container`
field), this container is expected to provide an executor, i.e. connects
and communicates with the Mesos agent that started the executor to run a
task. `echo hello world` doesn't do this, that's why you see the
EXECUTOR_TERMINATED message.
Cheers
Jan
On Fri, Aug 4, 2017 at 1:44 PM, Thodoris Zois <zo...@ics.forth.gr> wrote:
> Hello list,
>
> I am developing my own framework and i got a problem with docker images.
>
> I am creating a task that will have assigned a docker image as executor.
> The purpose of doing this is because i want to have one task per docker
> container. I have set a TaskInfo with executor a `docker image`. In the
> image i am just running `echo hello world!`. Every task that uses `Executor
> docker image` is in state `TASK_FAILED with reason EXECUTOR_TERMINATED ->
> Container terminated`. I don't get any status update message `TASK_RUNNING`
> and the image is running properly. Even at the output of stdout i get the
> message `Hello world!`. I think that the task is not getting in my
> container. But it gets the proper executorID.
>
> This is my master log: https://pastebin.com/5yB7KR28 <
> https://pastebin.com/5yB7KR28>
>
> This is my slave log: https://pastebin.com/sKPz949J <
> https://pastebin.com/sKPz949J>
>
> And this is my protobuf: https://pastebin.com/YG3J7Fi0 <
> https://pastebin.com/YG3J7Fi0>
>
>
> Any help would be appreciated!
>
> Thank you,
> Thodoris
>
>
>
--
*Jan Schlicht*
Distributed Systems Engineer, Mesosphere
Re: Docker image as an executor
Posted by Thodoris Zois <zo...@ics.forth.gr>.
Thank you very much both of you!
Thodoris
> On 4 Aug 2017, at 17:47, Vinod Kone <vi...@gmail.com> wrote:
>
> Setting container on task is the right thing to do for your use case. Each task is run under a different executor and hence isolated.
>
> @vinodkone
>
> On Aug 4, 2017, at 6:10 AM, Jan Schlicht <jan@mesosphere.io <ma...@mesosphere.io>> wrote:
>
>> It depends on the executor how the `TaskInfo` is used. The default executor (i.e. `TaskInfo.executor` isn't set) will start a container per task -- as documented here: http://mesos.apache.org/documentation/latest/app-framework-development-guide/ <http://mesos.apache.org/documentation/latest/app-framework-development-guide/>.
>>
>> Cheers,
>> Jan
>>
>> On Fri, Aug 4, 2017 at 2:55 PM, Thodoris Zois <zois@ics.forth.gr <ma...@ics.forth.gr>> wrote:
>> Hello Jan,
>>
>> You are completely right.. If i set the docker image at taskInfo it is running properly. The reason that i wanted to add the docker image as an executor is because i would like to have one task per container. If i setContainer at taskInfo every task is going to run under the same container? Or each task will have its own container? I would like to provide an isolation between docker containers and tasks to my framework.
>>
>> Thank you,
>> Thodoris
>>
>>> On 4 Aug 2017, at 15:50, Jan Schlicht <jan@mesosphere.io <ma...@mesosphere.io>> wrote:
>>>
>>> Hey Thodoris,
>>>
>>> when you set a container for the executor (the `ExecutorInfo.container` field), this container is expected to provide an executor, i.e. connects and communicates with the Mesos agent that started the executor to run a task. `echo hello world` doesn't do this, that's why you see the EXECUTOR_TERMINATED message.
>>>
>>> Cheers
>>> Jan
>>>
>>> On Fri, Aug 4, 2017 at 1:44 PM, Thodoris Zois <zois@ics.forth.gr <ma...@ics.forth.gr>> wrote:
>>> Hello list,
>>>
>>> I am developing my own framework and i got a problem with docker images.
>>>
>>> I am creating a task that will have assigned a docker image as executor. The purpose of doing this is because i want to have one task per docker container. I have set a TaskInfo with executor a `docker image`. In the image i am just running `echo hello world!`. Every task that uses `Executor docker image` is in state `TASK_FAILED with reason EXECUTOR_TERMINATED -> Container terminated`. I don't get any status update message `TASK_RUNNING` and the image is running properly. Even at the output of stdout i get the message `Hello world!`. I think that the task is not getting in my container. But it gets the proper executorID.
>>>
>>> This is my master log: https://pastebin.com/5yB7KR28 <https://pastebin.com/5yB7KR28> <https://pastebin.com/5yB7KR28 <https://pastebin.com/5yB7KR28>>
>>>
>>> This is my slave log: https://pastebin.com/sKPz949J <https://pastebin.com/sKPz949J> <https://pastebin.com/sKPz949J <https://pastebin.com/sKPz949J>>
>>>
>>> And this is my protobuf: https://pastebin.com/YG3J7Fi0 <https://pastebin.com/YG3J7Fi0> <https://pastebin.com/YG3J7Fi0 <https://pastebin.com/YG3J7Fi0>>
>>>
>>>
>>> Any help would be appreciated!
>>>
>>> Thank you,
>>> Thodoris
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Jan Schlicht
>>> Distributed Systems Engineer, Mesosphere
>>
>>
>>
>>
>> --
>> Jan Schlicht
>> Distributed Systems Engineer, Mesosphere
Re: Docker image as an executor
Posted by Vinod Kone <vi...@gmail.com>.
Setting container on task is the right thing to do for your use case. Each task is run under a different executor and hence isolated.
@vinodkone
> On Aug 4, 2017, at 6:10 AM, Jan Schlicht <ja...@mesosphere.io> wrote:
>
> It depends on the executor how the `TaskInfo` is used. The default executor (i.e. `TaskInfo.executor` isn't set) will start a container per task -- as documented here: http://mesos.apache.org/documentation/latest/app-framework-development-guide/.
>
> Cheers,
> Jan
>
>> On Fri, Aug 4, 2017 at 2:55 PM, Thodoris Zois <zo...@ics.forth.gr> wrote:
>> Hello Jan,
>>
>> You are completely right.. If i set the docker image at taskInfo it is running properly. The reason that i wanted to add the docker image as an executor is because i would like to have one task per container. If i setContainer at taskInfo every task is going to run under the same container? Or each task will have its own container? I would like to provide an isolation between docker containers and tasks to my framework.
>>
>> Thank you,
>> Thodoris
>>
>>> On 4 Aug 2017, at 15:50, Jan Schlicht <ja...@mesosphere.io> wrote:
>>>
>>> Hey Thodoris,
>>>
>>> when you set a container for the executor (the `ExecutorInfo.container` field), this container is expected to provide an executor, i.e. connects and communicates with the Mesos agent that started the executor to run a task. `echo hello world` doesn't do this, that's why you see the EXECUTOR_TERMINATED message.
>>>
>>> Cheers
>>> Jan
>>>
>>>> On Fri, Aug 4, 2017 at 1:44 PM, Thodoris Zois <zo...@ics.forth.gr> wrote:
>>>> Hello list,
>>>>
>>>> I am developing my own framework and i got a problem with docker images.
>>>>
>>>> I am creating a task that will have assigned a docker image as executor. The purpose of doing this is because i want to have one task per docker container. I have set a TaskInfo with executor a `docker image`. In the image i am just running `echo hello world!`. Every task that uses `Executor docker image` is in state `TASK_FAILED with reason EXECUTOR_TERMINATED -> Container terminated`. I don't get any status update message `TASK_RUNNING` and the image is running properly. Even at the output of stdout i get the message `Hello world!`. I think that the task is not getting in my container. But it gets the proper executorID.
>>>>
>>>> This is my master log: https://pastebin.com/5yB7KR28 <https://pastebin.com/5yB7KR28>
>>>>
>>>> This is my slave log: https://pastebin.com/sKPz949J <https://pastebin.com/sKPz949J>
>>>>
>>>> And this is my protobuf: https://pastebin.com/YG3J7Fi0 <https://pastebin.com/YG3J7Fi0>
>>>>
>>>>
>>>> Any help would be appreciated!
>>>>
>>>> Thank you,
>>>> Thodoris
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Jan Schlicht
>>> Distributed Systems Engineer, Mesosphere
>>
>
>
>
> --
> Jan Schlicht
> Distributed Systems Engineer, Mesosphere
Re: Docker image as an executor
Posted by Jan Schlicht <ja...@mesosphere.io>.
It depends on the executor how the `TaskInfo` is used. The default executor
(i.e. `TaskInfo.executor` isn't set) will start a container per task -- as
documented here:
http://mesos.apache.org/documentation/latest/app-framework-development-guide/
.
Cheers,
Jan
On Fri, Aug 4, 2017 at 2:55 PM, Thodoris Zois <zo...@ics.forth.gr> wrote:
> Hello Jan,
>
> You are completely right.. If i set the docker image at taskInfo it is
> running properly. The reason that i wanted to add the docker image as an
> executor is because i would like to have one task per container. If i
> setContainer at taskInfo every task is going to run under the same
> container? Or each task will have its own container? I would like to
> provide an isolation between docker containers and tasks to my framework.
>
> Thank you,
> Thodoris
>
> On 4 Aug 2017, at 15:50, Jan Schlicht <ja...@mesosphere.io> wrote:
>
> Hey Thodoris,
>
> when you set a container for the executor (the `ExecutorInfo.container`
> field), this container is expected to provide an executor, i.e. connects
> and communicates with the Mesos agent that started the executor to run a
> task. `echo hello world` doesn't do this, that's why you see the
> EXECUTOR_TERMINATED message.
>
> Cheers
> Jan
>
> On Fri, Aug 4, 2017 at 1:44 PM, Thodoris Zois <zo...@ics.forth.gr> wrote:
>
>> Hello list,
>>
>> I am developing my own framework and i got a problem with docker images.
>>
>> I am creating a task that will have assigned a docker image as executor.
>> The purpose of doing this is because i want to have one task per docker
>> container. I have set a TaskInfo with executor a `docker image`. In the
>> image i am just running `echo hello world!`. Every task that uses `Executor
>> docker image` is in state `TASK_FAILED with reason EXECUTOR_TERMINATED ->
>> Container terminated`. I don't get any status update message `TASK_RUNNING`
>> and the image is running properly. Even at the output of stdout i get the
>> message `Hello world!`. I think that the task is not getting in my
>> container. But it gets the proper executorID.
>>
>> This is my master log: https://pastebin.com/5yB7KR28 <
>> https://pastebin.com/5yB7KR28>
>>
>> This is my slave log: https://pastebin.com/sKPz949J <
>> https://pastebin.com/sKPz949J>
>>
>> And this is my protobuf: https://pastebin.com/YG3J7Fi0 <
>> https://pastebin.com/YG3J7Fi0>
>>
>>
>> Any help would be appreciated!
>>
>> Thank you,
>> Thodoris
>>
>>
>>
>
>
> --
> *Jan Schlicht*
> Distributed Systems Engineer, Mesosphere
>
>
>
--
*Jan Schlicht*
Distributed Systems Engineer, Mesosphere
Re: Docker image as an executor
Posted by Thodoris Zois <zo...@ics.forth.gr>.
Hello Jan,
You are completely right.. If i set the docker image at taskInfo it is running properly. The reason that i wanted to add the docker image as an executor is because i would like to have one task per container. If i setContainer at taskInfo every task is going to run under the same container? Or each task will have its own container? I would like to provide an isolation between docker containers and tasks to my framework.
Thank you,
Thodoris
> On 4 Aug 2017, at 15:50, Jan Schlicht <ja...@mesosphere.io> wrote:
>
> Hey Thodoris,
>
> when you set a container for the executor (the `ExecutorInfo.container` field), this container is expected to provide an executor, i.e. connects and communicates with the Mesos agent that started the executor to run a task. `echo hello world` doesn't do this, that's why you see the EXECUTOR_TERMINATED message.
>
> Cheers
> Jan
>
> On Fri, Aug 4, 2017 at 1:44 PM, Thodoris Zois <zois@ics.forth.gr <ma...@ics.forth.gr>> wrote:
> Hello list,
>
> I am developing my own framework and i got a problem with docker images.
>
> I am creating a task that will have assigned a docker image as executor. The purpose of doing this is because i want to have one task per docker container. I have set a TaskInfo with executor a `docker image`. In the image i am just running `echo hello world!`. Every task that uses `Executor docker image` is in state `TASK_FAILED with reason EXECUTOR_TERMINATED -> Container terminated`. I don't get any status update message `TASK_RUNNING` and the image is running properly. Even at the output of stdout i get the message `Hello world!`. I think that the task is not getting in my container. But it gets the proper executorID.
>
> This is my master log: https://pastebin.com/5yB7KR28 <https://pastebin.com/5yB7KR28> <https://pastebin.com/5yB7KR28 <https://pastebin.com/5yB7KR28>>
>
> This is my slave log: https://pastebin.com/sKPz949J <https://pastebin.com/sKPz949J> <https://pastebin.com/sKPz949J <https://pastebin.com/sKPz949J>>
>
> And this is my protobuf: https://pastebin.com/YG3J7Fi0 <https://pastebin.com/YG3J7Fi0> <https://pastebin.com/YG3J7Fi0 <https://pastebin.com/YG3J7Fi0>>
>
>
> Any help would be appreciated!
>
> Thank you,
> Thodoris
>
>
>
>
>
> --
> Jan Schlicht
> Distributed Systems Engineer, Mesosphere