YARN-7966. Remove method AllocationConfiguration#getQueueAcl and related unit tests. Contributed by Sen Zhao.
This commit is contained in:
parent
2d9e791a90
commit
d426b980ac
@ -25,12 +25,10 @@
|
|||||||
|
|
||||||
import org.apache.hadoop.conf.Configuration;
|
import org.apache.hadoop.conf.Configuration;
|
||||||
import org.apache.hadoop.security.authorize.AccessControlList;
|
import org.apache.hadoop.security.authorize.AccessControlList;
|
||||||
import org.apache.hadoop.yarn.api.records.QueueACL;
|
|
||||||
import org.apache.hadoop.yarn.api.records.ReservationACL;
|
import org.apache.hadoop.yarn.api.records.ReservationACL;
|
||||||
import org.apache.hadoop.yarn.api.records.Resource;
|
import org.apache.hadoop.yarn.api.records.Resource;
|
||||||
import org.apache.hadoop.yarn.security.AccessType;
|
import org.apache.hadoop.yarn.security.AccessType;
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationSchedulerConfiguration;
|
import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationSchedulerConfiguration;
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerUtils;
|
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.allocation.AllocationFileParser;
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.allocation.AllocationFileParser;
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.allocation.QueueProperties;
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.allocation.QueueProperties;
|
||||||
import org.apache.hadoop.yarn.util.resource.Resources;
|
import org.apache.hadoop.yarn.util.resource.Resources;
|
||||||
@ -171,24 +169,6 @@ public AllocationConfiguration(Configuration conf) {
|
|||||||
nonPreemptableQueues = new HashSet<>();
|
nonPreemptableQueues = new HashSet<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the ACLs associated with this queue. If a given ACL is not explicitly
|
|
||||||
* configured, include the default value for that ACL. The default for the
|
|
||||||
* root queue is everybody ("*") and the default for all other queues is
|
|
||||||
* nobody ("")
|
|
||||||
*/
|
|
||||||
public AccessControlList getQueueAcl(String queue, QueueACL operation) {
|
|
||||||
Map<AccessType, AccessControlList> acls = this.queueAcls.get(queue);
|
|
||||||
if (acls != null) {
|
|
||||||
AccessControlList operationAcl =
|
|
||||||
acls.get(SchedulerUtils.toAccessType(operation));
|
|
||||||
if (operationAcl != null) {
|
|
||||||
return operationAcl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return (queue.equals("root")) ? EVERYBODY_ACL : NOBODY_ACL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the map of ACLs of all queues.
|
* Get the map of ACLs of all queues.
|
||||||
* @return the map of ACLs of all queues
|
* @return the map of ACLs of all queues
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
import org.apache.hadoop.fs.Path;
|
import org.apache.hadoop.fs.Path;
|
||||||
import org.apache.hadoop.fs.UnsupportedFileSystemException;
|
import org.apache.hadoop.fs.UnsupportedFileSystemException;
|
||||||
import org.apache.hadoop.hdfs.MiniDFSCluster;
|
import org.apache.hadoop.hdfs.MiniDFSCluster;
|
||||||
import org.apache.hadoop.yarn.api.records.QueueACL;
|
|
||||||
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationSchedulerConfiguration;
|
import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationSchedulerConfiguration;
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.QueuePlacementRule.NestedUserQueue;
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.QueuePlacementRule.NestedUserQueue;
|
||||||
@ -356,26 +355,6 @@ public void testAllocationFileParsing() throws Exception {
|
|||||||
assertEquals(.4f, queueConf.getQueueMaxAMShare("root.queueD"), 0.01);
|
assertEquals(.4f, queueConf.getQueueMaxAMShare("root.queueD"), 0.01);
|
||||||
assertEquals(.5f, queueConf.getQueueMaxAMShare("root.queueE"), 0.01);
|
assertEquals(.5f, queueConf.getQueueMaxAMShare("root.queueE"), 0.01);
|
||||||
|
|
||||||
// Root should get * ACL
|
|
||||||
assertEquals("*", queueConf.getQueueAcl("root",
|
|
||||||
QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
||||||
assertEquals("*", queueConf.getQueueAcl("root",
|
|
||||||
QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
||||||
|
|
||||||
// Unspecified queues should get default ACL
|
|
||||||
assertEquals(" ", queueConf.getQueueAcl("root.queueA",
|
|
||||||
QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
||||||
assertEquals(" ", queueConf.getQueueAcl("root.queueA",
|
|
||||||
QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
||||||
|
|
||||||
// Queue B ACL
|
|
||||||
assertEquals("alice,bob admins", queueConf.getQueueAcl("root.queueB",
|
|
||||||
QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
||||||
|
|
||||||
// Queue C ACL
|
|
||||||
assertEquals("alice,bob admins", queueConf.getQueueAcl("root.queueC",
|
|
||||||
QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
||||||
|
|
||||||
assertEquals(120000, queueConf.getMinSharePreemptionTimeout("root"));
|
assertEquals(120000, queueConf.getMinSharePreemptionTimeout("root"));
|
||||||
assertEquals(-1, queueConf.getMinSharePreemptionTimeout("root." +
|
assertEquals(-1, queueConf.getMinSharePreemptionTimeout("root." +
|
||||||
YarnConfiguration.DEFAULT_QUEUE_NAME));
|
YarnConfiguration.DEFAULT_QUEUE_NAME));
|
||||||
@ -522,20 +501,6 @@ public void testBackwardsCompatibleAllocationFileParsing() throws Exception {
|
|||||||
assertEquals(10, queueConf.getUserMaxApps("user1"));
|
assertEquals(10, queueConf.getUserMaxApps("user1"));
|
||||||
assertEquals(5, queueConf.getUserMaxApps("user2"));
|
assertEquals(5, queueConf.getUserMaxApps("user2"));
|
||||||
|
|
||||||
// Unspecified queues should get default ACL
|
|
||||||
assertEquals(" ", queueConf.getQueueAcl("root.queueA",
|
|
||||||
QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
||||||
assertEquals(" ", queueConf.getQueueAcl("root.queueA",
|
|
||||||
QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
||||||
|
|
||||||
// Queue B ACL
|
|
||||||
assertEquals("alice,bob admins", queueConf.getQueueAcl("root.queueB",
|
|
||||||
QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
||||||
|
|
||||||
// Queue C ACL
|
|
||||||
assertEquals("alice,bob admins", queueConf.getQueueAcl("root.queueC",
|
|
||||||
QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
||||||
|
|
||||||
assertEquals(120000, queueConf.getMinSharePreemptionTimeout("root"));
|
assertEquals(120000, queueConf.getMinSharePreemptionTimeout("root"));
|
||||||
assertEquals(-1, queueConf.getMinSharePreemptionTimeout("root." +
|
assertEquals(-1, queueConf.getMinSharePreemptionTimeout("root." +
|
||||||
YarnConfiguration.DEFAULT_QUEUE_NAME));
|
YarnConfiguration.DEFAULT_QUEUE_NAME));
|
||||||
|
Loading…
Reference in New Issue
Block a user