On Mon, Nov 5, 2018 at 5:23 AM Benjamin Bannier <
benjamin.bann...@mesosphere.io> wrote:

> Hi Michał,
>
> > Is it guaranteed that reservations' roles for all resources within
> single offer will always be the same? I've tried to with "
> --resources="cpus(foo):1;mem(bar):4096" passed to agent and framework
> having multiple roles (foo and bar) and I'm getting only offers like:
> > * mem(reservations: [(STATIC,bar)]):4096;disk:471782;ports:[31000-32000]
> > * cpus(reservations: [(STATIC,foo)]):1
> > * cpus(reservations: [(STATIC,foo)]):1;disk:471782;ports:[31000-32000]
> >
> > so on my machine I couldn't get an offer where resources have
> reservation role. If this is guaranteed then where I can find any
> information about it in official doc?
> >
> > should be "so on my machine I couldn't get an offer where resources have
> different reservation role"
>
> The answer depends on the role(s) of your framework. In general it is much
> safer to not make strong assumptions here if possible; I’d expect that your
> framework would need to possibly examine the roles of offered resources
> anyway, at least to distinguish unreserved and reserved resources.
>
> * * *
>
> On the technical level, an offer will always only contain resources
> allocated to just a single role, see
> https://github.com/apache/mesos/blob/master/include/mesos/mesos.proto#L1911-L1914.
> In the default hierarchical allocator reserved resources are only
> allocatable to the role they are reserved for or any of its subroles,
> https://github.com/bbannier/mesos/blob/b5d884bba4e5c1550e15df4c3d51c692a985126e/src/common/resources.cpp#L1211-L1212
> .
>
> More practically, if you you register a framework in the hierarchical role
> `foo/bar`, resources reserved for `foo` are allocatable to the framework as
> are resources reserved for `foo/bar`. Here an offer might contain resources
> reserved for `foo` and resources reserved for `foo/bar` at the same time in
> addition to unreserved resources; all these resources would be allocated to
> `foo/bar`.
>
> If your framework is registered to a non-hierarchical role `foo`, any
> offers to it would only contain resources reserved to `foo` or unreserved
> resources, allocated to `foo`.
>

Yup, it helps a lot. Thank you.

>
>
> HTH & cheers,
>
> Benjamin



-- 
BR,
Michał Łowicki

Reply via email to