mesos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chun-Hung Hsiao <chhs...@apache.org>
Subject Re: API Review: Resize (persistent) volume support
Date Mon, 19 Mar 2018 18:33:16 GMT
>From the perspective of resource allocation, GROW takes two resources and
merge them into one, while SHRINK takes one resource and split it into two.
So, having two separated calls could make it explicit to the framework
about what the resources being consumed are.
Jie also mentioned in the comment
https://reviews.apache.org/r/66049/#comment279663 that specifying two
resources instead of one in GROW would make the validation clear.

I don't think allowing the operation to be applied more than once is a good
idea, and thus I'm thinking about the following validation:
1. The master checks that its resources contain the consumed resource(s).
2. The master forwards the operation to the agent.
3. The agent checks that its resources contain the consumed resource(s).
4. The agent applies the operation to update its resources, and returns a
resource conversion.
5. The master receives the resource conversion and applies it to update its
resources.

On Sun, Mar 18, 2018 at 8:16 PM, James Peach <jpeach@apache.org> wrote:

>
>
> > On Mar 16, 2018, at 11:12 AM, Zhitao Li <zhitaoli.cs@gmail.com> wrote:
> >
> > Hi everyone,
> >
> > Chun, Greg, Gastón and I are working on supporting resizing of persistent
> > volume[1]. See [2] for the design doc in length.
> >
> > The proposed new offer operation and corresponding operator API are in
> > following two patches:
> >
> > https://reviews.apache.org/r/66049/
> > https://reviews.apache.org/r/66052
> >
> > Our intention is to eventually support resizing of not only persistent
> > volumes, but also CSI volumes[3] introduced after Mesos 1.5 in the same
> set
> > of API, so we are declaring the API as experimental in its first release
> > version.
> >
> > We also want to make sure the API is reasonable to use to framework
> authors
> > and operators.
>
> Why do you have separate GROW/SHRINK operations? Could a RESIZE operation
> with a target size work?
>
> In all of these cases, is it possible for the operation to be applied more
> than once? Clearly, replaying a SHRINK would be bad. Applying RESIZE
> operations out of order would also be bad, but not in the same way.
>
> What is the response to this request?
>
> > Considering the above, both APIs need to include the original volume as
> > resource. Some alternatives on extra fields:
> > 1) size difference in Resource format: this may not be applicable in CSI
> > volume;
> > 2) size difference in Scalar value: this can be applicable in both CSI
> and
> > persistent volume case, since there is always a quantitive difference. We
> > can add extra CSI only fields once the spec is defined;
> > 3) target volume in `Resource` format: this may not be possible for any
> CSI
> > volume because the implementation could change certain metadata, so we
> did
> > not take this approach.
> >
> > Therefore, we are taking option 2) in current patches.
> >
> > Please let me know what you think. Thanks.
> >
> > [1] https://issues.apache.org/jira/browse/MESOS-4965
> > [2] https://docs.google.com/document/d/1Z16okNG8mlf2eA6NyW_PUmBfNFs_
> > 6EOaPzPtwYNVQUQ/edit#
> > [3] https://github.com/apache/mesos/blob/master/docs/csi.md
> >
> > --
> > Cheers,
> >
> > Zhitao Li
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message