http://git-wip-us.apache.org/repos/asf/ambari/blob/ed7c64ad/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/GLUSTERFS/configuration/core-site.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/GLUSTERFS/configuration/core-site.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/GLUSTERFS/configuration/core-site.xml
index 7a7f4c9..f0b16c6 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/GLUSTERFS/configuration/core-site.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/GLUSTERFS/configuration/core-site.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0"?>
 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-
- <!--
+<!--
     Licensed to the Apache Software Foundation (ASF) under one or more
     contributor license agreements.  See the NOTICE file distributed with
     this work for additional information regarding copyright ownership.
@@ -17,39 +16,38 @@
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
- 
 <!-- Put site-specific property overrides in this file. -->
-
-<configuration supports_final="true" 
xmlns:xi="http://www.w3.org/2001/XInclude";>
-
-<!-- file system properties -->
-
+<configuration xmlns:xi="http://www.w3.org/2001/XInclude"; 
supports_final="true">
+  <!-- file system properties -->
   <property>
-  <name>fs.AbstractFileSystem.glusterfs.impl</name>
-  <value>org.apache.hadoop.fs.local.GlusterFs</value>
-  <display-name>GlusterFS Abstract File System Implementation</display-name>
+    <name>fs.AbstractFileSystem.glusterfs.impl</name>
+    <value>org.apache.hadoop.fs.local.GlusterFs</value>
+    <display-name>GlusterFS Abstract File System Implementation</display-name>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
-  <name>fs.glusterfs.impl</name>
-  <display-name>GlusterFS fs impl</display-name>
-  <value>org.apache.hadoop.fs.glusterfs.GlusterFileSystem</value>
+    <name>fs.glusterfs.impl</name>
+    <display-name>GlusterFS fs impl</display-name>
+    <value>org.apache.hadoop.fs.glusterfs.GlusterFileSystem</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-  
   <property>
     <name>fs.defaultFS</name>
     <value>glusterfs:///localhost:8020</value>
-  </property>  
-
-<!-- HDFS core-site props and additional props (not sure if all are needed or 
not)-->
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
+  </property>
+  <!-- HDFS core-site props and additional props (not sure if all are needed 
or not)-->
   <property>
     <name>ha.failover-controller.active-standby-elector.zk.op.retries</name>
     <value>120</value>
     <description>ZooKeeper Failover Controller retries setting for your 
environment</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
-<!-- i/o properties -->
-
+  <!-- i/o properties -->
   <property>
     <name>io.file.buffer.size</name>
     <value>131072</value>
@@ -57,22 +55,25 @@
   The size of this buffer should probably be a multiple of hardware
   page size (4096 on Intel x86), and it determines how much data is
   buffered during read and write operations.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>io.serializations</name>
     <value>org.apache.hadoop.io.serializer.WritableSerialization</value>
     <description> A list of comma-delimited serialization classes that can be 
used for obtaining serializers and deserializers.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>io.compression.codecs</name>
     
<value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec</value>
     <description>A list of the compression codec classes that can be used
                  for compression/decompression.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>fs.trash.interval</name>
     <value>360</value>
@@ -82,8 +83,9 @@
         If trash is disabled server side then the client side configuration is 
checked.
         If trash is enabled on the server side then the value configured on 
the server is used and the client configuration value is ignored.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <!-- ipc properties: copied from kryptonite configuration -->
   <property>
     <name>ipc.client.idlethreshold</name>
@@ -91,22 +93,25 @@
     <description>Defines the threshold number of connections after which
                connections will be inspected for idleness.
   </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>ipc.client.connection.maxidletime</name>
     <value>30000</value>
     <description>The maximum time after which a client will bring down the
                connection to the server.
   </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>ipc.client.connect.max.retries</name>
     <value>50</value>
     <description>Defines the maximum number of retries for IPC 
connections.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>ipc.server.tcpnodelay</name>
     <value>true</value>
@@ -116,8 +121,9 @@
       decrease latency
       with a cost of more/smaller packets.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <!-- Web Interface Configuration -->
   <property>
     <name>mapreduce.jobtracker.webinterface.trusted</name>
@@ -127,28 +133,32 @@
                 not be exposed to public. Enable this option if the interfaces
                 are only reachable by those who have the right authorization.
   </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
- <property>
-   <name>hadoop.security.authentication</name>
-   <value>simple</value>
-   <description>
+  <property>
+    <name>hadoop.security.authentication</name>
+    <value>simple</value>
+    <description>
    Set the authentication for the cluster. Valid values are: simple or
    kerberos.
    </description>
- </property>
-<property>
-  <name>hadoop.security.authorization</name>
-  <value>false</value>
-  <description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
+  </property>
+  <property>
+    <name>hadoop.security.authorization</name>
+    <value>false</value>
+    <description>
      Enable authorization for different protocols.
   </description>
-</property>
-
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
+  </property>
   <property>
     <name>hadoop.security.auth_to_local</name>
     <value>DEFAULT</value>
-<description>The mapping from kerberos principal names to local OS 
mapreduce.job.user.names.
+    <description>The mapping from kerberos principal names to local OS 
mapreduce.job.user.names.
   So the default rule is just "DEFAULT" which takes all principals in your 
default domain to their first component.
   "omal...@apache.org" and "omalley/ad...@apache.org" to "omalley", if your 
