Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 8B21A200BEF for ; Wed, 4 Jan 2017 07:40:18 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 89984160B3A; Wed, 4 Jan 2017 06:40:18 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id ACEBF160B39 for ; Wed, 4 Jan 2017 07:40:17 +0100 (CET) Received: (qmail 87686 invoked by uid 500); 4 Jan 2017 06:40:16 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 87677 invoked by uid 99); 4 Jan 2017 06:40:16 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Jan 2017 06:40:16 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 72D1FDFACD; Wed, 4 Jan 2017 06:40:16 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: rohithsharmaks@apache.org To: common-commits@hadoop.apache.org Message-Id: <53beebf4f09e45bdbdee9d92642f7458@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: hadoop git commit: YARN-5988. RM unable to start in secure setup. Contributed by Ajith S. Date: Wed, 4 Jan 2017 06:40:16 +0000 (UTC) archived-at: Wed, 04 Jan 2017 06:40:18 -0000 Repository: hadoop Updated Branches: refs/heads/branch-2 3e2d26a97 -> 320776219 YARN-5988. RM unable to start in secure setup. Contributed by Ajith S. (cherry picked from commit e49e0a6e37f4a32535d7d4a07015fbf9eb33c74a) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/32077621 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/32077621 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/32077621 Branch: refs/heads/branch-2 Commit: 3207762192927c1e942311cfc3749327cffe9310 Parents: 3e2d26a Author: Rohith Sharma K S Authored: Wed Jan 4 10:29:31 2017 +0530 Committer: Rohith Sharma K S Committed: Wed Jan 4 12:10:05 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/32077621/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/32077621/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