You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by James Peach <jo...@gmail.com> on 2016/02/02 01:15:44 UTC

Re: [jira] [Created] (MESOS-4397) Rename ContainerPrepareInfo to ContainerLaunchInfo for isolators.

This is source incompatible for allocator modules. Can anyone suggest how to build the same allocator module code against multiple Mesos versions?


> On Jan 15, 2016, at 9:32 AM, Jie Yu (JIRA) <ji...@apache.org> wrote:
> 
> Jie Yu created MESOS-4397:
> -----------------------------
> 
>             Summary: Rename ContainerPrepareInfo to ContainerLaunchInfo for isolators.
>                 Key: MESOS-4397
>                 URL: https://issues.apache.org/jira/browse/MESOS-4397
>             Project: Mesos
>          Issue Type: Task
>            Reporter: Jie Yu
> 
> 
> The name "ContainerPrepareInfo" does not really capture the purpose of this struct. ContainerLaunchInfo better captures the purpose of this struct. ContainerLaunchInfo is returned by the isolator 'prepare' function. It contains information about how a container should be launched (e.g., environment variables, namespaces, commands, etc.). The information will be used by the Mesos Containerizer when launching the container.
> 
> 
> 
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)


Re: [jira] [Created] (MESOS-4397) Rename ContainerPrepareInfo to ContainerLaunchInfo for isolators.

Posted by James Peach <jo...@gmail.com>.
> On Feb 1, 2016, at 5:05 PM, Jie Yu <yu...@gmail.com> wrote:
> 
> James,
> 
> You probably need to use ifdef on mesos version. For example:
> https://github.com/emccode/mesos-module-dvdi/blob/master/isolator/isolator/docker_volume_driver_isolator.cpp#L127

MESOS_VERSION_INT comes from their configure script that parses MESOS_VERSION. The version #defines in mesos/version.hpp are strings so they can't be used for this.

https://github.com/emccode/mesos-module-dvdi/blob/ba24ec93d758da3fd01b126b090555ad22ea98db/isolator/configure.ac#L184

I can certainly go and autoconf my project, but I was hoping to not have to do that for 3 source files :)