default domain is APACHE.ORG.
 The translations rules have 3 sections:
@@ -186,6 +196,8 @@ If you want to treat all principals from APACHE.ORG with 
/admin as "admin", your
 RULE[2:$1%$2@$0](.%ad...@apache.org)s/./admin/
 DEFAULT
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>net.topology.script.file.name</name>
@@ -193,7 +205,7 @@ DEFAULT
     <description>
       Location of topology script used by Hadoop to determine the rack 
location of nodes.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
-
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ed7c64ad/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/GLUSTERFS/configuration/hadoop-env.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/GLUSTERFS/configuration/hadoop-env.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/GLUSTERFS/configuration/hadoop-env.xml
index 3ec6a8e..58bda2b 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/GLUSTERFS/configuration/hadoop-env.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/GLUSTERFS/configuration/hadoop-env.xml
@@ -19,7 +19,6 @@
  * limitations under the License.
  */
 -->
-
 <configuration supports_final="false" supports_adding_forbidden="true">
   <property>
     <name>hadoop_pid_dir_prefix</name>
@@ -31,15 +30,19 @@
       <editable-only-at-install>true</editable-only-at-install>
       <visible>false</visible>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
- <property>
+  <property>
     <name>hadoop_heapsize</name>
     <value>1024</value>
     <display-name>Hadoop maximum Java heap size</display-name>
     <description>Hadoop maximum Java heap size</description>
-   <value-attributes>
-     <unit>MB</unit>
-   </value-attributes>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>glusterfs_user</name>
@@ -49,6 +52,8 @@
     <value-attributes>
       <visible>false</visible>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hdfs_log_dir_prefix</name>
@@ -60,6 +65,8 @@
       <editable-only-at-install>true</editable-only-at-install>
       <visible>false</visible>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>namenode_heapsize</name>
@@ -71,16 +78,22 @@
       <editable-only-at-install>true</editable-only-at-install>
       <visible>false</visible>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>namenode_host</name>
-    <value></value>
+    <value/>
     <description>NameNode Host.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>snamenode_host</name>
-    <value></value>
+    <value/>
     <description>Secondary NameNode.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>proxyuser_group</name>
@@ -90,12 +103,16 @@
     <value-attributes>
       <overridable>false</overridable>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hdfs_user</name>
     <display-name>HDFS User</display-name>
     <value>hdfs</value>
     <description>User to run HDFS as</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <!--
   <property>
@@ -104,7 +121,7 @@
     <description>Proxy user group.</description>
   </property>
   -->
-    <!-- hadoop-env.sh -->
+  <!-- hadoop-env.sh -->
   <property>
     <name>content</name>
     <display-name>hadoop-env template</display-name>
@@ -198,12 +215,12 @@ export HADOOP_IDENT_STRING=$USER
 # Use libraries from standard classpath
 JAVA_JDBC_LIBS=""
 #Add libraries required by mysql connector
-for jarFile in `ls /usr/share/java/*mysql* 2>/dev/null`
+for jarFile in `ls /usr/share/java/*mysql* 2&gt;/dev/null`
 do
   JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile
 done
 #Add libraries required by oracle connector
-for jarFile in `ls /usr/share/java/*ojdbc* 2>/dev/null`
+for jarFile in `ls /usr/share/java/*ojdbc* 2&gt;/dev/null`
 do
   JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile
 done
@@ -222,8 +239,9 @@ export HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}
 export 
JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}:/usr/lib/hadoop/lib/native/Linux-amd64-64
     </value>
     <value-attributes>
-        <type>content</type>
+      <type>content</type>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ed7c64ad/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HBASE/configuration/hbase-site.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HBASE/configuration/hbase-site.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HBASE/configuration/hbase-site.xml
index 1895169..0304816 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HBASE/configuration/hbase-site.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HBASE/configuration/hbase-site.xml
@@ -32,6 +32,8 @@
     into /tmp.  Change this configuration else all data will be lost
     on machine restart.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.cluster.distributed</name>
@@ -41,11 +43,15 @@
       false, startup will run all HBase and ZooKeeper daemons together
       in the one JVM.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.master.port</name>
     <value>16000</value>
     <description>The port the HBase Master should bind to.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.tmp.dir</name>
@@ -59,28 +65,38 @@
     <value-attributes>
       <type>directory</type>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.local.dir</name>
     <value>${hbase.tmp.dir}/local</value>
     <description>Directory on the local filesystem to be used as a local 
storage
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.master.info.bindAddress</name>
     <value>0.0.0.0</value>
     <description>The bind address for the HBase Master web UI
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.master.info.port</name>
     <value>16010</value>
     <description>The port for the HBase Master web UI.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.regionserver.info.port</name>
     <value>16030</value>
     <description>The port for the HBase RegionServer web UI.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.regionserver.global.memstore.upperLimit</name>
@@ -88,6 +104,8 @@
     <description>Maximum size of all memstores in a region server before new
       updates are blocked and flushes are forced. Defaults to 40% of heap
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.regionserver.handler.count</name>
@@ -96,6 +114,8 @@
     Same property is used by the Master for count of master handlers.
     Default is 10.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.hregion.majorcompaction</name>
@@ -104,8 +124,9 @@
     HStoreFiles in a region.  Default: 1 day.
     Set to 0 to disable automated major compactions.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-  
   <property>
     <name>hbase.regionserver.global.memstore.lowerLimit</name>
     <value>0.38</value>
