[
https://issues.apache.org/jira/browse/MESOS-5155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15240286#comment-15240286
]
Zhitao Li commented on MESOS-5155:
----------------------------------
I'll start a patch for this. To be clear,
1. Introducing new Action enum {{UPDATE_QUOTA_WITH_ROLE}} in authorizer.proto;
2. Introducing new message {{UpdateQuota}} in acls.proto and add
{{update_quotas}} field to {{ACLs}} message;
In terms of how to start the deprecation cycle, my current proposal:
1. If not empty, values in {{update_quota}} will take precedence over values in
{{set_quotas}} and {{remove_quotas}} in actual authorization implementation;
2. the behavior will be documented in authorization.md;
3. The future quota update feature will only use {{update_quotas}} in ACL.
At the end of the deprecation cycle, we will drop the {{set_quotas}} and
{{remove_quotas}} from ACLs, and any {{--acl}} flag input with such fields will
not be valid input anymore.
(An alternative would be more aggressive in the beginning and reject
co-existence of non empty {{update_quotas}} vs
{{set_quotas}}/{{remove_quotas}}, but I'm not sure it's in the best interest of
the operators.)
[~adam-mesos] [~alexr], can you confirm this sounds like the right plan?
> Consolidate authorization actions for quota.
> --------------------------------------------
>
> Key: MESOS-5155
> URL: https://issues.apache.org/jira/browse/MESOS-5155
> Project: Mesos
> Issue Type: Improvement
> Reporter: Alexander Rukletsov
> Assignee: Zhitao Li
> Labels: mesosphere
>
> We should have just a single authz action: {{UPDATE_QUOTA_WITH_ROLE}}. It was
> a mistake in retrospect to introduce multiple actions.
> Actions that are not symmetrical are register/teardown and dynamic
> reservations. The way they are implemented in this way is because entities
> that do one action differ from entities that do the other. For example,
> register framework is issued by a framework, teardown by an operator. What is
> a good way to identify a framework? A role it runs in, which may be different
> each launch and makes no sense in multi-role frameworks setup or better a
> sort of a group id, which is its principal. For dynamic reservations and
> persistent volumes, they can be both issued by frameworks and operators,
> hence similar reasoning applies.
> Now, quota is associated with a role and set only by operators. Do we need to
> care about principals that set it? Not that much.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)