Repository: ambari
Updated Branches:
  refs/heads/trunk d855386b9 -> bea418b75


AMBARI-14092. Set yarn.resourcemanager.proxy-user-privileges.enabled to false 
in yarn-site when TDE is enabled (gautam via smohanty)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/bea418b7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/bea418b7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/bea418b7

Branch: refs/heads/trunk
Commit: bea418b75ed3ee9b2e4fa12d29a034bdfff96b4e
Parents: d855386
Author: Sumit Mohanty <[email protected]>
Authored: Fri Nov 27 09:11:25 2015 -0800
Committer: Sumit Mohanty <[email protected]>
Committed: Fri Nov 27 09:12:23 2015 -0800

----------------------------------------------------------------------
 .../stacks/HDP/2.3/services/stack_advisor.py    | 21 +++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/bea418b7/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py 
b/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py
index a5e419a..5047e9e 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py
@@ -552,6 +552,7 @@ class HDP23StackAdvisor(HDP22StackAdvisor):
     super(HDP23StackAdvisor, self).recommendYARNConfigurations(configurations, 
clusterData, services, hosts)
     putYarnSiteProperty = self.putProperty(configurations, "yarn-site", 
services)
     putYarnSitePropertyAttributes = self.putPropertyAttribute(configurations, 
"yarn-site")
+    servicesList = [service["StackServices"]["service_name"] for service in 
services["services"]]
 
     if "tez-site" not in services["configurations"]:
       
putYarnSiteProperty('yarn.timeline-service.entity-group-fs-store.group-id-plugin-classes',
 '')
@@ -575,6 +576,10 @@ class HDP23StackAdvisor(HDP22StackAdvisor):
     else:
       putYarnSitePropertyAttributes('yarn.authorization-provider', 'delete', 
'true')
 
+    if 'RANGER_KMS' in servicesList and 'KERBEROS' in servicesList:
+      if 'yarn-site' in services["configurations"] and 
'yarn.resourcemanager.proxy-user-privileges.enabled' in 
services["configurations"]["yarn-site"]["properties"]:
+        
putYarnSiteProperty('yarn.resourcemanager.proxy-user-privileges.enabled', 
'false')
+
   def getServiceConfigurationValidators(self):
       parentValidators = super(HDP23StackAdvisor, 
self).getServiceConfigurationValidators()
       childValidators = {
@@ -582,7 +587,8 @@ class HDP23StackAdvisor(HDP22StackAdvisor):
         "HIVE": {"hiveserver2-site": self.validateHiveServer2Configurations,
                  "hive-site": self.validateHiveConfigurations},
         "HBASE": {"hbase-site": self.validateHBASEConfigurations},
-        "KAKFA": {"kafka-broker": self.validateKAFKAConfigurations}
+        "KAKFA": {"kafka-broker": self.validateKAFKAConfigurations},
+        "YARN": {"yarn-site": self.validateYARNConfigurations}
       }
       self.mergeValidators(parentValidators, childValidators)
       return parentValidators
@@ -757,6 +763,19 @@ class HDP23StackAdvisor(HDP22StackAdvisor):
 
     return self.toConfigurationValidationProblems(validationItems, 
"kafka-broker")
 
+  def validateYARNConfigurations(self, properties, recommendedDefaults, 
configurations, services, hosts):
+    yarn_site = properties
+    validationItems = []
+    servicesList = [service["StackServices"]["service_name"] for service in 
services["services"]]
+    if 'RANGER_KMS' in servicesList and 'KERBEROS' in servicesList:
+      yarn_resource_proxy_enabled = 
yarn_site['yarn.resourcemanager.proxy-user-privileges.enabled']
+      if yarn_resource_proxy_enabled.lower() == 'true':
+        validationItems.append({"config-name": 
'yarn.resourcemanager.proxy-user-privileges.enabled',
+          "item": self.getWarnItem("If Ranger KMS service is installed set 
yarn.resourcemanager.proxy-user-privileges.enabled "\
+          "property value as false under yarn-site"
+        )})
+
+    return self.toConfigurationValidationProblems(validationItems, "yarn-site")
 
   def isComponentUsingCardinalityForLayout(self, componentName):
     return componentName in ['NFS_GATEWAY', 'PHOENIX_QUERY_SERVER', 
'SPARK_THRIFTSERVER']

Reply via email to