@@ -115,6 +136,8 @@
       the minimum possible flushing to occur when updates are blocked due to
       memstore limiting.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.hregion.memstore.block.multiplier</name>
@@ -126,6 +149,8 @@
     resultant flush files take a long time to compact or split, or
     worse, we OOME
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.hregion.memstore.flush.size</name>
@@ -135,6 +160,8 @@
     exceeds this number of bytes.  Value is checked by a thread that runs
     every hbase.server.thread.wakefrequency.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.hregion.memstore.mslab.enabled</name>
@@ -145,6 +172,8 @@
       heavy write loads. This can reduce the frequency of stop-the-world
       GC pauses on large heaps.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.hregion.max.filesize</name>
@@ -154,6 +183,8 @@
     grown to exceed this value, the hosting HRegion is split in two.
     Default: 1G.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.client.scanner.caching</name>
@@ -165,6 +196,8 @@
     Do not set this value such that the time between invocations is greater
     than the scanner timeout; i.e. hbase.regionserver.lease.period
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>zookeeper.session.timeout</name>
@@ -176,6 +209,8 @@
       "The client sends a requested timeout, the server responds with the
       timeout that it can give the client. " In milliseconds.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.client.keyvalue.maxsize</name>
@@ -187,6 +222,8 @@
     to set this to a fraction of the maximum region size. Setting it to zero
     or less disables the check.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.hstore.compactionThreshold</name>
@@ -197,6 +234,8 @@
     is run to rewrite all HStoreFiles files as one.  Larger numbers
     put off compaction but when it runs, it takes longer to complete.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.hstore.flush.retries.number</name>
@@ -204,8 +243,9 @@
     <description>
     The number of times the region flush operation will be retried.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-  
   <property>
     <name>hbase.hstore.blockingStoreFiles</name>
     <value>10</value>
@@ -215,6 +255,8 @@
     blocked for this HRegion until a compaction is completed, or
     until hbase.hstore.blockingWaitTime has been exceeded.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hfile.block.cache.size</name>
@@ -224,8 +266,9 @@
         used by HFile/StoreFile. Default of 0.25 means allocate 25%.
         Set to 0 to disable but it's not recommended.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <!-- The following properties configure authentication information for
        HBase processes when using Kerberos security.  There are no default
        values, included here for documentation purposes -->
@@ -235,6 +278,8 @@
     <description>Full path to the kerberos keytab file to use for logging in
     the configured HMaster server principal.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.master.kerberos.principal</name>
@@ -245,6 +290,8 @@
     portion, it will be replaced with the actual hostname of the running
     instance.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.regionserver.keytab.file</name>
@@ -252,6 +299,8 @@
     <description>Full path to the kerberos keytab file to use for logging in
     the configured HRegionServer server principal.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hbase.regionserver.kerberos.principal</name>
@@ -263,8 +312,9 @@
     running instance.  An entry for this principal must exist in the file
     specified in hbase.regionserver.keytab.file
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <!-- Additional configuration specific to HBase security -->
   <property>
     <name>hbase.superuser</name>
@@ -273,37 +323,41 @@
     full privileges, regardless of stored ACLs, across the cluster.
     Only used when HBase security is enabled.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hbase.security.authentication</name>
     <value>simple</value>
     <description>  Controls whether or not secure authentication is enabled 
for HBase. Possible values are 'simple'
       (no authentication), and 'kerberos'.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hbase.security.authorization</name>
     <value>false</value>
     <description>Enables HBase authorization. Set the value of this property 
to false to disable HBase authorization.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hbase.coprocessor.region.classes</name>
-    <value></value>
+    <value/>
     <description>A comma-separated list of Coprocessors that are loaded by
     default on all tables. For any override coprocessor method, these classes
     will be called in order. After implementing your own Coprocessor, just put
     it in HBase's classpath and add the fully qualified class name here.
     A coprocessor can also be loaded on demand by setting HTableDescriptor.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hbase.coprocessor.master.classes</name>
-    <value></value>
+    <value/>
     <description>A comma-separated list of
       org.apache.hadoop.hbase.coprocessor.MasterObserver coprocessors that are
       loaded by default on the active HMaster process. For any implemented
@@ -311,16 +365,18 @@
       implementing your own MasterObserver, just put it in HBase's classpath
       and add the fully qualified class name here.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hbase.zookeeper.property.clientPort</name>
     <value>2181</value>
     <description>Property from ZooKeeper's config zoo.cfg.
     The port at which the clients will connect.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <!--
   The following three properties are used together to create the list of
   host:peer_port:leader_port quorum servers for ZooKeeper.
@@ -335,19 +391,22 @@
     list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in 
hbase-env.sh
     this is the list of servers which we will start/stop ZooKeeper on.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <!-- End of properties used to generate ZooKeeper host:port quorum list. -->
-
   <property>
     <name>hbase.zookeeper.useMulti</name>
     <value>true</value>
     <description>Instructs HBase to make use of ZooKeeper's multi-update 
functionality.
     This allows certain ZooKeeper operations to complete more quickly and 
prevents some issues
-    with rare Replication failure scenarios (see the release note of 
HBASE-2611 for an example).·
+    with rare Replication failure scenarios (see the release note of 
HBASE-2611 for an example).&#xB7;
     IMPORTANT: only set this to true if all ZooKeeper servers in the cluster 