> The whole point of the recent change is to make sure we don't have to those
> ifdef in the future (by using protobufs).
> 
> - Jie
> 
> On Mon, Feb 1, 2016 at 4:50 PM, James Peach <jo...@gmail.com> wrote:
> 
>> 
>>> On Feb 1, 2016, at 4:27 PM, Jie Yu <yu...@gmail.com> wrote:
>>> 
>>> James,
>>> 
>>> The above change didn't touch the allocator interface. Can you give us
>> more
>>> information here?
>> 
>> sorry I meant to say "isolator" :)
>> 
>> bash-4.1$ make
>> ...
>> src/isolator.cc:184:36: error: ‘ContainerPrepareInfo’ is not a member of
>> ‘mesos::slave’
>>     virtual process::Future<Option<mesos::slave::ContainerPrepareInfo> >
>> prepare(
>>                                    ^
>> src/isolator.cc:184:36: error: ‘ContainerPrepareInfo’ is not a member of
>> ‘mesos::slave’
>> src/isolator.cc:184:70: error: template argument 1 is invalid
>>     virtual process::Future<Option<mesos::slave::ContainerPrepareInfo> >
>> prepare(
>>                                                                      ^
>> src/isolator.cc:184:72: error: template argument 1 is invalid
>>     virtual process::Future<Option<mesos::slave::ContainerPrepareInfo> >
>> prepare(
>> 
>> 
>> 
>>> 
>>> - Jie
>>> 
>>> On Mon, Feb 1, 2016 at 4:15 PM, James Peach <jo...@gmail.com> wrote:
>>> 
>>>> This is source incompatible for allocator modules. Can anyone suggest
>> how
>>>> to build the same allocator module code against multiple Mesos versions?
>>>> 
>>>> 
>>>>> On Jan 15, 2016, at 9:32 AM, Jie Yu (JIRA) <ji...@apache.org> wrote:
>>>>> 
>>>>> Jie Yu created MESOS-4397:
>>>>> -----------------------------
>>>>> 
>>>>>           Summary: Rename ContainerPrepareInfo to ContainerLaunchInfo
>>>> for isolators.
>>>>>               Key: MESOS-4397
>>>>>               URL: https://issues.apache.org/jira/browse/MESOS-4397
>>>>>           Project: Mesos
>>>>>        Issue Type: Task
>>>>>          Reporter: Jie Yu
>>>>> 
>>>>> 
>>>>> The name "ContainerPrepareInfo" does not really capture the purpose of
>>>> this struct. ContainerLaunchInfo better captures the purpose of this
>>>> struct. ContainerLaunchInfo is returned by the isolator 'prepare'
>> function.
>>>> It contains information about how a container should be launched (e.g.,
>>>> environment variables, namespaces, commands, etc.). The information
>> will be
>>>> used by the Mesos Containerizer when launching the container.
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> This message was sent by Atlassian JIRA
>>>>> (v6.3.4#6332)
>>>> 
>>>> 
>> 
>> 


Re: [jira] [Created] (MESOS-4397) Rename ContainerPrepareInfo to ContainerLaunchInfo for isolators.

Posted by Jie Yu <yu...@gmail.com>.
James,

You probably need to use ifdef on mesos version. For example:
https://github.com/emccode/mesos-module-dvdi/blob/master/isolator/isolator/docker_volume_driver_isolator.cpp#L127

The whole point of the recent change is to make sure we don't have to those
ifdef in the future (by using protobufs).

- Jie

On Mon, Feb 1, 2016 at 4:50 PM, James Peach <jo...@gmail.com> wrote:

>
> > On Feb 1, 2016, at 4:27 PM, Jie Yu <yu...@gmail.com> wrote:
> >
> > James,
> >
> > The above change didn't touch the allocator interface. Can you give us
> more
> > information here?
>
> sorry I meant to say "isolator" :)
>
> bash-4.1$ make
> ...
> src/isolator.cc:184:36: error: ‘ContainerPrepareInfo’ is not a member of
> ‘mesos::slave’
>      virtual process::Future<Option<mesos::slave::ContainerPrepareInfo> >
> prepare(
>                                     ^
> src/isolator.cc:184:36: error: ‘ContainerPrepareInfo’ is not a member of
> ‘mesos::slave’
> src/isolator.cc:184:70: error: template argument 1 is invalid
>      virtual process::Future<Option<mesos::slave::ContainerPrepareInfo> >
> prepare(
>                                                                       ^
> src/isolator.cc:184:72: error: template argument 1 is invalid
>      virtual process::Future<Option<mesos::slave::ContainerPrepareInfo> >
> prepare(
>
>
>
> >
> > - Jie
> >
> > On Mon, Feb 1, 2016 at 4:15 PM, James Peach <jo...@gmail.com> wrote:
> >
> >> This is source incompatible for allocator modules. Can anyone suggest
> how
> >> to build the same allocator module code against multiple Mesos versions?
> >>
> >>
> >>> On Jan 15, 2016, at 9:32 AM, Jie Yu (JIRA) <ji...@apache.org> wrote:
> >>>
> >>> Jie Yu created MESOS-4397:
> >>> -----------------------------
> >>>
> >>>            Summary: Rename ContainerPrepareInfo to ContainerLaunchInfo
> >> for isolators.
> >>>                Key: MESOS-4397
> >>>                URL: https://issues.apache.org/jira/browse/MESOS-4397
> >>>            Project: Mesos
> >>>         Issue Type: Task
> >>>           Reporter: Jie Yu
> >>>
> >>>
> >>> The name "ContainerPrepareInfo" does not really capture the purpose of
> >> this struct. ContainerLaunchInfo better captures the purpose of this
> >> struct. ContainerLaunchInfo is returned by the isolator 'prepare'
> function.
> >> It contains information about how a container should be launched (e.g.,
> >> environment variables, namespaces, commands, etc.). The information
> will be
> >> used by the Mesos Containerizer when launching the container.
> >>>
> >>>
> >>>
> >>> --
> >>> This message was sent by Atlassian JIRA
> >>> (v6.3.4#6332)
> >>
> >>
>
>

Re: [jira] [Created] (MESOS-4397) Rename ContainerPrepareInfo to ContainerLaunchInfo for isolators.

Posted by James Peach <jo...@gmail.com>.
> On Feb 1, 2016, at 4:27 PM, Jie Yu <yu...@gmail.com> wrote:
> 
> James,
> 
> The above change didn't touch the allocator interface. Can you give us more
> information here?

sorry I meant to say "isolator" :)

bash-4.1$ make
...
src/isolator.cc:184:36: error: ‘ContainerPrepareInfo’ is not a member of ‘mesos::slave’
     virtual process::Future<Option<mesos::slave::ContainerPrepareInfo> > prepare(
                                    ^
src/isolator.cc:184:36: error: ‘ContainerPrepareInfo’ is not a member of ‘mesos::slave’
src/isolator.cc:184:70: error: template argument 1 is invalid
     virtual process::Future<Option<mesos::slave::ContainerPrepareInfo> > prepare(
                                                                      ^
src/isolator.cc:184:72: error: template argument 1 is invalid
     virtual process::Future<Option<mesos::slave::ContainerPrepareInfo> > prepare(



> 
> - Jie
> 
> On Mon, Feb 1, 2016 at 4:15 PM, James Peach <jo...@gmail.com> wrote:
> 
>> This is source incompatible for allocator modules. Can anyone suggest how
>> to build the same allocator module code against multiple Mesos versions?
>> 
>> 
>>> On Jan 15, 2016, at 9:32 AM, Jie Yu (JIRA) <ji...@apache.org> wrote:
>>> 
>>> Jie Yu created MESOS-4397:
>>> -----------------------------
>>> 
>>>            Summary: Rename ContainerPrepareInfo to ContainerLaunchInfo
>> for isolators.
>>>                Key: MESOS-4397
>>>                URL: https://issues.apache.org/jira/browse/MESOS-4397
>>>            Project: Mesos
>>>         Issue Type: Task
>>>           Reporter: Jie Yu
>>> 
>>> 
>>> The name "ContainerPrepareInfo" does not really capture the purpose of
>> this struct. ContainerLaunchInfo better captures the purpose of this
>> struct. ContainerLaunchInfo is returned by the isolator 'prepare' function.
>> It contains information about how a container should be launched (e.g.,
>> environment variables, namespaces, commands, etc.). The information will be
>> used by the Mesos Containerizer when launching the container.
>>> 
>>> 
>>> 
>>> --
>>> This message was sent by Atlassian JIRA
>>> (v6.3.4#6332)
>> 
>> 


Re: [jira] [Created] (MESOS-4397) Rename ContainerPrepareInfo to ContainerLaunchInfo for isolators.

Posted by Jie Yu <yu...@gmail.com>.
James,

The above change didn't touch the allocator interface. Can you give us more
information here?

- Jie

On Mon, Feb 1, 2016 at 4:15 PM, James Peach <jo...@gmail.com> wrote:

> This is source incompatible for allocator modules. Can anyone suggest how
> to build the same allocator module code against multiple Mesos versions?
>
>
> > On Jan 15, 2016, at 9:32 AM, Jie Yu (JIRA) <ji...@apache.org> wrote:
> >
> > Jie Yu created MESOS-4397:
> > -----------------------------
> >
> >             Summary: Rename ContainerPrepareInfo to ContainerLaunchInfo
> for isolators.
> >                 Key: MESOS-4397
> >                 URL: https://issues.apache.org/jira/browse/MESOS-4397
> >             Project: Mesos
> >          Issue Type: Task
> >            Reporter: Jie Yu
> >
> >
> > The name "ContainerPrepareInfo" does not really capture the purpose of
> this struct. ContainerLaunchInfo better captures the purpose of this
> struct. ContainerLaunchInfo is returned by the isolator 'prepare' function.
> It contains information about how a container should be launched (e.g.,
> environment variables, namespaces, commands, etc.). The information will be
> used by the Mesos Containerizer when launching the container.
> >
> >
> >
> > --
> > This message was sent by Atlassian JIRA
> > (v6.3.4#6332)
>
>