You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by Meng Zhu <mz...@mesosphere.com> on 2019/06/21 22:42:59 UTC

Upcoming changes to the `/role` endpoint and `GET_QUOTA` call

Hi:

We are making some changes to the response of *`/role` endpoint and master
`GET_QUOTA` call.* These are necessary as part of the quota limits work
<https://docs.google.com/document/d/13vG5uH4YVwM79ErBPYAZfnqYFOBbUy2Lym0_9iAQ5Uk/edit?usp=sharing>.
Despite efforts in keeping these as backward compatible as possible, there
are some small incompatible tweaks. If you have tooling that depend on
these endpoints, please update them accordingly. Please check out the API
section of the design doc
<https://docs.google.com/document/d/13vG5uH4YVwM79ErBPYAZfnqYFOBbUy2Lym0_9iAQ5Uk/edit#heading=h.3gkosofil4g6>
for more details as well as rational behind these changes. Also, feel free
to reach out if you have any questions or concerns.

Changes to the `/role` endpoint:
- The `principal` field will be removed in the quota object
- Resources with zero quantity will no longer be included in the
`guarantee` field.
- The `guarantee` field will continue to be filled. However, since we are
decoupling the quota guarantee from the limit. One can no longer assume
that the limit will be the same as guarantee. A separate `limit` field will
be introduced.

*Before, *the response might contain:
```
{
  "quota": {
    "guarantee": {
      "cpus": 1,
      "disk": 0,
      "gpus": 0,
      "mem": 512
    },
    "principal": "test-principal",
    "role": "foo"
  }
}
```
*After*:
```
{
  "quota": {
    "guarantee": {
      "cpus": 1,
      "mem": 512
    },
    "limit": {
      "cpus": 1,
      "mem": 512
    },
    "role": "foo"
  }
}
```

Changes to the `GET_QUOTA
<https://github.com/apache/mesos/blob/c1f552c78bb267285679455eb9f1437c215a78f6/include/mesos/v1/master/master.proto#L551-L554>`
call:
The `QuotaInfo` field is going to be deprecated, replaced by `QuotaConfig`
<https://github.com/apache/mesos/blob/c1f552c78bb267285679455eb9f1437c215a78f6/include/mesos/v1/quota/quota.proto#L140-L157>.
But we will continue to fill in as much as we can. Similar to the `/role`
endpoint above:
- The `principal` field will no longer be filled in the `QuotaInfo` object.
- The `guarantee` field will continue to be filled. However, since we are
decoupling the quota guarantee from the limit. One can no longer assume
that the limit will be the same as guarantee.

Thanks,
Meng