are on version 3.4+
     and will not be downgraded.  ZooKeeper versions before 3.4 do not support 
multi-update and will
     not fail gracefully if multi-update is invoked (see ZOOKEEPER-1495).
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>zookeeper.znode.parent</name>
@@ -357,29 +416,33 @@
       By default, all of HBase's ZooKeeper file path are configured with a
       relative path, so they will all go under this directory unless changed.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hbase.defaults.for.version.skip</name>
     <value>true</value>
     <description>Disables version verification.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>dfs.domain.socket.path</name>
     <value>/var/lib/hadoop-hdfs/dn_socket</value>
     <description>Path to domain socket.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hbase.coprocessor.regionserver.classes</name>
-    <value></value>
+    <value/>
     <depends-on>
       <property>
         <type>hbase-site</type>
         <name>hbase.security.authorization</name>
       </property>
     </depends-on>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ed7c64ad/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HIVE/configuration/hive-site.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HIVE/configuration/hive-site.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HIVE/configuration/hive-site.xml
index d65f53d..7d112a0 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HIVE/configuration/hive-site.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HIVE/configuration/hive-site.xml
@@ -16,15 +16,14 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
-
 <configuration supports_final="true">
-
   <property>
     <name>hive.heapsize</name>
     <value>1024</value>
     <description>Hive Java heap size</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>ambari.hive.db.schema.name</name>
     <value>hive</value>
@@ -32,26 +31,30 @@ limitations under the License.
     <value-attributes>
       <type>database</type>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:mysql://localhost/hive?createDatabaseIfNotExist=true</value>
     <description>JDBC connect string for a JDBC metastore</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>javax.jdo.option.ConnectionDriverName</name>
     <value>com.mysql.jdbc.Driver</value>
     <description>Driver class name for a JDBC metastore</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>javax.jdo.option.ConnectionUserName</name>
     <value>hive</value>
     <description>username to use against metastore database</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property require-input="true">
     <name>javax.jdo.option.ConnectionPassword</name>
     <value> </value>
@@ -60,40 +63,45 @@ limitations under the License.
     <value-attributes>
       <type>password</type>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.metastore.warehouse.dir</name>
     <value>/apps/hive/warehouse</value>
     <description>location of default database for the warehouse</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.metastore.sasl.enabled</name>
     <value>false</value>
     <description>If true, the metastore thrift interface will be secured with 
SASL.
      Clients must authenticate with Kerberos.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.warehouse.subdir.inherit.perms</name>
     <value>true</value>
     <description>If true, subdirectories inherit the same 
permissions</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
-
   <property>
     <name>hive.metastore.cache.pinobjtypes</name>
     <value>Table,Database,Type,FieldSchema,Order</value>
     <description>List of comma separated metastore object types that should be 
pinned in the cache</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.metastore.uris</name>
     <value>thrift://localhost:9083</value>
     <description>URI for client to contact metastore server</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.metastore.pre.event.listeners</name>
     
<value>org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener</value>
@@ -101,8 +109,9 @@ limitations under the License.
       whenever databases, tables, and partitions are created, altered, or 
dropped.
       Set to 
org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener
       if metastore-side authorization is desired.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.metastore.pre.event.listeners</name>
     
<value>org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener</value>
@@ -110,33 +119,38 @@ limitations under the License.
       whenever databases, tables, and partitions are created, altered, or 
dropped.
       Set to 
org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener
       if metastore-side authorization is desired.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.metastore.client.socket.timeout</name>
     <value>60</value>
     <description>MetaStore Client socket timeout in seconds</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.metastore.execute.setugi</name>
     <value>true</value>
     <description>In unsecure mode, setting this property to true will cause 
the metastore to execute DFS operations using the client's reported user and 
group permissions. Note that this property must be set on both the client and   
  server sides. Further note that its best effort. If client sets its to true 
and server sets it to false, client setting will be ignored.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.security.authorization.enabled</name>
     <value>false</value>
     <description>enable or disable the hive client authorization</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.security.authorization.manager</name>
     
<value>org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider</value>
     <description>the hive client authorization manager class name.
     The user defined authorization class should implement interface 
org.apache.hadoop.hive.ql.security.authorization.HiveAuthorizationProvider.  
</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.security.metastore.authorization.manager</name>
     
<value>org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider</value>
@@ -145,14 +159,16 @@ limitations under the License.
     <value-attributes>
       <type>string</type>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.security.authenticator.manager</name>
     <value>org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator</value>
     <description>Hive client authenticator manager class name. The 
user-defined authenticator class should implement interface 
org.apache.hadoop.hive.ql.security.HiveAuthenticationProvider.  </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.server2.enable.doAs</name>
     <value>true</value>
@@ -160,49 +176,58 @@ limitations under the License.
       submitted the query. But if the parameter is set to false, the query 
will run as the user that the hiveserver2
       process runs as.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.server2.enable.impersonation</name>
     <description>Enable user impersonation for HiveServer2</description>
     <value>true</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hive.server2.authentication</name>
     <description>Authentication mode, default NONE. Options are NONE, NOSASL, 
