[ 
https://issues.apache.org/jira/browse/HADOOP-3698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623897#action_12623897
 ] 

Hemanth Yamijala commented on HADOOP-3698:
------------------------------------------

bq. We could fold the change queue properties in the admin operation you listed 
above.

Yes, this is what I meant by 'configuring a queue'. It means changing queue 
properties. In internal discussions, the consensus was that this operation will 
be controlled only by administrators of the system itself - and not delegated 
to others by setting up access control.

bq. The changeACL is a new operation - the users who are permitted this are 
effectively the queue owners.

In the same discussions, it seemed like sysadmins would like to control this 
themselves as well. Again, there did not seem a need to set up access control.

That said, it is really simple to add new operations in the design above when 
we feel we need it. That's one advantage with this approach.

bq. It seems to me that job operations and file system operations are similar 
... Is the analogue right? If yes, we might want to have a similar access 
control model as the one in file system.

This was indeed the option we considered at first. There were a couple of 
reasons, we chose the model I proposed over the file system ACLs model:

- While it seems easy to map operations like you've said, the problem was more 
with the roles: the current ACL model of the file system uses Posix like ACLs, 
which have three roles - owner, group and others. For queue administration, 
there are the following roles: users, job-administrators, queue-administrators. 
Each of these roles could be an individual user or users in a group. In 
particular, the user-group who can submit jobs is different from the job or 
queue admin groups. Since in the Posix model, there is only one group possible, 
it was not flexible enough to set up the ACLs as needed.
- While there is a very good similarity between the file system operations and 
queue operations, it seems more logical to model queue administration based on 
how it is typically done in other scheduling / resource-management systems. All 
of these seem to follow the model I've proposed above.
- As is seen from this comment, it is easy (more flexible) to add more 
operations in this model.

bq. I think ADMINISTER_JOBS sounds too general. We might want to divide it into 
more specific operations, say DELETE_JOB, SET_JOB_PRIORITY, etc.

Hmm... it seems to me that a person who needs to do one of these, will in a 
different situation need to do the other as well. For instance, a job-admin 
might be asked to bump up the priority of a job, as it is realized that it 
needs to complete before others. This same admin might be asked to delete a job 
because it is stuck in front of the queue without progress and impeding the 
jobs after it. Can you explain your use-case about why you think these should 
be different ?

> Implement access control for submitting jobs to queues in the JobTracker
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-3698
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3698
>             Project: Hadoop Core
>          Issue Type: New Feature
>          Components: mapred
>            Reporter: Hemanth Yamijala
>            Assignee: Hemanth Yamijala
>             Fix For: 0.19.0
>
>
> HADOOP-3445 implements multiple queues in the JobTracker as part of the new 
> resource manager for Hadoop (HADOOP-3421). There needs to be a mechanism to 
> control who can submit jobs to a specified queue. This JIRA is for tracking 
> the requirements, approach and implementation for the same.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to