Repository: ambari
Updated Branches:
  refs/heads/branch-1.7.0 b5d334712 -> 155672eba
  refs/heads/trunk 724ef0870 -> 53b163866


AMBARI-7921. Ambari should not inherit any tez configs from the 2.1 stack 
(aonishuk)


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

Branch: refs/heads/trunk
Commit: 53b163866e2beab179631f4ea4b088a3764e778c
Parents: 724ef08
Author: Andrew Onishuk <[email protected]>
Authored: Thu Oct 23 19:19:36 2014 +0300
Committer: Andrew Onishuk <[email protected]>
Committed: Thu Oct 23 19:19:36 2014 +0300

----------------------------------------------------------------------
 .../server/api/util/StackExtensionHelper.java   | 21 ++++++++++-----
 .../src/main/resources/properties.json          |  1 +
 .../2.2/services/TEZ/configuration/tez-site.xml |  2 +-
 .../api/util/StackExtensionHelperTest.java      | 28 ++++++++++++++++++++
 .../services/YARN/configuration/yarn-site.xml   |  2 +-
 5 files changed, 45 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/53b16386/ambari-server/src/main/java/org/apache/ambari/server/api/util/StackExtensionHelper.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/api/util/StackExtensionHelper.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/api/util/StackExtensionHelper.java
index 35ae9a7..17faa18 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/api/util/StackExtensionHelper.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/api/util/StackExtensionHelper.java
@@ -143,7 +143,7 @@ public class StackExtensionHelper {
       resultStack.getConfigTypes().putAll(parentStack.getConfigTypes());
     }
     List<PropertyInfo> mergedProperties = new ArrayList<PropertyInfo>();
-    mergeProperties(resultStack.getProperties(), parentStack.getProperties(), 
mergedProperties);
+    mergeProperties(resultStack.getProperties(), parentStack.getProperties(), 
mergedProperties, resultStack.getConfigTypes());
     resultStack.setProperties(mergedProperties);
   }
 
