|
@@ -865,22 +865,25 @@ public class TestFairScheduler {
|
|
|
assertEquals(10, queueManager.getUserMaxApps("user1"));
|
|
|
assertEquals(5, queueManager.getUserMaxApps("user2"));
|
|
|
|
|
|
+ // Root should get * ACL
|
|
|
+ assertEquals("*",queueManager.getQueueAcl("root",
|
|
|
+ QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
|
+ assertEquals("*", queueManager.getQueueAcl("root",
|
|
|
+ QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
|
+
|
|
|
// Unspecified queues should get default ACL
|
|
|
- Map<QueueACL, AccessControlList> aclsA = queueManager.getQueueAcls("root.queueA");
|
|
|
- assertTrue(aclsA.containsKey(QueueACL.ADMINISTER_QUEUE));
|
|
|
- assertEquals("*", aclsA.get(QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
|
- assertTrue(aclsA.containsKey(QueueACL.SUBMIT_APPLICATIONS));
|
|
|
- assertEquals("*", aclsA.get(QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
|
+ assertEquals(" ",queueManager.getQueueAcl("root.queueA",
|
|
|
+ QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
|
+ assertEquals(" ", queueManager.getQueueAcl("root.queueA",
|
|
|
+ QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
|
|
|
|
// Queue B ACL
|
|
|
- Map<QueueACL, AccessControlList> aclsB = queueManager.getQueueAcls("root.queueB");
|
|
|
- assertTrue(aclsB.containsKey(QueueACL.ADMINISTER_QUEUE));
|
|
|
- assertEquals("alice,bob admins", aclsB.get(QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
|
+ assertEquals("alice,bob admins",queueManager.getQueueAcl("root.queueB",
|
|
|
+ QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
|
|
|
|
- // Queue c ACL
|
|
|
- Map<QueueACL, AccessControlList> aclsC = queueManager.getQueueAcls("root.queueC");
|
|
|
- assertTrue(aclsC.containsKey(QueueACL.SUBMIT_APPLICATIONS));
|
|
|
- assertEquals("alice,bob admins", aclsC.get(QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
|
+ // Queue C ACL
|
|
|
+ assertEquals("alice,bob admins",queueManager.getQueueAcl("root.queueC",
|
|
|
+ QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
|
|
|
|
assertEquals(120000, queueManager.getMinSharePreemptionTimeout("root." +
|
|
|
YarnConfiguration.DEFAULT_QUEUE_NAME));
|
|
@@ -1063,21 +1066,19 @@ public class TestFairScheduler {
|
|
|
assertEquals(5, queueManager.getUserMaxApps("user2"));
|
|
|
|
|
|
// Unspecified queues should get default ACL
|
|
|
- Map<QueueACL, AccessControlList> aclsA = queueManager.getQueueAcls("queueA");
|
|
|
- assertTrue(aclsA.containsKey(QueueACL.ADMINISTER_QUEUE));
|
|
|
- assertEquals("*", aclsA.get(QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
|
- assertTrue(aclsA.containsKey(QueueACL.SUBMIT_APPLICATIONS));
|
|
|
- assertEquals("*", aclsA.get(QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
|
+ assertEquals(" ", queueManager.getQueueAcl("root.queueA",
|
|
|
+ QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
|
+ assertEquals(" ", queueManager.getQueueAcl("root.queueA",
|
|
|
+ QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
|
|
|
|
// Queue B ACL
|
|
|
- Map<QueueACL, AccessControlList> aclsB = queueManager.getQueueAcls("root.queueB");
|
|
|
- assertTrue(aclsB.containsKey(QueueACL.ADMINISTER_QUEUE));
|
|
|
- assertEquals("alice,bob admins", aclsB.get(QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
|
+ assertEquals("alice,bob admins", queueManager.getQueueAcl("root.queueB",
|
|
|
+ QueueACL.ADMINISTER_QUEUE).getAclString());
|
|
|
+
|
|
|
+ // Queue C ACL
|
|
|
+ assertEquals("alice,bob admins", queueManager.getQueueAcl("root.queueC",
|
|
|
+ QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
|
|
|
|
- // Queue c ACL
|
|
|
- Map<QueueACL, AccessControlList> aclsC = queueManager.getQueueAcls("root.queueC");
|
|
|
- assertTrue(aclsC.containsKey(QueueACL.SUBMIT_APPLICATIONS));
|
|
|
- assertEquals("alice,bob admins", aclsC.get(QueueACL.SUBMIT_APPLICATIONS).getAclString());
|
|
|
|
|
|
assertEquals(120000, queueManager.getMinSharePreemptionTimeout("root." +
|
|
|
YarnConfiguration.DEFAULT_QUEUE_NAME));
|
|
@@ -1664,9 +1665,13 @@ public class TestFairScheduler {
|
|
|
PrintWriter out = new PrintWriter(new FileWriter(ALLOC_FILE));
|
|
|
out.println("<?xml version=\"1.0\"?>");
|
|
|
out.println("<allocations>");
|
|
|
- out.println("<queue name=\"queue1\">");
|
|
|
- out.println("<aclSubmitApps>norealuserhasthisname</aclSubmitApps>");
|
|
|
- out.println("<aclAdministerApps>norealuserhasthisname</aclAdministerApps>");
|
|
|
+ out.println("<queue name=\"root\">");
|
|
|
+ out.println(" <aclSubmitApps> </aclSubmitApps>");
|
|
|
+ out.println(" <aclAdministerApps> </aclAdministerApps>");
|
|
|
+ out.println(" <queue name=\"queue1\">");
|
|
|
+ out.println(" <aclSubmitApps>norealuserhasthisname</aclSubmitApps>");
|
|
|
+ out.println(" <aclAdministerApps>norealuserhasthisname</aclAdministerApps>");
|
|
|
+ out.println(" </queue>");
|
|
|
out.println("</queue>");
|
|
|
out.println("</allocations>");
|
|
|
out.close();
|
|
@@ -1893,9 +1898,13 @@ public class TestFairScheduler {
|
|
|
PrintWriter out = new PrintWriter(new FileWriter(ALLOC_FILE));
|
|
|
out.println("<?xml version=\"1.0\"?>");
|
|
|
out.println("<allocations>");
|
|
|
- out.println("<queue name=\"queue1\">");
|
|
|
- out.println("<aclSubmitApps>userallow</aclSubmitApps>");
|
|
|
- out.println("<aclAdministerApps>userallow</aclAdministerApps>");
|
|
|
+ out.println("<queue name=\"root\">");
|
|
|
+ out.println(" <aclSubmitApps> </aclSubmitApps>");
|
|
|
+ out.println(" <aclAdministerApps> </aclAdministerApps>");
|
|
|
+ out.println(" <queue name=\"queue1\">");
|
|
|
+ out.println(" <aclSubmitApps>userallow</aclSubmitApps>");
|
|
|
+ out.println(" <aclAdministerApps>userallow</aclAdministerApps>");
|
|
|
+ out.println(" </queue>");
|
|
|
out.println("</queue>");
|
|
|
out.println("</allocations>");
|
|
|
out.close();
|