<?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-config-changes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <services>

    <service name="TEZ">
      <component name="TEZ_CLIENT">
        <changes>
          <definition xsi:type="configure" id="hdp_2_4_0_0_tez_client_adjust_tez_lib_uris_property">
            <type>tez-site</type>
            <set key="tez.lib.uris" value="/hdp/apps/${hdp.version}/tez/tez.tar.gz"/>
          </definition>

          <definition xsi:type="configure" id="hdp_2_5_0_0_tez_client_adjust_tez_lib_uris_property">
            <type>tez-site</type>
            <set key="tez.lib.uris" value="/hdp/apps/${hdp.version}/tez/tez.tar.gz"/>
          </definition>

        </changes>
      </component>
    </service>

    <service name="SQOOP">
      <component name="SQOOP">
        <changes>
          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_sqoop_atlas_configs">
            <type>sqoop-site</type>
            <transfer operation="delete" delete-key="atlas.cluster.name" />
          </definition>

          <!-- Add these configs if the cluster is Kerberized.
          Will only be written to the local file system if Atlas is present. -->
          <definition xsi:type="configure" id="hdp_2_5_0_0_add_sqoop_atlas_security_configs">
            <condition type="cluster-env" key="security_enabled" value="true">
              <type>sqoop-atlas-application.properties</type>
              <key>atlas.jaas.KafkaClient.option.useTicketCache</key>
              <value>true</value>
            </condition>
            <condition type="cluster-env" key="security_enabled" value="true">
              <type>sqoop-atlas-application.properties</type>
              <key>atlas.jaas.KafkaClient.option.renewTicket</key>
              <value>true</value>
            </condition>
          </definition>
        </changes>
      </component>
    </service>

    <service name="HIVE">
      <component name="HIVE_SERVER">
        <changes>
          <definition xsi:type="configure" id="hdp_2_4_0_0_hive_server_set_transport_mode">
            <condition type="hive-site" key="hive.server2.transport.mode" value="binary">
              <type>hive-site</type>
              <key>hive.server2.thrift.port</key>
              <value>10010</value>
            </condition>
            <condition type="hive-site" key="hive.server2.transport.mode" value="http">
              <type>hive-site</type>
              <key>hive.server2.http.port</key>
              <value>10011</value>
            </condition>
          </definition>

          <definition xsi:type="configure" id="hdp_2_4_0_0_hive_server_restore_transport_mode_on_downgrade">
            <condition type="hive-site" key="hive.server2.transport.mode" value="binary">
              <type>hive-site</type>
              <key>hive.server2.thrift.port</key>
              <value>10000</value>
            </condition>
            <condition type="hive-site" key="hive.server2.transport.mode" value="http">
              <type>hive-site</type>
              <key>hive.server2.http.port</key>
              <value>10001</value>
            </condition>
          </definition>

          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_hive_audit_db">
            <type>ranger-hive-audit</type>
            <transfer operation="delete" delete-key="xasecure.audit.destination.db" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.url" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.user" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.password" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.driver" />
            <transfer operation="delete" delete-key="xasecure.audit.credential.provider.file" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.batch.filespool.dir" />
          </definition>

          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_hive_atlas_configs">
            <type>hive-site</type>
            <transfer operation="delete" delete-key="atlas.rest.address" />
            <transfer operation="delete" delete-key="atlas.hook.hive.minThreads" />
            <transfer operation="delete" delete-key="atlas.hook.hive.maxThreads" />
          </definition>

        </changes>
      </component>

      <component name="WEBHCAT_SERVER">
        <changes>
          <definition xsi:type="configure" id="hdp_2_4_0_0_webhcat_server_update_configuration_paths" summary="Updating Configuration Paths">
            <type>webhcat-site</type>
            <replace key="templeton.jar" find="/usr/hdp/current/hive-webhcat" replace-with="/usr/hdp/${hdp.version}/hive"/>
            <replace key="templeton.libjars" find="/usr/hdp/current/zookeeper-client" replace-with="/usr/hdp/${hdp.version}/zookeeper,/usr/hdp/${hdp.version}/hive/lib/hive-common.jar"/>
            <replace key="templeton.hadoop" find="/usr/hdp/current/hadoop-client" replace-with="/usr/hdp/${hdp.version}/hadoop"/>
            <replace key="templeton.hcat" find="/usr/hdp/current/hive-client" replace-with="/usr/hdp/${hdp.version}/hive"/>
            <set key="templeton.hive.extra.files" value="/usr/hdp/${hdp.version}/tez/conf/tez-site.xml,/usr/hdp/${hdp.version}/tez,/usr/hdp/${hdp.version}/tez/lib"/>
          </definition>
        </changes>
      </component>
    </service>

    <service name="RANGER">
      <component name="RANGER_ADMIN">
        <changes>

          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_audit_db_flag">
            <type>ranger-env</type>
            <transfer operation="delete" delete-key="xasecure.audit.destination.db"/>
          </definition>

          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_audit_db_admin_properties">
            <type>admin-properties</type>
            <transfer operation="delete" delete-key="audit_db_name" />
            <transfer operation="delete" delete-key="audit_db_user" />
            <transfer operation="delete" delete-key="audit_db_password" />
          </definition>

          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_audit_db_ranger_admin_site">
            <type>ranger-admin-site</type>
            <set key="ranger.audit.source.type" value="solr"/>
            <transfer operation="delete" delete-key="ranger.jpa.audit.jdbc.driver" />
            <transfer operation="delete" delete-key="ranger.jpa.audit.jdbc.url" />
            <transfer operation="delete" delete-key="ranger.jpa.audit.jdbc.user" />
            <transfer operation="delete" delete-key="ranger.jpa.audit.jdbc.password" />
            <transfer operation="delete" delete-key="ranger.jpa.audit.jdbc.credential.alias" />
            <transfer operation="delete" delete-key="ranger.jpa.audit.jdbc.dialect" />
          </definition>

          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_sso_property">
            <type>ranger-admin-site</type>
            <transfer operation="delete" delete-key="ranger.sso.cookiename" />
            <transfer operation="delete" delete-key="ranger.sso.query.param.originalurl" />
          </definition>

          <definition xsi:type="configure" id="hdp_2_5_0_0_set_external_solrCloud_flag">
            <condition type="ranger-env" key="is_solrCloud_enabled" value="true">
              <type>ranger-env</type>
              <key>is_external_solrCloud_enabled</key>
              <value>true</value>
            </condition>
          </definition>

        </changes>
      </component>
    </service>

    <service name="RANGER_KMS">
      <component name="RANGER_KMS_SERVER">
        <changes>
          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_kms_audit_db">
            <type>ranger-kms-audit</type>
            <transfer operation="delete" delete-key="xasecure.audit.destination.db" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.url" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.user" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.password" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.driver" />
            <transfer operation="delete" delete-key="xasecure.audit.credential.provider.file" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.batch.filespool.dir" />
          </definition>
        </changes>
      </component>
    </service>

    <service name="HDFS">
      <component name="NAMENODE">
        <changes>
          <definition xsi:type="configure" id="hdp_2_5_0_0_namenode_ha_adjustments">
            <type>hdfs-site</type>
            <transfer operation="delete" delete-key="dfs.namenode.rpc-address" if-type="hdfs-site" if-key="dfs.nameservices" if-key-state="present"/>
            <transfer operation="delete" delete-key="dfs.namenode.http-address" if-type="hdfs-site" if-key="dfs.nameservices" if-key-state="present"/>
            <transfer operation="delete" delete-key="dfs.namenode.https-address" if-type="hdfs-site" if-key="dfs.nameservices" if-key-state="present"/>
          </definition>
          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_hdfs_audit_db">
            <type>ranger-hdfs-audit</type>
            <transfer operation="delete" delete-key="xasecure.audit.destination.db" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.url" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.user" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.password" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.driver" />
            <transfer operation="delete" delete-key="xasecure.audit.credential.provider.file" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.batch.filespool.dir" />
          </definition>
        </changes>
      </component>
    </service>

    <service name="YARN">
      <component name="RESOURCEMANAGER">
        <changes>
          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_yarn_audit_db">
            <type>ranger-yarn-audit</type>
            <transfer operation="delete" delete-key="xasecure.audit.destination.db" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.url" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.user" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.password" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.driver" />
            <transfer operation="delete" delete-key="xasecure.audit.credential.provider.file" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.batch.filespool.dir" />
          </definition>
        </changes>
      </component>

      <component name="NODEMANAGER">
        <changes>
          <definition xsi:type="configure" id="hdp_2_5_0_0_add_spark2_yarn_shuffle">
            <type>yarn-site</type>
            <set key="yarn.nodemanager.aux-services" value="mapreduce_shuffle,spark_shuffle,spark2_shuffle"/>
            <!-- Ideally we need to append spark2_shuffle to the existing value -->
          </definition>
        </changes>
      </component>
    </service>

    <service name="KAFKA">
      <component name="KAFKA_BROKER">
        <changes>
          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_kafka_audit_db">
            <type>ranger-kafka-audit</type>
            <transfer operation="delete" delete-key="xasecure.audit.destination.db" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.url" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.user" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.password" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.driver" />
            <transfer operation="delete" delete-key="xasecure.audit.credential.provider.file" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.batch.filespool.dir" />
          </definition>
        </changes>
      </component>
    </service>

    <service name="STORM">
      <component name="NIMBUS">
        <changes>
          <definition xsi:type="configure" id="hdp_2_4_0_0_remove_empty_storm_topology_submission_notifier_plugin_class"
                      summary="Removing empty storm.topology.submission.notifier.plugin.class property">
            <type>storm-site</type>
            <transfer operation="delete" delete-key="storm.topology.submission.notifier.plugin.class" if-key="storm.topology.submission.notifier.plugin.class"
                      if-type="storm-site" if-value=" "/>
          </definition>

          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_storm_audit_db">
            <type>ranger-storm-audit</type>
            <transfer operation="delete" delete-key="xasecure.audit.destination.db" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.url" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.user" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.password" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.driver" />
            <transfer operation="delete" delete-key="xasecure.audit.credential.provider.file" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.batch.filespool.dir" />
          </definition>

          
          <definition xsi:type="configure" id="hdp_2_5_0_0_upgrade_storm_1.0">
            <type>storm-site</type>
            <replace key="_storm.thrift.nonsecure.transport" find="backtype.storm.security.auth.SimpleTransportPlugin"
                     replace-with="org.apache.storm.security.auth.SimpleTransportPlugin" />
            <replace key="_storm.thrift.secure.transport" find="backtype.storm.security.auth.KerberosSaslTransportPlugin"
                     replace-with="org.apache.storm.security.auth.KerberosSaslTransportPlugin" />
            <replace key="storm.messaging.transport" find="backtype.storm.messaging.netty.Context"
                     replace-with="org.apache.storm.messaging.netty.Context" />
            <replace key="nimbus.topology.validator" find="backtype.storm.nimbus.DefaultTopologyValidator"
                     replace-with="org.apache.storm.nimbus.DefaultTopologyValidator" />
            <replace key="topology.spout.wait.strategy" find="backtype.storm.spout.SleepSpoutWaitStrategy"
                     replace-with="org.apache.storm.spout.SleepSpoutWaitStrategy" />
            <replace key="topology.kryo.factory" find="backtype.storm.serialization.DefaultKryoFactory"
                     replace-with="org.apache.storm.serialization.DefaultKryoFactory" />
            <replace key="topology.tuple.serializer" find="backtype.storm.serialization.types.ListDelegateSerializer"
                     replace-with="org.apache.storm.serialization.types.ListDelegateSerializer" />
            <replace key="nimbus.authorizer" find="backtype.storm.security.auth.authorizer.SimpleACLAuthorizer"
                     replace-with="org.apache.storm.security.auth.authorizer.SimpleACLAuthorizer" />
            <replace key="drpc.authorizer" find="backtype.storm.security.auth.authorizer.DRPCSimpleACLAuthorizer"
                     replace-with="org.apache.storm.security.auth.authorizer.DRPCSimpleACLAuthorizer" />
            <replace key="ui.filter" find="backtype.storm.security.auth.KerberosPrincipalToLocal"
                     replace-with="org.apache.storm.security.auth.KerberosPrincipalToLocal" />
            <replace key="storm.principal.tolocal" find="backtype.storm.security.auth.KerberosPrincipalToLocal"
                     replace-with="org.apache.storm.security.auth.KerberosPrincipalToLocal" />
            <set key="client.jartransformer.class" value="org.apache.storm.hack.StormShadeTransformer" />
          </definition>
          
          <definition xsi:type="configure" id="hdp_2_5_0_0_add_storm_security_configs">
            <condition type="cluster-env" key="security_enabled" value="true">
              <type>storm-site</type>
              <key>nimbus.impersonation.authorizer</key>
              <value>org.apache.storm.security.auth.authorizer.ImpersonationAuthorizer</value>
            </condition>
            <condition type="cluster-env" key="security_enabled" value="true">
              <type>storm-site</type>
              <key>nimbus.impersonation.acl</key>
              <value>"{ {{storm_bare_jaas_principal}} : {hosts: ['*'], groups: ['*']}}"</value>
            </condition>
            <condition type="cluster-env" key="security_enabled" value="true">
              <type>storm-site</type>
              <key>nimbus.admins</key>
              <value>"['{{storm_bare_jaas_principal}}', '{{ambari_bare_jaas_principal}}']"</value>
            </condition>
          </definition>

          <!-- All of these configs are present in Atlas' application.properties file instead and then copied to the hook's atlas-application.properties file. -->
          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_storm_atlas_configs">
            <type>storm-site</type>
            <transfer operation="delete" delete-key="atlas.cluster.name" />
          </definition>
        </changes>
      </component>
    </service>

    <service name="HBASE">
      <component name="HBASE_MASTER">
        <changes>
          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_hbase_audit_db">
            <type>ranger-hbase-audit</type>
            <transfer operation="delete" delete-key="xasecure.audit.destination.db" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.url" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.user" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.password" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.driver" />
            <transfer operation="delete" delete-key="xasecure.audit.credential.provider.file" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.batch.filespool.dir" />
          </definition>
        </changes>
      </component>
    </service>

    <service name="KNOX">
      <component name="KNOX_GATEWAY">
        <changes>
          <definition xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_knox_audit_db">
            <type>ranger-knox-audit</type>
            <transfer operation="delete" delete-key="xasecure.audit.destination.db" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.url" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.user" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.password" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.jdbc.driver" />
            <transfer operation="delete" delete-key="xasecure.audit.credential.provider.file" />
            <transfer operation="delete" delete-key="xasecure.audit.destination.db.batch.filespool.dir" />
          </definition>
        </changes>
      </component>
    </service>

    <service name="FALCON">
      <component name="FALCON_SERVER">
        <changes>
          <definition xsi:type="configure" id="hdp_2_5_0_0_falcon_server_adjust_services_property">
            <type>falcon-startup.properties</type>
            <set key="*.application.services" value="org.apache.falcon.security.AuthenticationInitializationService, org.apache.falcon.workflow.WorkflowJobEndNotificationService, org.apache.falcon.service.ProcessSubscriberService, org.apache.falcon.extensions.ExtensionService, org.apache.falcon.service.LifecyclePolicyMap, org.apache.falcon.entity.store.ConfigurationStore, org.apache.falcon.rerun.service.RetryService, org.apache.falcon.rerun.service.LateRunService, org.apache.falcon.service.LogCleanupService, org.apache.falcon.metadata.MetadataMappingService{{atlas_application_class_addition}}"/>
          </definition>
        </changes>
      </component>
    </service>
  </services>

</upgrade-config-changes>