@@ -239,9 +239,8 @@ public class StackExtensionHelper {
       mergedServiceInfo.setAlertsFile(parentService.getAlertsFile());
 
     populateComponents(mergedServiceInfo, parentService, childService);
-
-    mergeProperties(childService.getProperties(), 
parentService.getProperties(), mergedServiceInfo.getProperties());
-
+    mergeProperties(childService.getProperties(), 
parentService.getProperties(),
+        mergedServiceInfo.getProperties(), childService.getConfigTypes());
     // Add all parent config dependencies
     if (parentService.getConfigDependencies() != null && !parentService
         .getConfigDependencies().isEmpty()) {
@@ -255,7 +254,8 @@ public class StackExtensionHelper {
   }
   
   public void mergeProperties(List<PropertyInfo> childProperties, 
-      List<PropertyInfo> parentProperties, List<PropertyInfo> 
mergedProperties) {
+                              List<PropertyInfo> parentProperties, 
List<PropertyInfo> mergedProperties, Map<String,
+      Map<String, Map<String, String>>> childConfigTypes) {
     // Add child properties not deleted
     Map<String, Set<String>> deleteMap = new HashMap<String, Set<String>>();
     Map<String, Set<String>> appendMap = new HashMap<String, Set<String>>();
@@ -281,10 +281,16 @@ public class StackExtensionHelper {
     }
     // Add all parent properties
     for (PropertyInfo parentPropertyInfo : parentProperties) {
+      String configType = 
ConfigHelper.fileNameToConfigType(parentPropertyInfo.getFilename());
+      boolean disableInherit = false;
+      if (childConfigTypes.containsKey(configType)){
+        disableInherit =
+          
childConfigTypes.get(configType).get(Supports.KEYWORD).get(Supports.DO_NOT_EXTEND.getPropertyName()).equals("true");
+      }
       if (!deleteMap.containsKey(parentPropertyInfo.getName()) && !(appendMap
           .containsKey(parentPropertyInfo.getName())
         && appendMap.get(parentPropertyInfo.getName())
-          .contains(parentPropertyInfo.getFilename()))) {
+          .contains(parentPropertyInfo.getFilename())) && !disableInherit) {
         mergedProperties.add(parentPropertyInfo);
       }
     }
@@ -927,7 +933,8 @@ public class StackExtensionHelper {
   protected enum Supports {
 
     FINAL("supports_final"),
-    ADDING_FORBIDDEN("supports_adding_forbidden");
+    ADDING_FORBIDDEN("supports_adding_forbidden"),
+    DO_NOT_EXTEND("supports_do_not_extend");
 
     public static final String KEYWORD = "supports";
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/53b16386/ambari-server/src/main/resources/properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/properties.json 
b/ambari-server/src/main/resources/properties.json
index e9b967f..36cff96 100644
--- a/ambari-server/src/main/resources/properties.json
+++ b/ambari-server/src/main/resources/properties.json
@@ -249,6 +249,7 @@
         "StackConfigurations/type",
         "StackConfigurations/final",
         "StackConfigurations/adding_forbidden",
+        "StackConfigurations/do_not_extend",
         "StackConfigurations/property_type",
         "_"
     ],

http://git-wip-us.apache.org/repos/asf/ambari/blob/53b16386/ambari-server/src/main/resources/stacks/HDP/2.2/services/TEZ/configuration/tez-site.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/TEZ/configuration/tez-site.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/TEZ/configuration/tez-site.xml
index 34e63d7..1035412 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/TEZ/configuration/tez-site.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/TEZ/configuration/tez-site.xml
@@ -17,7 +17,7 @@
   limitations under the License.
 -->
 
-<configuration supports_final="true">
+<configuration supports_final="true" supports_do_not_extend="true">
 
   <property>
     <name>tez.lib.uris</name>

http://git-wip-us.apache.org/repos/asf/ambari/blob/53b16386/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
index acd595d..f05aab5 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
@@ -391,18 +391,26 @@ public class StackExtensionHelperTest {
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "true");
     addToPropertyMap(expectedConfigTypes, "global", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "global", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     addToPropertyMap(expectedConfigTypes, "hdfs-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "false");
     addToPropertyMap(expectedConfigTypes, "hdfs-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "hdfs-site", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     addToPropertyMap(expectedConfigTypes, "hadoop-policy", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "false");
     addToPropertyMap(expectedConfigTypes, "hadoop-policy", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "hadoop-policy", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     addToPropertyMap(expectedConfigTypes, "core-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "false");
     addToPropertyMap(expectedConfigTypes, "core-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "core-site", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     
     Map<String, Map<String, Map<String, String>>> configTypes = 
serviceInfo.getConfigTypes();
     assertEquals(4, configTypes.size());
@@ -518,6 +526,8 @@ public class StackExtensionHelperTest {
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "false");
     addToPropertyMap(expectedConfigTypes, "yarn-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"true");
+    addToPropertyMap(expectedConfigTypes, "yarn-site", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), "true");
     
     assertEquals(expectedConfigTypes, serviceInfo.getConfigTypes());
   }
@@ -536,18 +546,26 @@ public class StackExtensionHelperTest {
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "true");
     addToPropertyMap(expectedConfigTypes, "global", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "global", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     addToPropertyMap(expectedConfigTypes, "hdfs-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "false");
     addToPropertyMap(expectedConfigTypes, "hdfs-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "hdfs-site", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     addToPropertyMap(expectedConfigTypes, "hadoop-policy", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "false");
     addToPropertyMap(expectedConfigTypes, "hadoop-policy", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "hadoop-policy", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     addToPropertyMap(expectedConfigTypes, "core-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "false");
     addToPropertyMap(expectedConfigTypes, "core-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "core-site", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     
     assertEquals(expectedConfigTypes, serviceInfo.getConfigTypes());
   }
@@ -565,22 +583,32 @@ public class StackExtensionHelperTest {
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "true");
     addToPropertyMap(expectedConfigTypes, "global", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "global", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     addToPropertyMap(expectedConfigTypes, "hdfs-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "false");
     addToPropertyMap(expectedConfigTypes, "hdfs-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "hdfs-site", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     addToPropertyMap(expectedConfigTypes, "hadoop-policy", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "false");
     addToPropertyMap(expectedConfigTypes, "hadoop-policy", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "hadoop-policy", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     addToPropertyMap(expectedConfigTypes, "core-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "false");
     addToPropertyMap(expectedConfigTypes, "core-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"false");
+    addToPropertyMap(expectedConfigTypes, "core-site", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), 
"false");
     addToPropertyMap(expectedConfigTypes, "yarn-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.FINAL.getPropertyName(), "false");
     addToPropertyMap(expectedConfigTypes, "yarn-site", 
StackExtensionHelper.Supports.KEYWORD, 
         StackExtensionHelper.Supports.ADDING_FORBIDDEN.getPropertyName(), 
"true");
+    addToPropertyMap(expectedConfigTypes, "yarn-site", 
StackExtensionHelper.Supports.KEYWORD,
+        StackExtensionHelper.Supports.DO_NOT_EXTEND.getPropertyName(), "true");
     
     assertEquals(expectedConfigTypes, serviceInfo.getConfigTypes());
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/53b16386/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/YARN/configuration/yarn-site.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/YARN/configuration/yarn-site.xml
 
b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/YARN/configuration/yarn-site.xml
index 3abb60b..303a802 100644
--- 
a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/YARN/configuration/yarn-site.xml
+++ 
b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/YARN/configuration/yarn-site.xml
@@ -19,7 +19,7 @@
 
 <!-- Put site-specific property overrides in this file. -->
 
-<configuration xmlns:xi="http://www.w3.org/2001/XInclude"; 
supports_adding_forbidden="true">
+<configuration xmlns:xi="http://www.w3.org/2001/XInclude"; 
supports_adding_forbidden="true" supports_do_not_extend="true">
 
 <!-- ResourceManager -->
 

Reply via email to