You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-dev@hadoop.apache.org by "Tamas Domok (Jira)" <ji...@apache.org> on 2022/01/27 10:15:00 UTC
[jira] [Created] (YARN-11069) Dynamic Queue ACL handling in Legacy and Flexible Auto Created Queues
Tamas Domok created YARN-11069:
----------------------------------
Summary: Dynamic Queue ACL handling in Legacy and Flexible Auto Created Queues
Key: YARN-11069
URL: https://issues.apache.org/jira/browse/YARN-11069
Project: Hadoop YARN
Issue Type: New Feature
Components: capacity scheduler, yarn
Reporter: Tamas Domok
Assignee: Tamas Domok
During the investigation YARN-10922 I found multiple issues with dynamic ACL handling, no wonder it was documented as unsupported feature. But in some cases it did work and some users utilised that behaviour.
There is a severe bug when using Flexible AQC and dynamic parent queues, *anybody* can submit an app regardless of what ACLs are set (when the dynamic parent queue is not exists yet) - see: YARN-11066.
After this dynamic ACL feature YARN-11060 should be fixed as well.
Examples scenarios:
Legacy AQC:
{code}
yarn.scheduler.capacity.root.managed.auto-create-child-queue.enabled: true
yarn.scheduler.capacity.root.managed.acl_submit_applications: nobody
yarn.scheduler.capacity.root.managed.acl_administer_queue: nobody
yarn.scheduler.capacity.root.managed.acl_submit_applications: user1
yarn.scheduler.capacity.root.managed.acl_administer_queue: admin1
yarn.scheduler.capacity.root.managed.leaf-queue-template.acl_submit_applications: user2
yarn.scheduler.capacity.root.managed.leaf-queue-template.acl_administer_queue: admin2
{code}
user2 can submit an application to root.managed.user2 even if the queue doesn't exist yet due to template
Permissions:
- root: {nobody, nobody}
- root.managed: {user1, admin1}
- root.managed.auto: {user2, admin2}
Flexible AQC:
{code}
yarn.scheduler.capacity.root.auto-queue-creation-v2.enabled: true
yarn.scheduler.capacity.root.acl_submit_applications: user
yarn.scheduler.capacity.root.acl_administer_queue: admin
yarn.scheduler.capacity.root.auto-queue-creation-v2.parent-template.acl_submit_applications: parentUser1
yarn.scheduler.capacity.root.auto-queue-creation-v2.parent-template.acl_administer_queue: parentAdmin1
yarn.scheduler.capacity.root.*.auto-queue-creation-v2.leaf-template.acl_submit_applications: user1
yarn.scheduler.capacity.root.*.auto-queue-creation-v2.leaf-template.acl_administer_queue: admin1
{code}
user1 can submit an application to root.autoParent.user1 even if the queue doesn't exist yet due to template
Permissions:
- root: {user, admin}
- root.autoParent: {parentUser1, parentAdmin1}
- root.autoParent.autoLeaf: {user1, admin1}
Flexible AQC with overwritten leaf:
{code}
yarn.scheduler.capacity.root.auto-queue-creation-v2.enabled: true
yarn.scheduler.capacity.root.acl_submit_applications: user
yarn.scheduler.capacity.root.acl_administer_queue: admin
yarn.scheduler.capacity.root.auto-queue-creation-v2.template.acl_submit_applications: commonUser1
yarn.scheduler.capacity.root.auto-queue-creation-v2.template.acl_administer_queue: commonUser2
yarn.scheduler.capacity.root.*.auto-queue-creation-v2.leaf-template.acl_submit_applications: user1
yarn.scheduler.capacity.root.*.auto-queue-creation-v2.leaf-template.acl_administer_queue: admin1
{code}
user1 can submit an application to root.autoParent.user1 even if the queue doesn't exist yet due to template
Permissions:
- root: {user, admin}
- root.autoParent: {commonUser1, commonUser2}
- root.managed.autoLeaf: {user1, admin1}
NOTE: the *.leaf-template* and *.parent-template* overwrites the *.template* variant.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-dev-help@hadoop.apache.org