KERBEROS, LDAP, PAM and CUSTOM</description>
     <value>NONE</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>fs.hdfs.impl.disable.cache</name>
     <value>true</value>
     <description>Disable HDFS filesystem cache.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>fs.file.impl.disable.cache</name>
     <value>true</value>
     <description>Disable local filesystem cache.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.enforce.bucketing</name>
     <value>true</value>
     <description>Whether bucketing is enforced. If true, while inserting into 
the table, bucketing is enforced.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.enforce.sorting</name>
     <value>true</value>
     <description>Whether sorting is enforced. If true, while inserting into 
the table, sorting is enforced.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.map.aggr</name>
     <value>true</value>
     <description>Whether to use map-side aggregation in Hive Group By 
queries.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.optimize.bucketmapjoin</name>
     <value>true</value>
@@ -210,43 +235,49 @@ limitations under the License.
       is a multiple of the number of buckets in the other table, the buckets 
can be joined with each other by setting
       this parameter as true.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.optimize.bucketmapjoin.sortedmerge</name>
     <value>false</value>
     <description> If the tables being joined are sorted and bucketized on the 
join columns, and they have the same number
     of buckets, a sort-merge join can be performed by setting this parameter 
as true.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.mapred.reduce.tasks.speculative.execution</name>
     <value>false</value>
     <description>Whether speculative execution for reducers should be turned 
on.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.auto.convert.join</name>
     <value>true</value>
     <description>Whether Hive enable the optimization about converting common
       join into mapjoin based on the input file size.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.auto.convert.sortmerge.join</name>
     <value>true</value>
     <description>Will the join be automatically converted to a sort-merge 
join, if the joined tables pass
       the criteria for sort-merge join.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.auto.convert.sortmerge.join.noconditionaltask</name>
     <value>true</value>
     <description>Required to Enable the conversion of an SMB 
(Sort-Merge-Bucket) to a map-join SMB.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.auto.convert.join.noconditionaltask</name>
     <value>true</value>
@@ -254,8 +285,9 @@ limitations under the License.
       size. If this paramater is on, and the sum of size for n-1 of the 
tables/partitions for a n-way join is smaller than the
       specified size, the join is directly converted to a mapjoin (there is no 
conditional task).
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.auto.convert.join.noconditionaltask.size</name>
     <value>2147483648</value>
@@ -269,10 +301,11 @@ limitations under the License.
       <minimum>1073741824</minimum>
       <maximum>17179869184</maximum>
       <unit>B</unit>
-      <increment-step></increment-step>
+      <increment-step/>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.optimize.reducededuplication.min.reducer</name>
     <value>1</value>
@@ -280,8 +313,9 @@ limitations under the License.
       That means if reducer-num of the child RS is fixed (order by or forced 
bucketing) and small, it can make very slow, single MR.
       The optimization will be disabled if number of reducers is less than 
specified value.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.optimize.mapjoin.mapreduce</name>
     <value>true</value>
@@ -290,8 +324,9 @@ limitations under the License.
       job (for e.g a group by), each map-only job is merged with the following
       map-reduce job.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.mapjoin.bucket.cache.size</name>
     <value>10000</value>
@@ -299,38 +334,43 @@ limitations under the License.
       Size per reducer.The default is 1G, i.e if the input size is 10G, it
       will use 10 reducers.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.vectorized.execution.enabled</name>
     <value>true</value>
     <description>This flag controls the vectorized mode of query execution as 
documented in HIVE-4160 (as of Hive 0.13.0)
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.optimize.reducededuplication</name>
     <value>true</value>
     <description>Remove extra map-reduce jobs if the data is already clustered 
by the same key which needs to be used again.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.optimize.index.filter</name>
     <value>true</value>
     <description>
     Whether to enable automatic use of indexes
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.server2.thrift.port</name>
     <value>10000</value>
     <description>
       TCP port number to listen on, default 10000.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.server2.support.dynamic.service.discovery</name>
     <value>false</value>
@@ -340,16 +380,18 @@ limitations under the License.
       should use the ZooKeeper ensemble: hive.zookeeper.quorum in their
       connection string.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.server2.zookeeper.namespace</name>
     <value>hiveserver2</value>
     <description>The parent node in ZooKeeper used by HiveServer2 when
       supporting dynamic service discovery.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.server2.transport.mode</name>
     <value>binary</value>
@@ -357,8 +399,9 @@ limitations under the License.
       Expects one of [binary, http].
       Transport mode of HiveServer2.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>hive.default.fileformat</name>
     <value>TextFile</value>
@@ -385,13 +428,16 @@ limitations under the License.
         </entry>
       </entries>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-  
   <!-- added this as required from 2.2 Hive site xml -->
   <property>
     <name>hive.server2.authentication</name>
     <description>Authentication mode, default NONE. Options are NONE, NOSASL, 
KERBEROS, LDAP, PAM and CUSTOM</description>
     <value>NONE</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hive.server2.authentication.ldap.url</name>
@@ -402,55 +448,67 @@ limitations under the License.
         <name>hive.server2.authentication</name>
       </property>
     </depends-on>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hive.server2.authentication.ldap.baseDN</name>
-    <value></value>
+    <value/>
     <depends-on>
       <property>
         <type>hive-site</type>
         <name>hive.server2.authentication</name>
       </property>
     </depends-on>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hive.server2.authentication.kerberos.keytab</name>
-    <value></value>
+    <value/>
     <depends-on>
       <property>
         <type>hive-site</type>
         <name>hive.server2.authentication</name>
       </property>
     </depends-on>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hive.server2.authentication.kerberos.principal</name>
