[ 
https://issues.apache.org/jira/browse/MESOS-5155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15240889#comment-15240889
 ] 

Adam B commented on MESOS-5155:
-------------------------------

Thinking in CRUD terms, if we're merging create/delete into update, will we 
also need a READ_QUOTA_... Action soon too?
If we move toward an actual RESTful API, should we have a separate action for 
each of POST/GET/PUT/DELETE verbs on the /quota endpoint?

As for deprecation, we have a few options:
1. Good: Fail master startup if we find both update_quota and set/remove_quota 
set anywhere in the --acl flag. Admin should update all ACLs to the new format 
at the same time.
2. OK: Allow old and new ACLs, but if we find both types anywhere in --acl, log 
a warning and ignore all set/remove_quota ACLs. Users might ignore the warning 
and be surprised that the old ACLs no longer apply.
3. Weird: Allow old and new ACLs, but if we find both types on the same 
user+role combo, log a warning and only use the new ACL. If a user+role combo 
only has an old ACL, we accept that too. This would be difficult to reason 
about which rules apply when.
4. Bad: Silently ignore old ACLs, without a deprecation warning. Deprecations 
must be logged.
5. Bad: Reject old ACLs, even if no new ACLs are present. Not 
backwards-compatible.

> 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)

Reply via email to