You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by su...@apache.org on 2017/01/06 03:15:32 UTC
[08/50] [abbrv] hadoop git commit: YARN-5988. RM unable to start in
secure setup. Contributed by Ajith S.
YARN-5988. RM unable to start in secure setup. Contributed by Ajith S.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e49e0a6e
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e49e0a6e
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e49e0a6e
Branch: refs/heads/YARN-2915
Commit: e49e0a6e37f4a32535d7d4a07015fbf9eb33c74a
Parents: 01d31fe
Author: Rohith Sharma K S <ro...@apache.org>
Authored: Wed Jan 4 10:29:31 2017 +0530
Committer: Rohith Sharma K S <ro...@apache.org>
Committed: Wed Jan 4 12:09:29 2017 +0530
----------------------------------------------------------------------
.../server/resourcemanager/AdminService.java | 8 +++
.../resourcemanager/TestRMAdminService.java | 56 +++++++++++++++-----
2 files changed, 50 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/e49e0a6e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/AdminService.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/AdminService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/AdminService.java
index 028b6f0..04ee5d8 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/AdminService.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/AdminService.java
@@ -536,6 +536,7 @@ public class AdminService extends CompositeService implements
checkRMStatus(user.getShortUserName(), operation, "refresh Service ACLs.");
refreshServiceAcls();
+ refreshActiveServicesAcls();
RMAuditLogger.logSuccess(user.getShortUserName(), operation,
"AdminService");
@@ -549,6 +550,13 @@ public class AdminService extends CompositeService implements
YarnConfiguration.HADOOP_POLICY_CONFIGURATION_FILE);
refreshServiceAcls(conf, policyProvider);
+ }
+
+ private void refreshActiveServicesAcls() throws IOException, YarnException {
+ PolicyProvider policyProvider = RMPolicyProvider.getInstance();
+ Configuration conf =
+ getConfiguration(new Configuration(false),
+ YarnConfiguration.HADOOP_POLICY_CONFIGURATION_FILE);
rmContext.getClientRMService().refreshServiceAcls(conf, policyProvider);
rmContext.getApplicationMasterService().refreshServiceAcls(
conf, policyProvider);
http://git-wip-us.apache.org/repos/asf/hadoop/blob/e49e0a6e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java
index fa01b55..9ae28c2 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java
@@ -770,20 +770,7 @@ public class TestRMAdminService {
YarnException {
StateChangeRequestInfo requestInfo = new StateChangeRequestInfo(
HAServiceProtocol.RequestSource.REQUEST_BY_USER);
- configuration.set(YarnConfiguration.RM_CONFIGURATION_PROVIDER_CLASS,
- "org.apache.hadoop.yarn.FileSystemBasedConfigurationProvider");
- configuration.setBoolean(YarnConfiguration.RM_HA_ENABLED, true);
- configuration.setBoolean(YarnConfiguration.AUTO_FAILOVER_ENABLED, false);
- configuration.set(YarnConfiguration.RM_HA_IDS, "rm1,rm2");
- int base = 100;
- for (String confKey : YarnConfiguration
- .getServiceAddressConfKeys(configuration)) {
- configuration.set(HAUtil.addSuffix(confKey, "rm1"), "0.0.0.0:"
- + (base + 20));
- configuration.set(HAUtil.addSuffix(confKey, "rm2"), "0.0.0.0:"
- + (base + 40));
- base = base * 2;
- }
+ updateConfigurationForRMHA();
Configuration conf1 = new Configuration(configuration);
conf1.set(YarnConfiguration.RM_HA_ID, "rm1");
Configuration conf2 = new Configuration(configuration);
@@ -1340,4 +1327,45 @@ public class TestRMAdminService {
}
}
+ @Test
+ public void testSecureRMBecomeActive() throws IOException,
+ YarnException {
+ StateChangeRequestInfo requestInfo = new StateChangeRequestInfo(
+ HAServiceProtocol.RequestSource.REQUEST_BY_USER);
+ updateConfigurationForRMHA();
+ configuration.setBoolean(
+ CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHORIZATION, true);
+ configuration.set(YarnConfiguration.RM_HA_ID, "rm1");
+ // upload default configurations
+ uploadDefaultConfiguration();
+
+ ResourceManager resourceManager = new ResourceManager();
+ try {
+ resourceManager.init(configuration);
+ resourceManager.start();
+ Assert.assertTrue(resourceManager.getRMContext().getHAServiceState()
+ == HAServiceState.STANDBY);
+ resourceManager.adminService.transitionToActive(requestInfo);
+ } finally {
+ resourceManager.close();
+ }
+ }
+
+ private void updateConfigurationForRMHA() {
+ configuration.set(YarnConfiguration.RM_CONFIGURATION_PROVIDER_CLASS,
+ "org.apache.hadoop.yarn.FileSystemBasedConfigurationProvider");
+ configuration.setBoolean(YarnConfiguration.RM_HA_ENABLED, true);
+ configuration.setBoolean(YarnConfiguration.AUTO_FAILOVER_ENABLED, false);
+ configuration.set(YarnConfiguration.RM_HA_IDS, "rm1,rm2");
+
+ int base = 1500;
+ for (String confKey : YarnConfiguration
+ .getServiceAddressConfKeys(configuration)) {
+ configuration.set(HAUtil.addSuffix(confKey, "rm1"),
+ "0.0.0.0:" + (base + 20));
+ configuration.set(HAUtil.addSuffix(confKey, "rm2"),
+ "0.0.0.1:" + (base + 40));
+ base = base * 2;
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org