-    <value></value>
+    <value/>
     <depends-on>
       <property>
         <type>hive-site</type>
         <name>hive.server2.authentication</name>
       </property>
     </depends-on>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hive.server2.authentication.pam.services</name>
-    <value></value>
+    <value/>
     <depends-on>
       <property>
         <type>hive-site</type>
         <name>hive.server2.authentication</name>
       </property>
     </depends-on>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>hive.server2.custom.authentication.class</name>
-    <value></value>
+    <value/>
     <depends-on>
       <property>
         <type>hive-site</type>
         <name>hive.server2.authentication</name>
       </property>
     </depends-on>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ed7c64ad/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HIVE/configuration/webhcat-site.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HIVE/configuration/webhcat-site.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HIVE/configuration/webhcat-site.xml
index 4293ea5..6036ff2 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HIVE/configuration/webhcat-site.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/HIVE/configuration/webhcat-site.xml
@@ -16,120 +16,134 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
-
 <!-- The default settings for Templeton. -->
 <!-- Edit templeton-site.xml to change settings for your local -->
 <!-- install. -->
-
 <configuration supports_final="true">
-
   <property>
     <name>templeton.port</name>
     <value>50111</value>
     <description>The HTTP port for the main server.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.hadoop.conf.dir</name>
     <value>/usr/hdp/current/hadoop-client/conf</value>
     <description>The path to the Hadoop configuration.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.jar</name>
     <value>/usr/lib/hcatalog/share/webhcat/svr/webhcat.jar</value>
     <description>The path to the Templeton jar file.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.libjars</name>
     <value>/usr/lib/zookeeper/zookeeper.jar</value>
     <description>Jars to add the the classpath.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.hadoop</name>
     <value>/usr/bin/hadoop</value>
     <description>The path to the Hadoop executable.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.pig.archive</name>
     <value>glusterfs:///apps/webhcat/pig.tar.gz</value>
     <description>The path to the Pig archive.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.pig.path</name>
     <value>pig.tar.gz/pig/bin/pig</value>
     <description>The path to the Pig executable.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.hcat</name>
     <value>/usr/bin/hcat</value>
     <description>The path to the hcatalog executable.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.hive.archive</name>
     <value>glusterfs:///apps/webhcat/hive.tar.gz</value>
     <description>The path to the Hive archive.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.hive.home</name>
     <value>hive.tar.gz/hive</value>
     <description>The path to the Hive home within the tar. Has no effect if 
templeton.hive.archive is not set.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.hcat.home</name>
     <value>hive.tar.gz/hive/hcatalog</value>
     <description>The path to the HCat home within the tar. Has no effect if 
templeton.hive.archive is not set.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.hive.path</name>
     <value>hive.tar.gz/hive/bin/hive</value>
     <description>The path to the Hive executable.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.hive.properties</name>
     
<value>hive.metastore.local=false,hive.metastore.uris=thrift://localhost:9083,hive.metastore.sasl.enabled=false</value>
     <description>Properties to set when running hive.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
-
   <property>
     <name>templeton.zookeeper.hosts</name>
     <value>localhost:2181</value>
     <description>ZooKeeper servers, as comma separated host:port 
pairs</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.storage.class</name>
     <value>org.apache.hive.hcatalog.templeton.tool.ZooKeeperStorage</value>
     <description>The class to use as storage</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.override.enabled</name>
     <value>false</value>
     <description>Enable the override path in 
templeton.override.jars</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>templeton.streaming.jar</name>
     <value>glusterfs:///apps/webhcat/hadoop-streaming.jar</value>
     <description>The hdfs path to the Hadoop streaming jar file.</description>
-  </property> 
-
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
+  </property>
   <property>
     <name>templeton.exec.timeout</name>
     <value>60000</value>
     <description>Time out for templeton api</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ed7c64ad/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/OOZIE/configuration/oozie-site.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/OOZIE/configuration/oozie-site.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/OOZIE/configuration/oozie-site.xml
index 2ffa712..757f650 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/OOZIE/configuration/oozie-site.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/OOZIE/configuration/oozie-site.xml
@@ -16,9 +16,7 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-
 <configuration supports_final="true">
-
   <!--
       Refer to the oozie-default.xml file for the complete list of
       Oozie configuration properties and their default values.
@@ -27,24 +25,27 @@
     <name>oozie.base.url</name>
     <value>http://localhost:11000/oozie</value>
     <description>Base Oozie URL.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.system.id</name>
     <value>oozie-${user.name}</value>
     <description>
       The Oozie system ID.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.systemmode</name>
     <value>NORMAL</value>
     <description>
       System mode for Oozie at startup.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.AuthorizationService.security.enabled</name>
     <value>true</value>
@@ -52,36 +53,41 @@
       Specifies whether security (user name/admin role) is enabled or not.
       If disabled any user can manage Oozie system and manage any job.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.PurgeService.older.than</name>
     <value>30</value>
     <description>
       Jobs older than this value, in days, will be purged by the PurgeService.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.PurgeService.purge.interval</name>
     <value>3600</value>
     <description>
       Interval at which the purge service will run, in seconds.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.CallableQueueService.queue.size</name>
     <value>1000</value>
     <description>Max callable queue size</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.CallableQueueService.threads</name>
     <value>10</value>
     <description>Number of threads used for executing callables</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.CallableQueueService.callable.concurrency</name>
     <value>3</value>
