<?xml version="1.0"?>
<!--
   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.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   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.
-->


<upgrade xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <target>2.5.*.*</target>
  <target-stack>HDP-2.5</target-stack>
  <type>ROLLING</type>
  <skip-failures>false</skip-failures>
  <skip-service-check-failures>false</skip-service-check-failures>

  <prerequisite-checks>
    <!-- List of additional pre-req checks to run in addition to the required pre-reqs -->
    <check>org.apache.ambari.server.checks.HiveMultipleMetastoreCheck</check>
    <check>org.apache.ambari.server.checks.SecondaryNamenodeDeletedCheck</check>
    <check>org.apache.ambari.server.checks.ServicesMapReduceDistributedCacheCheck</check>
    <check>org.apache.ambari.server.checks.ServicesNamenodeHighAvailabilityCheck</check>
    <check>org.apache.ambari.server.checks.ServicesNamenodeTruncateCheck</check>
    <check>org.apache.ambari.server.checks.ServicesTezDistributedCacheCheck</check>
    <check>org.apache.ambari.server.checks.ServicesYarnWorkPreservingCheck</check>
    <check>org.apache.ambari.server.checks.YarnRMHighAvailabilityCheck</check>
    <check>org.apache.ambari.server.checks.YarnTimelineServerStatePreservingCheck</check>
    <check>org.apache.ambari.server.checks.AtlasPresenceCheck</check>
    <check>org.apache.ambari.server.checks.RangerAuditDbCheck</check>

    <!-- Specific to HDP 2.5, Storm is not rolling -->
    <check>org.apache.ambari.server.checks.StormShutdownWarning</check>

    <configuration>
      <!-- Configuration properties for all pre-reqs including required pre-reqs -->
      <!--TODO: is it required? -->
      <check-properties name="org.apache.ambari.server.checks.HiveDynamicServiceDiscoveryCheck">
        <property name="min-failure-stack-version">HDP-2.3.0.0</property>
      </check-properties>
    </configuration>
  </prerequisite-checks>

  <skip-failures>false</skip-failures>
  <skip-service-check-failures>false</skip-service-check-failures>

  <!-- Instructs the upgrade pack how to build the configuration pack -->
  <upgrade-path>
    <intermediate-stack version="2.4"/>
  </upgrade-path>

  <order>
    <group xsi:type="cluster" name="PRE_CLUSTER" title="Prepare Upgrade">
      <direction>UPGRADE</direction>
      <supports-auto-skip-failure>false</supports-auto-skip-failure>

      <execute-stage service="HDFS" component="NAMENODE" title="Pre Upgrade HDFS">
        <task xsi:type="execute" hosts="master">
          <script>scripts/namenode.py</script>
          <function>prepare_rolling_upgrade</function>
        </task>
      </execute-stage>

      <execute-stage service="TEZ" component="TEZ_CLIENT" title="Check Tez Tarball">
        <task xsi:type="execute" hosts="any">
          <script>scripts/pre_upgrade.py</script>
          <function>prepare</function>
        </task>
      </execute-stage>
    </group>

    <group xsi:type="cluster" name="PREPARE_BACKUPS" title="Prepare Backups">
      <direction>UPGRADE</direction>
      <skippable>true</skippable>
      <supports-auto-skip-failure>false</supports-auto-skip-failure>

      <execute-stage service="HBASE" component="HBASE_MASTER" title="Pre Upgrade HBase Backup">
        <task xsi:type="execute" hosts="master">
          <script>scripts/hbase_upgrade.py</script>
          <function>take_snapshot</function>
        </task>
      </execute-stage>

      <execute-stage service="HIVE" component="HIVE_METASTORE" title="Pre Upgrade Hive Backup">
        <task xsi:type="manual">
          <message>Before continuing, please backup the Hive Metastore database referenced by the Hive Metastore service(s) located on the following host(s): {{hosts.all}}.</message>
        </task>
      </execute-stage>

      <execute-stage service="OOZIE" component="OOZIE_SERVER" title="Pre Upgrade Oozie Backup">
        <task xsi:type="manual">
          <message>Before continuing, please backup the Oozie Server database referenced by the Oozie server located on {{hosts.all}}.</message>
        </task>
      </execute-stage>

      <execute-stage service="RANGER" component="RANGER_ADMIN" title="Pre Upgrade Ranger Backup">
        <task xsi:type="manual">
          <message>Before continuing, please backup the Ranger Admin database and Ranger Audit database.
                If audit database size is too large( > 3GB ) then follow the below instructions:
                1. Backup the audit table from audit database.
                2. Truncate audit table.
                3. Follow upgrade process and once completed then restore audit data to audit table.</message>
        </task>
      </execute-stage>

      <execute-stage service="RANGER_KMS" component="RANGER_KMS_SERVER" title="Pre Upgrade Ranger KMS Backup">
        <task xsi:type="manual">
          <message>Before continuing, please backup Ranger KMS database on the following host(s): {{hosts.all}}.</message>
        </task>
      </execute-stage>
    </group>

    <group name="ZOOKEEPER" title="ZooKeeper">
      <supports-auto-skip-failure>false</supports-auto-skip-failure>
      <service name="ZOOKEEPER">
        <component>ZOOKEEPER_SERVER</component>
      </service>
    </group>

    <group name="RANGER" title="Ranger">
      <skippable>true</skippable>
      <supports-auto-skip-failure>false</supports-auto-skip-failure>
      <service name="RANGER">
        <component>RANGER_ADMIN</component>
        <component>RANGER_USERSYNC</component>
      </service>
    </group>

    <group name="RANGER_KMS" title="Ranger_KMS">
      <skippable>true</skippable>
      <supports-auto-skip-failure>false</supports-auto-skip-failure>
      <service name="RANGER_KMS">
        <component>RANGER_KMS_SERVER</component>
      </service>
    </group>

    <group name="KAFKA" title="Kafka">
      <skippable>true</skippable>
      <service name="KAFKA">
        <component>KAFKA_BROKER</component>
      </service>
    </group>

    <group name="HBASE" title="Update HBase Configuration">
      <skippable>true</skippable>

      <execute-stage service="HBASE" component="HBASE_MASTER" title="Update HBase Configuration">
        <task xsi:type="server_action" summary="Update HBase Env Configuration" class="org.apache.ambari.server.serveraction.upgrades.HBaseEnvMaxDirectMemorySizeAction"/>
      </execute-stage>

    </group>

    <!-- This group should exist for all RUs that cross a major stack version. -->
    <group xsi:type="cluster" name="UPDATE_CLIENT_CONFIGS" title="Update Client Configs">
      <direction>UPGRADE</direction>
      <execute-stage service="TEZ" component="TEZ_CLIENT" title="Update tez.lib.uris">
        <task xsi:type="configure" id="hdp_2_5_0_0_tez_client_adjust_tez_lib_uris_property"/>
      </execute-stage>

      <execute-stage service="TEZ" component="TEZ_CLIENT" title="Verify LZO codec path for Tez">
        <task xsi:type="server_action" summary="Verifying LZO codec path for Tez" class="org.apache.ambari.server.serveraction.upgrades.FixLzoCodecPath"/>
      </execute-stage>
    </group>

    <!-- This needs to be done for every Rolling Upgrade pack that changes configurations. -->
    <group xsi:type="cluster" name="CONFIGURE_CLIENT_DEPENDENCIES" title="Write client configs">
      <skippable>true</skippable>
      <supports-auto-skip-failure>false</supports-auto-skip-failure>
      <direction>UPGRADE</direction>

      <execute-stage service="MAPREDUCE2" component="MAPREDUCE2_CLIENT" title="Write Mapreduce2 Client configs">
        <task xsi:type="execute">
          <script>scripts/mapreduce2_client.py</script>
          <function>stack_upgrade_save_new_config</function>
        </task>
      </execute-stage>
      <execute-stage service="TEZ" component="TEZ_CLIENT" title="Write Tez Client configs">
        <task xsi:type="execute">
          <script>scripts/tez_client.py</script>
          <function>stack_upgrade_save_new_config</function>
        </task>
      </execute-stage>
      <execute-stage service="SPARK" component="SPARK_CLIENT" title="Write Spark Client configs">
        <task xsi:type="execute">
          <script>scripts/spark_client.py</script>
          <function>stack_upgrade_save_new_config</function>
        </task>
      </execute-stage>
    </group>

    <!--
    After processing this group, the user-specified Kerberos descriptor will be updated to work with
    the new stack-level Kerberos descriptor.
    -->
    <group xsi:type="cluster" name="UPDATE_KERBEROS_DESCRIPTORS" title="Update Kerberos Descriptors">
      <execute-stage title="Update the user-specified Kerberos descriptor" service="" component="">
        <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.UpgradeUserKerberosDescriptor"/>
      </execute-stage>
    </group>

    <group name="CORE_MASTER" title="Core Masters">
      <service-check>false</service-check>
      <service name="HDFS">
        <component>NAMENODE</component>
        <component>JOURNALNODE</component>
        <component>ZKFC</component>
      </service>

      <service name="MAPREDUCE2">
        <component>HISTORYSERVER</component>
      </service>

      <service name="YARN">
        <component>APP_TIMELINE_SERVER</component>
        <component>RESOURCEMANAGER</component>
      </service>

      <service name="HBASE">
        <component>HBASE_MASTER</component>
      </service>
    </group>

    <group name="SERVICE_CHECK_1" title="All Service Checks" xsi:type="service-check">
      <skippable>true</skippable>
      <direction>UPGRADE</direction>
      <priority>
        <service>ZOOKEEPER</service>
        <service>HDFS</service>
        <service>YARN</service>
        <service>MAPREDUCE2</service>
        <service>HBASE</service>
      </priority>
      <exclude>
        <service>AMBARI_METRICS</service>
        <service>LOGSEARCH</service>
      </exclude>
    </group>

    <group name="CORE_SLAVES" title="Core Slaves" xsi:type="colocated">
      <skippable>true</skippable>
      <service-check>false</service-check>
      <service name="HDFS">
        <component>DATANODE</component>
        <component>NFS_GATEWAY</component>
      </service>

      <service name="HBASE">
        <component>HBASE_REGIONSERVER</component>
        <component>PHOENIX_QUERY_SERVER</component>
      </service>

      <service name="YARN">
        <component>NODEMANAGER</component>
      </service>

      <batch>
        <percent>20</percent>
        <summary>Verification Required</summary>
        <message>The initial batch of {{components}} hosts have been {{direction.past}}. You are advised to check the hosts and perform cluster/workload-specific tests against your cluster to ensure proper operation before proceeding with {{direction.text}} of the remaining services.</message>
      </batch>
    </group>

    <group name="SERVICE_CHECK_2" title="All Service Checks" xsi:type="service-check">
      <skippable>true</skippable>
      <direction>UPGRADE</direction>
      <priority>
        <service>ZOOKEEPER</service>
        <service>HDFS</service>
        <service>YARN</service>
        <service>HBASE</service>
      </priority>
      <exclude>
        <service>AMBARI_METRICS</service>
        <service>LOGSEARCH</service>
      </exclude>
    </group>

    <group name="HIVE" title="Hive">
      <skippable>true</skippable>
      <supports-auto-skip-failure>false</supports-auto-skip-failure>
      <service name="HIVE">
        <component>HIVE_METASTORE</component>
        <component>HIVE_SERVER</component>
        <component>WEBHCAT_SERVER</component>
      </service>
    </group>

    <group name="SPARK" title="Spark">
      <skippable>true</skippable>
      <supports-auto-skip-failure>false</supports-auto-skip-failure>
      <service-check>false</service-check>
      <service name="SPARK">
        <component>SPARK_JOBHISTORYSERVER</component>
        <component>SPARK_THRIFTSERVER</component>
      </service>
    </group>

    <group name="SPARK_CLIENTS" title="Spark Clients">
      <skippable>true</skippable>
      <service name="SPARK">
        <component>SPARK_CLIENT</component>
      </service>
    </group>

    <group name="OOZIE" title="Oozie">
      <skippable>true</skippable>
      <supports-auto-skip-failure>false</supports-auto-skip-failure>
      <service-check>false</service-check>
      <service name="OOZIE">
        <component>OOZIE_SERVER</component>
      </service>
    </group>

    <group name="OOZIE_CLIENTS" title="Oozie Clients">
      <skippable>true</skippable>
      <service name="OOZIE">
        <component>OOZIE_CLIENT</component>
      </service>
    </group>

    <group name="FALCON" title="Falcon">
      <skippable>true</skippable>
      <supports-auto-skip-failure>false</supports-auto-skip-failure>
      <service-check>false</service-check>
      <service name="FALCON">
        <component>FALCON_SERVER</component>
      </service>
    </group>

    <group name="FALCON_CLIENTS" title="Falcon Clients">
      <skippable>true</skippable>
      <service name="FALCON">
        <component>FALCON_CLIENT</component>
      </service>
    </group>

    <group name="CLIENTS" title="Client Components">
      <service-check>false</service-check>
      <service name="ZOOKEEPER">
        <component>ZOOKEEPER_CLIENT</component>
      </service>

      <service name="HDFS">
        <component>HDFS_CLIENT</component>
      </service>

      <service name="YARN">
        <component>YARN_CLIENT</component>
      </service>

      <service name="MAPREDUCE2">
        <component>MAPREDUCE2_CLIENT</component>
      </service>

      <service name="TEZ">
        <component>TEZ_CLIENT</component>
      </service>

      <service name="HBASE">
        <component>HBASE_CLIENT</component>
      </service>

      <service name="PIG">
        <component>PIG</component>
      </service>

      <service name="SQOOP">
        <component>SQOOP</component>
      </service>

      <service name="MAHOUT">
        <component>MAHOUT</component>
      </service>

      <service name="HIVE">
        <component>HIVE_CLIENT</component>
        <component>HCAT</component>
      </service>
    </group>

    <group name="SERVICE_CHECK_3" title="All Service Checks" xsi:type="service-check">
      <skippable>true</skippable>
      <direction>UPGRADE</direction>
      <priority>
        <service>ZOOKEEPER</service>
        <service>HDFS</service>
        <service>YARN</service>
        <service>HBASE</service>
      </priority>
      <exclude>
        <service>AMBARI_METRICS</service>
        <service>LOGSEARCH</service>
      </exclude>
    </group>

    <group name="KNOX" title="Knox">
      <skippable>true</skippable>
      <service name="KNOX">
        <component>KNOX_GATEWAY</component>
      </service>
    </group>

    <!-- Storm package names changed causing an incompatibility between versions; we must
    shut all daemons down before deleting ZooKeeper/local data. -->
    <group xsi:type="cluster" name="STOP_STORM_WARNING" title="Deactivate Storm Topologies">
      <direction>UPGRADE</direction>
      <supports-auto-skip-failure>false</supports-auto-skip-failure>
      <execute-stage service="STORM" component="NIMBUS" title="Deactivate Storm Topologies">
        <task xsi:type="manual">
          <message>Before continuing, please deactivate and kill any currently running topologies.</message>
        </task>
      </execute-stage>
    </group>

    <group xsi:type="stop" name="STOP_STORM" title="Stop Storm Services">
      <direction>UPGRADE</direction>
      <skippable>true</skippable>
      <service-check>false</service-check>
      <service name="STORM">
        <component>NIMBUS</component>
        <component>SUPERVISOR</component>
        <component>STORM_UI_SERVER</component>
        <component>DRPC_SERVER</component>
      </service>
    </group>

    <group xsi:type="restart" name="RESTART_STORM" title="Restart Storm Services">
      <skippable>true</skippable>
      <service name="STORM">
        <component>NIMBUS</component>
        <component>SUPERVISOR</component>
        <component>STORM_UI_SERVER</component>
        <component>DRPC_SERVER</component>
      </service>
    </group>

    <group xsi:type="stop" name="STOP_STORM" title="Stop Storm Services">
      <direction>DOWNGRADE</direction>
      <skippable>true</skippable>
      <service-check>false</service-check>
      <service name="STORM">
        <component>NIMBUS</component>
        <component>SUPERVISOR</component>
        <component>STORM_UI_SERVER</component>
        <component>DRPC_SERVER</component>
      </service>
    </group>

    <group name="SLIDER" title="Slider">
      <skippable>true</skippable>
      <service name="SLIDER">
        <component>SLIDER</component>
      </service>
    </group>

    <group name="FLUME" title="Flume">
      <skippable>true</skippable>
      <service name="FLUME">
        <component>FLUME_HANDLER</component>
      </service>
    </group>

    <group name="ACCUMULO" title="Accumulo">
      <skippable>true</skippable>
      <service name="ACCUMULO">
        <component>ACCUMULO_MASTER</component>
        <component>ACCUMULO_TSERVER</component>
        <component>ACCUMULO_MONITOR</component>
        <component>ACCUMULO_GC</component>
        <component>ACCUMULO_TRACER</component>
        <component>ACCUMULO_CLIENT</component>
      </service>
    </group>

    <group xsi:type="cluster" name="ALL_HOST_OPS" title="Finalize Hosts">
      <execute-stage title="Update remaining HDP stack to {{version}}">
        <task xsi:type="execute">
          <script>scripts/ru_set_all.py</script>
          <function>actionexecute</function>
        </task>
      </execute-stage>
    </group>

    <group xsi:type="cluster" name="FINALIZE_PRE_CHECK" title="Finalize {{direction.text.proper}} Pre-Check">
      <direction>UPGRADE</direction>

      <execute-stage title="Check Component Versions">
        <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.ComponentVersionCheckAction" />
      </execute-stage>
    </group>

    <group xsi:type="cluster" name="POST_CLUSTER" title="Finalize {{direction.text.proper}}">
      <skippable>true</skippable>
      <supports-auto-skip-failure>false</supports-auto-skip-failure>

      <execute-stage title="Confirm Finalize">
        <direction>UPGRADE</direction>
        <task xsi:type="manual">
          <message>Please confirm you are ready to finalize.</message>
        </task>
      </execute-stage>

      <execute-stage service="HIVE" component="HIVE_SERVER" title="Hive Server Port Change">
        <task xsi:type="manual">
          <message>If there are users or applications using URLS that specify the Hive Server port number, they will now fail to connect. You can restore the port back to its original value after the upgrade has been finalized.</message>
        </task>
      </execute-stage>

      <execute-stage service="RANGER" component="RANGER_ADMIN" title="Ranger Kerberos Keytab Check">
        <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.KerberosKeytabsAction">
          <summary>Ranger Kerberos Keytab Check</summary>
          <message>Please follow below steps to complete upgrade in kerberos environment</message>
          <message>-- If keytabs are managed by Ambari, Perform Regenerate Keytabs for missing components to get Ranger keytabs and restart Ranger components.</message>
          <message>-- If keytabs are managed manually, create the required ranger keytabs in the locations specified in ranger config and restart Ranger components.</message>
        </task>
      </execute-stage>

      <execute-stage service="HDFS" component="NAMENODE" title="Execute HDFS Finalize">
        <task xsi:type="execute" hosts="master">
          <script>scripts/namenode.py</script>
          <function>finalize_rolling_upgrade</function>
        </task>
      </execute-stage>

      <execute-stage title="Save Cluster State" service="" component="">
        <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.FinalizeUpgradeAction" />
      </execute-stage>

    </group>
  </order>

  <processing>
    <service name="ZOOKEEPER">
      <component name="ZOOKEEPER_SERVER">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="ZOOKEEPER_CLIENT">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="RANGER">
      <component name="RANGER_ADMIN">
        <pre-downgrade/> <!--  no-op to prevent config changes on downgrade -->
        <pre-upgrade>
          <task xsi:type="execute" hosts="all" summary="Stop Ranger Admin">
            <script>scripts/ranger_admin.py</script>
            <function>stop</function>
          </task>

          <task xsi:type="configure" id="hdp_2_5_0_0_remove_audit_db_flag" />
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_audit_db_admin_properties" />
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_audit_db_ranger_admin_site" />
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_sso_property" />
          <task xsi:type="configure" id="hdp_2_5_0_0_set_external_solrCloud_flag"/>

          <task xsi:type="server_action" summary="Calculating Ranger Properties" class="org.apache.ambari.server.serveraction.upgrades.RangerKerberosConfigCalculation"/>
          <task xsi:type="server_action" summary="Configuring Ranger Alerts" class="org.apache.ambari.server.serveraction.upgrades.RangerWebAlertConfigAction"/>

          <task xsi:type="execute" hosts="all">
            <script>scripts/ranger_admin.py</script>
            <function>set_pre_start</function>
          </task>

          <task xsi:type="execute" hosts="any" summary="Upgrading Ranger database schema">
            <script>scripts/ranger_admin.py</script>
            <function>setup_ranger_database</function>
          </task>

          <task xsi:type="configure_function" hosts="all" />

          <task xsi:type="execute" hosts="any" summary="Applying Ranger java patches">
            <script>scripts/ranger_admin.py</script>
            <function>setup_ranger_java_patches</function>
          </task>
        </pre-upgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>

      </component>

      <component name="RANGER_USERSYNC">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="RANGER_KMS">
      <component name="RANGER_KMS_SERVER">
        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_kms_audit_db" />

          <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger KMS database schema">
            <script>scripts/kms_server.py</script>
            <function>setup_ranger_kms_database</function>
          </task>
        </pre-upgrade>

        <pre-downgrade>
          <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger KMS database schema">
            <script>scripts/kms_server.py</script>
            <function>setup_ranger_kms_database</function>
          </task>
        </pre-downgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="HDFS">
      <component name="NAMENODE">
        <pre-downgrade /> <!--  no-op to prevent config changes on downgrade -->

        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_4_0_0_namenode_ha_adjustments"/>
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_hdfs_audit_db" />
        </pre-upgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="DATANODE">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="NFS_GATEWAY">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="HDFS_CLIENT">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="JOURNALNODE">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="ZKFC">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="MAPREDUCE2">
      <component name="HISTORYSERVER">
        <pre-downgrade /> <!--  no-op to prevent config changes on downgrade -->

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="MAPREDUCE2_CLIENT">
        <pre-upgrade>
          <task xsi:type="server_action" summary="Verifying LZO codec path for mapreduce" class="org.apache.ambari.server.serveraction.upgrades.FixLzoCodecPath"/>
        </pre-upgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="YARN">
      <component name="APP_TIMELINE_SERVER">
        <pre-downgrade /> <!--  no-op to prevent config changes on downgrade -->

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="RESOURCEMANAGER">
        <pre-upgrade>
          <task xsi:type="server_action" summary="Calculating Yarn Properties for Spark Shuffle" class="org.apache.ambari.server.serveraction.upgrades.SparkShufflePropertyConfig" />
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_yarn_audit_db" />
        </pre-upgrade>
        <pre-downgrade /> <!--  no-op to prevent config changes on downgrade -->

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="NODEMANAGER">
        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_5_0_0_add_spark2_yarn_shuffle"/>
        </pre-upgrade>

        <pre-downgrade/>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="YARN_CLIENT">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="HBASE">
      <component name="HBASE_MASTER">
        <pre-upgrade>
          <!-- These HBASE configs changed in HDP 2.3.4.0, but Ambari can't distinguish HDP 2.3.2.0 vs HDP 2.3.4.0, so easier to always do them. -->
          <task xsi:type="configure" id="hdp_2_4_0_0_hbase_remove_local_indexing"/>
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_hbase_audit_db" />
        </pre-upgrade>

        <pre-downgrade /> <!--  no-op to prevent config changes on downgrade -->

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="HBASE_REGIONSERVER">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="HBASE_CLIENT">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="PHOENIX_QUERY_SERVER">
        <upgrade>
          <task xsi:type="restart-task"/>
        </upgrade>
      </component>
    </service>

    <service name="TEZ">
      <component name="TEZ_CLIENT">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="PIG">
      <component name="PIG">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="MAHOUT">
      <component name="MAHOUT">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="SQOOP">
      <component name="SQOOP">
        <pre-upgrade>
          <!-- Remove Atlas configs that were incorrectly added to sqoop-site instead of Atlas' application.properties. -->
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_sqoop_atlas_configs" />

          <!-- If cluster is Kerberized, add configs to sqoop-atlas-application.properties,
          which will be written to the local file system if Atlas is present. -->
          <task xsi:type="configure" id="hdp_2_5_0_0_add_sqoop_atlas_security_configs" />
        </pre-upgrade>

        <pre-downgrade/> <!--  no-op to prevent config changes on downgrade -->

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="HIVE">
      <component name="HIVE_METASTORE">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="HIVE_SERVER">
        <pre-upgrade>
          <task xsi:type="manual">
            <summary>HiveServer Port Availability</summary>
            <message>Please note that the HiveServer port will now change to 10010 if Hive is using a binary transfer mode or 10011 if Hive is using an http transport mode. You can use "netstat -anp | grep 1001[01]" to determine if the port is available on each of following HiveServer host(s): {{hosts.all}}. If the port is not available, the process using it must be terminated.</message>
          </task>

          <task xsi:type="configure" id="hdp_2_5_0_0_hive_server_set_transport_mode"/>
          <task xsi:type="configure" id="hdp_2_4_0_0_hive_server_configure_authentication"/>
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_hive_audit_db" />

          <!-- Remove Atlas configs that were incorrectly added to hive-site instead of Atlas' application.properties. -->
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_hive_atlas_configs" />

          <task xsi:type="server_action" summary="Update hive-env content" class="org.apache.ambari.server.serveraction.upgrades.HiveEnvClasspathAction"/>
        </pre-upgrade>

        <pre-downgrade>
          <task xsi:type="manual">
            <summary>HiveServer Port Availability</summary>
            <message>Please note that the HiveServer port will now change to 10000 if Hive is using a binary transfer mode or 10001 if Hive is using an http transport mode. You can use "netstat -anp | grep 1000[01]" to determine if the port is available on each of following HiveServer host(s): {{hosts.all}}. If the port is not available, the process using it must be terminated.</message>
          </task>

          <task xsi:type="configure" id="hdp_2_5_0_0_hive_server_restore_transport_mode_on_downgrade"/>
        </pre-downgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="WEBHCAT_SERVER">
        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_5_0_0_webhcat_server_update_configuration_paths"/>
        </pre-upgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="HIVE_CLIENT">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="HCAT">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="SLIDER">
      <component name="SLIDER">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="SPARK">
      <component name="SPARK_JOBHISTORYSERVER">
        <pre-downgrade /> <!--  no-op to prevent config changes on downgrade -->
        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_4_0_0_spark_jobhistoryserver"/>
          <task xsi:type="configure" id="hdp_2_4_0_0_spark_java_opts"/>
        </pre-upgrade>
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
      <component name="SPARK_THRIFTSERVER">
        <pre-downgrade /> <!--  no-op to prevent config changes on downgrade -->
        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_4_0_0_spark_thriftserver"/>
          <task xsi:type="configure" id="hdp_2_4_0_0_spark_java_opts"/>
        </pre-upgrade>
        <upgrade>
          <task xsi:type="restart-task"/>
        </upgrade>
      </component>
      <component name="SPARK_CLIENT">
        <pre-downgrade /> <!--  no-op to prevent config changes on downgrade -->
        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_4_0_0_remove_spark_properties_extraJavaOptions"/>
          <task xsi:type="configure" id="hdp_2_4_0_0_spark_java_opts"/>
        </pre-upgrade>
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="OOZIE">
      <component name="OOZIE_SERVER">
        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_4_0_0_oozie_remove_service_classes" />

          <task xsi:type="server_action" summary="Adjusting Oozie properties" class="org.apache.ambari.server.serveraction.upgrades.OozieConfigCalculation"/>

          <task xsi:type="execute" hosts="all" sequential="true" summary="Shut down all Oozie servers">
            <script>scripts/oozie_server.py</script>
            <function>stop</function>
          </task>

          <!-- It is extremely important that both of these tasks run on the exact same host. Hence, pick the first alphabetically. -->
          <task xsi:type="configure_function" hosts="first" />

          <task xsi:type="execute" hosts="first" sequential="true" summary="Upgrading the Oozie database and creating a new sharelib">
            <script>scripts/oozie_server_upgrade.py</script>
            <function>upgrade_oozie_database_and_sharelib</function>
          </task>
          <task xsi:type="server_action" summary="Fixing Oozie admin users"
                class="org.apache.ambari.server.serveraction.upgrades.FixOozieAdminUsers"/>
        </pre-upgrade>

        <pre-downgrade>
          <task xsi:type="execute" hosts="all" sequential="true" summary="Shut down all Oozie servers">
            <script>scripts/oozie_server.py</script>
            <function>stop</function>
          </task>

          <task xsi:type="execute" hosts="any" sequential="true" summary="Create a new sharelib">
            <script>scripts/oozie_server_upgrade.py</script>
            <function>create_sharelib</function>
          </task>
        </pre-downgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="OOZIE_CLIENT">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="FALCON">
      <component name="FALCON_SERVER">
        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_5_0_0_falcon_server_adjust_services_property"/>
        </pre-upgrade>
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
      <component name="FALCON_CLIENT">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="KAFKA">
      <component name="KAFKA_BROKER">
        <pre-downgrade/>
        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_kafka_audit_db" />
        </pre-upgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="KNOX">
      <component name="KNOX_GATEWAY">
        <pre-downgrade /> <!--  no-op to prevent config changes on downgrade -->
        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_knox_audit_db" />
        </pre-upgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="STORM">
      <component name="NIMBUS">
        <pre-upgrade>
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_storm_audit_db" />
          <task xsi:type="configure" id="hdp_2_5_0_0_upgrade_storm_1.0"/>
          <task xsi:type="server_action" summary="Upgrade Storm Security Configs to 1.0"
                class="org.apache.ambari.server.serveraction.upgrades.StormUpgradeKerberosDescriptorConfig"/>

          <!-- Remove Atlas configs that were incorrectly added to storm-site instead of Atlas' application.properties. -->
          <task xsi:type="configure" id="hdp_2_5_0_0_remove_storm_atlas_configs" />

          <task xsi:type="configure" id="hdp_2_3_0_0_remove_empty_storm_topology_submission_notifier_plugin_class"/>

          <task xsi:type="execute" hosts="any" summary="Removing Storm data from ZooKeeper">
            <script>scripts/storm_upgrade.py</script>
            <function>delete_storm_zookeeper_data</function>
          </task>

          <task xsi:type="execute" summary="Removing local Storm data">
            <script>scripts/storm_upgrade.py</script>
            <function>delete_storm_local_data</function>
          </task>
          <task xsi:type="configure" id="hdp_2_5_0_0_add_storm_security_configs" />
        </pre-upgrade>

        <pre-downgrade>
          <task xsi:type="execute" hosts="any" summary="Removing Storm data from ZooKeeper">
            <script>scripts/storm_upgrade.py</script>
            <function>delete_storm_zookeeper_data</function>
          </task>

          <task xsi:type="execute" summary="Removing local Storm data">
            <script>scripts/storm_upgrade.py</script>
            <function>delete_storm_local_data</function>
          </task>
        </pre-downgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="SUPERVISOR">
        <pre-upgrade>
          <task xsi:type="execute" summary="Removing local Storm data">
            <script>scripts/storm_upgrade.py</script>
            <function>delete_storm_local_data</function>
          </task>
        </pre-upgrade>

        <pre-downgrade>
          <task xsi:type="execute" summary="Removing local Storm data">
            <script>scripts/storm_upgrade.py</script>
            <function>delete_storm_local_data</function>
          </task>
        </pre-downgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="STORM_UI_SERVER">
        <pre-upgrade>
          <task xsi:type="execute" summary="Removing local Storm data">
            <script>scripts/storm_upgrade.py</script>
            <function>delete_storm_local_data</function>
          </task>
        </pre-upgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>

      <component name="DRPC_SERVER">
        <pre-upgrade>
          <task xsi:type="execute" summary="Removing local Storm data">
            <script>scripts/storm_upgrade.py</script>
            <function>delete_storm_local_data</function>
          </task>
        </pre-upgrade>

        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>

        <post-upgrade>
          <task xsi:type="manual">
            <message>Please rebuild your topology using the new Storm version dependencies and resubmit it using the newly created jar.</message>
          </task>
        </post-upgrade>
      </component>
    </service>

    <service name="FLUME">
      <component name="FLUME_HANDLER">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>

    <service name="ACCUMULO">
      <component name="ACCUMULO_MASTER">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
      <component name="ACCUMULO_MONITOR">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
      <component name="ACCUMULO_GC">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
      <component name="ACCUMULO_TRACER">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
      <component name="ACCUMULO_TSERVER">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
      <component name="ACCUMULO_CLIENT">
        <upgrade>
          <task xsi:type="restart-task" />
        </upgrade>
      </component>
    </service>
  </processing>
</upgrade>
