|
@@ -20,6 +20,7 @@ package org.apache.hadoop.yarn.server.resourcemanager;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.security.PrivilegedAction;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
|
|
|
import org.apache.commons.logging.Log;
|
|
@@ -36,10 +37,12 @@ import org.apache.hadoop.yarn.api.ContainerManager;
|
|
|
import org.apache.hadoop.yarn.api.protocolrecords.GetContainerStatusRequest;
|
|
|
import org.apache.hadoop.yarn.api.protocolrecords.GetContainerStatusResponse;
|
|
|
import org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterRequest;
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterResponse;
|
|
|
import org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest;
|
|
|
import org.apache.hadoop.yarn.api.protocolrecords.StartContainerResponse;
|
|
|
import org.apache.hadoop.yarn.api.protocolrecords.StopContainerRequest;
|
|
|
import org.apache.hadoop.yarn.api.protocolrecords.StopContainerResponse;
|
|
|
+import org.apache.hadoop.yarn.api.records.ApplicationAccessType;
|
|
|
import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
|
|
|
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
|
|
import org.apache.hadoop.yarn.exceptions.YarnRemoteException;
|
|
@@ -121,7 +124,10 @@ public class TestAMAuthorization {
|
|
|
|
|
|
MockNM nm1 = rm.registerNode("localhost:1234", 5120);
|
|
|
|
|
|
- RMApp app = rm.submitApp(1024);
|
|
|
+ Map<ApplicationAccessType, String> acls =
|
|
|
+ new HashMap<ApplicationAccessType, String>(2);
|
|
|
+ acls.put(ApplicationAccessType.VIEW_APP, "*");
|
|
|
+ RMApp app = rm.submitApp(1024, "appname", "appuser", acls);
|
|
|
|
|
|
nm1.nodeHeartbeat(true);
|
|
|
|
|
@@ -164,7 +170,10 @@ public class TestAMAuthorization {
|
|
|
RegisterApplicationMasterRequest request = Records
|
|
|
.newRecord(RegisterApplicationMasterRequest.class);
|
|
|
request.setApplicationAttemptId(applicationAttemptId);
|
|
|
- client.registerApplicationMaster(request);
|
|
|
+ RegisterApplicationMasterResponse response =
|
|
|
+ client.registerApplicationMaster(request);
|
|
|
+ Assert.assertEquals("Register response has bad ACLs", "*",
|
|
|
+ response.getApplicationACLs().get(ApplicationAccessType.VIEW_APP));
|
|
|
|
|
|
rm.stop();
|
|
|
}
|