@@ -92,23 +98,25 @@
       All commands that use action executors (action-start, action-end, 
action-kill and action-check) use
       the action type as the callable type.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.coord.normal.default.timeout</name>
     <value>120</value>
     <description>Default timeout for a coordinator action input check (in 
minutes) for normal job.
       -1 means infinite timeout
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
-
   <property>
     <name>oozie.service.HadoopAccessorService.supported.filesystems</name>
     <value>glusterfs</value>
     <description>List of other HCFS supported filesystems</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.db.schema.name</name>
     <value>oozie</value>
@@ -118,8 +126,9 @@
     <value-attributes>
       <type>database</type>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.authentication.type</name>
     <value>simple</value>
@@ -127,8 +136,9 @@
       Authentication used for Oozie HTTP endpoint, the supported values are: 
simple | kerberos |
       #AUTHENTICATION_HANDLER_CLASSNAME#.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.WorkflowAppService.system.libpath</name>
     <value>/user/${user.name}/share/lib</value>
@@ -137,8 +147,9 @@
       This path is added to workflow application if their job properties sets
       the property 'oozie.use.system.libpath' to true.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>use.system.libpath.for.mapreduce.and.pig.jobs</name>
     <value>false</value>
@@ -148,6 +159,8 @@
       specify where the Pig JAR files are. Instead, the ones from the system
       library path are used.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>oozie.authentication.kerberos.name.rules</name>
@@ -159,6 +172,8 @@
 
     </value>
     <description>The mapping from kerberos principal names to local OS user 
names.</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
@@ -171,6 +186,8 @@
       the Oozie configuration directory; though the path can be absolute (i.e. 
to point
       to Hadoop client conf/ directories in the local filesystem.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>oozie.service.ActionService.executor.ext.classes</name>
@@ -186,8 +203,9 @@
       be used in workflows. This property is a convenience property to add 
extensions to the built in executors without
       having to include all the built in ones.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.SchemaService.wf.ext.schemas</name>
     
<value>shell-action-0.1.xsd,email-action-0.1.xsd,hive-action-0.2.xsd,sqoop-action-0.2.xsd,ssh-action-0.1.xsd,distcp-action-0.1.xsd,shell-action-0.2.xsd,oozie-sla-0.1.xsd,oozie-sla-0.2.xsd,hive-action-0.3.xsd</value>
@@ -195,6 +213,8 @@
       Schemas for additional actions types. IMPORTANT: if there are no schemas 
leave a 1 space string, the service
       trims the value, if empty Configuration assumes it is NULL.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>oozie.service.JPAService.create.db.schema</name>
@@ -205,33 +225,37 @@
       If set to true, it creates the DB schema if it does not exist. If the DB 
schema exists is a NOP.
       If set to false, it does not create the DB schema. If the DB schema does 
not exist it fails start up.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.JPAService.jdbc.driver</name>
     <value>org.apache.derby.jdbc.EmbeddedDriver</value>
     <description>
       JDBC driver class.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.JPAService.jdbc.url</name>
     
<value>jdbc:derby:${oozie.data.dir}/${oozie.db.schema.name}-db;create=true</value>
     <description>
       JDBC URL.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.JPAService.jdbc.username</name>
     <value>oozie</value>
     <description>
       Database user name to use to connect to the database
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
-  <property require-input = "true">
+  <property require-input="true">
     <name>oozie.service.JPAService.jdbc.password</name>
     <value> </value>
     <display-name>Database Password</display-name>
@@ -246,16 +270,18 @@
       <type>password</type>
       <overridable>false</overridable>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.service.JPAService.pool.max.active.conn</name>
     <value>10</value>
     <description>
       Max number of connections.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>oozie.services</name>
     <value>
@@ -292,6 +318,8 @@
       org.apache.oozie.service.ProxyUserService
     </value>
     <description>List of Oozie services</description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>oozie.service.HadoopAccessorService.kerberos.enabled</name>
@@ -299,6 +327,8 @@
     <description>
        Indicates if Oozie is configured to use Kerberos.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>oozie.service.URIHandlerService.uri.handlers</name>
@@ -306,6 +336,8 @@
     <description>
       Enlist the different uri handlers supported for data availability checks.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>oozie.services.ext</name>
@@ -315,6 +347,8 @@
       To add/replace services defined in 'oozie.services' with custom 
implementations.
       Class names must be separated by commas.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>oozie.service.coord.push.check.requeue.interval</name>
@@ -322,6 +356,8 @@
     <description>
       Command re-queue interval for push dependencies (in millisecond).
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>oozie.credentials.credentialclasses</name>
@@ -329,6 +365,7 @@
     <description>
       Credential Class to be used for HCat.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ed7c64ad/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/TEZ/configuration/tez-site.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/TEZ/configuration/tez-site.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/TEZ/configuration/tez-site.xml
index be534f1..51246c3 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/TEZ/configuration/tez-site.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/TEZ/configuration/tez-site.xml
@@ -16,7 +16,6 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-
 <configuration supports_final="true">
   <property>
     <name>tez.am.view-acls</name>
@@ -24,8 +23,9 @@
     <description>AM view ACLs. This allows the specified users/groups to view 
the status of the AM and all DAGs that run within this AM.
       Value format: Comma separated list of users, followed by whitespace, 
followed by a comma separated list of groups.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>tez.runtime.optimize.local.fetch</name>
     <value>true</value>
@@ -33,8 +33,9 @@
     <value-attributes>
       <type>boolean</type>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>tez.task.generate.counters.per.io</name>
     <value>true</value>
@@ -42,8 +43,9 @@
     <value-attributes>
       <type>boolean</type>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>tez.runtime.sorter.class</name>
     <value>PIPELINED</value>
@@ -62,8 +64,9 @@
       </entries>
       <selection-cardinality>1</selection-cardinality>
     </value-attributes>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>tez.runtime.pipelined.sorter.sort.threads</name>
     <value>2</value>
@@ -77,8 +80,9 @@
         <name>tez.runtime.sorter.class</name>
       </property>
     </depends-on>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>tez.runtime.io.sort.mb</name>
     <value>272</value>
@@ -93,6 +97,7 @@
         <name>tez.runtime.sorter.class</name>
       </property>
     </depends-on>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ed7c64ad/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/YARN/configuration-mapred/mapred-site.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/YARN/configuration-mapred/mapred-site.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/YARN/configuration-mapred/mapred-site.xml
index 671f328..0544cf3 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/YARN/configuration-mapred/mapred-site.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/YARN/configuration-mapred/mapred-site.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0"?>
 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-
 <!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -17,72 +16,82 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-
 <!-- Put site-specific property overrides in this file. -->
-
-<configuration supports_final="true" 
xmlns:xi="http://www.w3.org/2001/XInclude";>
-
-
-<!-- GLUSTERFS properties -->
+<configuration xmlns:xi="http://www.w3.org/2001/XInclude"; 
supports_final="true">
+  <!-- GLUSTERFS properties -->
   <property>
     <name>mapreduce.jobhistory.intermediate-done-dir</name>
     <value>glusterfs:///mr-history/tmp</value>
     <description>
       Directory where history files are written by MapReduce jobs.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>mapreduce.jobhistory.done-dir</name>
     <value>glusterfs:///mr-history/done</value>
     <description>
       Directory where history files are managed by the MR JobHistory Server.
     </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
-     <name>yarn.app.mapreduce.am.staging-dir</name>
-     <value>glusterfs:///user</value>
-     <description>
+    <name>yarn.app.mapreduce.am.staging-dir</name>
+    <value>glusterfs:///user</value>
+    <description>
        The staging dir used while submitting jobs.
      </description>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
-     <name>mapred.healthChecker.script.path</name>
-     <value>glusterfs:///mapred/jobstatus</value>
-   </property>
+    <name>mapred.healthChecker.script.path</name>
+    <value>glusterfs:///mapred/jobstatus</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
+  </property>
   <property>
-     <name>mapred.job.tracker.history.completed.location</name>
-     <value>glusterfs:///mapred/history/done</value>
+    <name>mapred.job.tracker.history.completed.location</name>
+    <value>glusterfs:///mapred/history/done</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>mapred.system.dir</name>
     <value>glusterfs:///mapred/system</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
   <property>
     <name>mapreduce.jobtracker.staging.root.dir</name>
     <value>glusterfs:///user</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
+  </property>
+  <property>
+    <name>mapred.healthChecker.script.path</name>
+    <value>glusterfs:///mapred/jobstatus</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
+  </property>
+  <property>
+    <name>mapred.job.tracker.history.completed.location</name>
+    <value>glusterfs:///mapred/history/done</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
+  </property>
+  <property>
+    <name>mapred.system.dir</name>
+    <value>glusterfs:///mapred/system</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
+  </property>
+  <property>
+    <name>mapreduce.jobtracker.staging.root.dir</name>
+    <value>glusterfs:///user</value>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
-<property>
-<name>mapred.healthChecker.script.path</name>
-<value>glusterfs:///mapred/jobstatus</value>
-</property>
-
-<property>
-<name>mapred.job.tracker.history.completed.location</name>
-<value>glusterfs:///mapred/history/done</value>
-</property>
-
-<property>
-<name>mapred.system.dir</name>
-<value>glusterfs:///mapred/system</value>
-</property>
-
-<property>
-<name>mapreduce.jobtracker.staging.root.dir</name>
-<value>glusterfs:///user</value>
-</property>
-
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ed7c64ad/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/YARN/configuration/capacity-scheduler.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/YARN/configuration/capacity-scheduler.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/YARN/configuration/capacity-scheduler.xml
index c859002..1cf75d2 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/YARN/configuration/capacity-scheduler.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/YARN/configuration/capacity-scheduler.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -14,22 +15,26 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-
 <configuration supports_final="false" supports_adding_forbidden="true">
   <property>
     <name>yarn.scheduler.capacity.resource-calculator</name>
     
<value>org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator</value>
-    <description></description>
+    <description/>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>yarn.scheduler.capacity.root.accessible-node-labels</name>
     <value>*</value>
-    <description></description>
+    <description/>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
   <property>
     <name>yarn.scheduler.capacity.root.default-node-label-expression</name>
-    <value></value>
-    <description></description>
+    <value/>
+    <description/>
+    <on-ambari-upgrade add="false" change="true" delete="true"/>
+    <on-stack-upgrade add="true" change="true" delete="false"/>
   </property>
-
 </configuration>

Reply via email to