This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new c838077  AMBARI-23230 ADDENDUM - Upgrade Solr configuration while 
upgrading Ambari 2.6.1 -> 2.7.0 (#750)
c838077 is described below

commit c838077d22f994ec7be5dd84dcbe0a2d1d8078d7
Author: kasakrisz <[email protected]>
AuthorDate: Thu Mar 22 15:22:50 2018 +0100

    AMBARI-23230 ADDENDUM - Upgrade Solr configuration while upgrading Ambari 
2.6.1 -> 2.7.0 (#750)
---
 .../ambari/server/upgrade/UpgradeCatalog270.java   | 300 ++++++++++-----------
 .../src/main/python/ambari_server/serverUpgrade.py |   2 +-
 2 files changed, 151 insertions(+), 151 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog270.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog270.java
index 42d7342..b8406c4 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog270.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog270.java
@@ -914,6 +914,8 @@ public class UpgradeCatalog270 extends 
AbstractUpgradeCatalog {
    */
   @Override
   protected void executeDMLUpdates() throws AmbariException, SQLException {
+    renameAmbariInfra();
+    updateKerberosDescriptorArtifacts();
     addNewConfigurationsFromXml();
     showHcatDeletedUserMessage();
     setStatusOfStagesAndRequests();
@@ -924,76 +926,108 @@ public class UpgradeCatalog270 extends 
AbstractUpgradeCatalog {
     createRoleAuthorizations();
     addUserAuthenticationSequence();
     updateSolrConfigurations();
-    renameAmbariInfra();
-    updateKerberosDescriptorArtifacts();
   }
 
-  protected void updateSolrConfigurations() throws AmbariException {
+  protected void renameAmbariInfra() throws SQLException {
+    LOG.info("Renaming service AMBARI_INFRA to AMBARI_INFRA_SOLR");
+    dbAccessor.dropFKConstraint(SERVICE_COMPONENT_DESIRED_STATE_TABLE, 
SERVICE_COMPONENT_DESIRED_STATES_CLUSTER_SERVICES_FK);
+    dbAccessor.dropFKConstraint(SERVICE_DESIRED_STATE_TABLE, 
SERVICE_DESIRED_STATE_CLUSTER_SERVICES_FK);
+    dbAccessor.dropFKConstraint(COMPONENT_DESIRED_STATE_TABLE, 
COMPONENT_DESIRED_STATE_SERVICE_COMPONENT_DESIRED_STATE_FK);
+    dbAccessor.dropFKConstraint(COMPONENT_STATE_TABLE, 
COMPONENT_STATE_SERVICE_COMPONENT_DESIRED_STATE_FK);
+    try {
+      dbAccessor.updateTable(SERVICE_COMPONENT_DESIRED_STATE_TABLE, 
SERVICE_NAME_COLUMN, AMBARI_INFRA_NEW_NAME, String.format("WHERE %s = '%s'", 
SERVICE_NAME_COLUMN, AMBARI_INFRA_OLD_NAME));
+      dbAccessor.updateTable(COMPONENT_DESIRED_STATE_TABLE, 
SERVICE_NAME_COLUMN, AMBARI_INFRA_NEW_NAME, String.format("WHERE %s = '%s'", 
SERVICE_NAME_COLUMN, AMBARI_INFRA_OLD_NAME));
+      dbAccessor.updateTable(COMPONENT_STATE_TABLE, SERVICE_NAME_COLUMN, 
AMBARI_INFRA_NEW_NAME, String.format("WHERE %s = '%s'", SERVICE_NAME_COLUMN, 
AMBARI_INFRA_OLD_NAME));
+      dbAccessor.updateTable(SERVICE_DESIRED_STATE_TABLE, SERVICE_NAME_COLUMN, 
AMBARI_INFRA_NEW_NAME, String.format("WHERE %s = '%s'", SERVICE_NAME_COLUMN, 
AMBARI_INFRA_OLD_NAME));
+      dbAccessor.updateTable(CLUSTER_SERVICES_TABLE, SERVICE_NAME_COLUMN, 
AMBARI_INFRA_NEW_NAME, String.format("WHERE %s = '%s'", SERVICE_NAME_COLUMN, 
AMBARI_INFRA_OLD_NAME));
+    }
+    finally {
+      dbAccessor.addFKConstraint(SERVICE_COMPONENT_DESIRED_STATE_TABLE, 
SERVICE_COMPONENT_DESIRED_STATES_CLUSTER_SERVICES_FK,
+              SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, CLUSTER_SERVICES_TABLE, 
SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, false);
+      dbAccessor.addFKConstraint(SERVICE_DESIRED_STATE_TABLE, 
SERVICE_DESIRED_STATE_CLUSTER_SERVICES_FK,
+              SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, CLUSTER_SERVICES_TABLE, 
SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, false);
+      dbAccessor.addFKConstraint(COMPONENT_DESIRED_STATE_TABLE, 
COMPONENT_DESIRED_STATE_SERVICE_COMPONENT_DESIRED_STATE_FK,
+              COMPONENT_NAME_SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, 
SERVICE_COMPONENT_DESIRED_STATE_TABLE, 
COMPONENT_NAME_SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, false);
+      dbAccessor.addFKConstraint(COMPONENT_STATE_TABLE, 
COMPONENT_STATE_SERVICE_COMPONENT_DESIRED_STATE_FK,
+              COMPONENT_NAME_SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, 
SERVICE_COMPONENT_DESIRED_STATE_TABLE, 
COMPONENT_NAME_SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, false);
+    }
+
+
     AmbariManagementController ambariManagementController = 
injector.getInstance(AmbariManagementController.class);
     Clusters clusters = ambariManagementController.getClusters();
     if (clusters == null)
       return;
 
     Map<String, Cluster> clusterMap = clusters.getClusters();
-
-    ConfigHelper configHelper = injector.getInstance(ConfigHelper.class);
-    if (clusterMap == null || clusterMap.isEmpty())
+    if (MapUtils.isEmpty(clusterMap))
       return;
 
-    for (final Cluster cluster : clusterMap.values()) {
-      updateConfig(cluster, "logsearch-service_logs-solrconfig", (content) -> {
-        content = updateLuceneMatchVersion(content, "7.2.1");
-        return updateMergeFactor(content, 
"logsearch_service_logs_merge_factor");
-      });
-      updateConfig(cluster, "logsearch-audit_logs-solrconfig", (content) -> {
-        content = updateLuceneMatchVersion(content,"7.2.1");
-        return updateMergeFactor(content, "logsearch_audit_logs_merge_factor");
-      });
-      updateConfig(cluster, "ranger-solr-configuration", (content) -> {
-        content = updateLuceneMatchVersion(content,"6.6.0");
-        return updateMergeFactor(content, "ranger_audit_logs_merge_factor");
-      });
+    ServiceConfigDAO serviceConfigDAO = 
injector.getInstance(ServiceConfigDAO.class);
+    for (ServiceConfigEntity serviceConfigEntity : serviceConfigDAO.findAll()) 
{
+      if (AMBARI_INFRA_OLD_NAME.equals(serviceConfigEntity.getServiceName())) {
+        serviceConfigEntity.setServiceName(AMBARI_INFRA_NEW_NAME);
+        serviceConfigDAO.merge(serviceConfigEntity);
+      }
+    }
 
-      updateConfig(cluster, "atlas-solrconfig",
-              (content) -> updateLuceneMatchVersion(content,"6.6.0"));
+    AlertDefinitionDAO alertDefinitionDAO = 
injector.getInstance(AlertDefinitionDAO.class);
+    for (final Cluster cluster : clusterMap.values()) {
+      for (AlertDefinitionEntity alertDefinitionEntity : 
alertDefinitionDAO.findByService(cluster.getClusterId(), 
AMBARI_INFRA_OLD_NAME)) {
+        alertDefinitionEntity.setServiceName(AMBARI_INFRA_NEW_NAME);
+        alertDefinitionDAO.merge(alertDefinitionEntity);
+      }
+    }
 
-      updateConfig(cluster, "infra-solr-env", this::updateInfraSolrEnv);
+    AlertDispatchDAO alertDispatchDAO = 
injector.getInstance(AlertDispatchDAO.class);
+    for (AlertGroupEntity alertGroupEntity : alertDispatchDAO.findAllGroups()) 
{
+      if (AMBARI_INFRA_OLD_NAME.equals(alertGroupEntity.getServiceName())) {
+        alertGroupEntity.setServiceName(AMBARI_INFRA_NEW_NAME);
+        alertGroupEntity.setGroupName(AMBARI_INFRA_NEW_NAME);
+        alertDispatchDAO.merge(alertGroupEntity);
+      }
+    }
 
-      updateConfig(cluster, "infra-solr-security-json", (content) ->
-              
content.replace("org.apache.ambari.infra.security.InfraRuleBasedAuthorizationPlugin",
-                      
"org.apache.solr.security.InfraRuleBasedAuthorizationPlugin"));
+    AlertsDAO alertsDAO = injector.getInstance(AlertsDAO.class);
+    for (AlertHistoryEntity alertHistoryEntity : alertsDAO.findAll()) {
+      if (AMBARI_INFRA_OLD_NAME.equals(alertHistoryEntity.getServiceName())) {
+        alertHistoryEntity.setServiceName(AMBARI_INFRA_NEW_NAME);
+        alertsDAO.merge(alertHistoryEntity);
+      }
     }
   }
 
-  protected String updateInfraSolrEnv(String content) {
-    return content.replaceAll("SOLR_KERB_NAME_RULES=\".*\"", "")
-            .replaceAll("#*SOLR_HOST=\".*\"", "SOLR_HOST=`hostname -f`")
-            .replaceAll("SOLR_AUTHENTICATION_CLIENT_CONFIGURER=\".*\"", 
"SOLR_AUTH_TYPE=\"kerberos\"");
-  }
+  @Override
+  protected void updateKerberosDescriptorArtifact(ArtifactDAO artifactDAO, 
ArtifactEntity artifactEntity) throws AmbariException {
+    if (artifactEntity == null)
+      return;
 
-  private void updateConfig(Cluster cluster, String configType, 
Function<String, String> contentUpdater) throws AmbariException {
-    Config config = cluster.getDesiredConfigByType(configType);
-    if (config == null)
+    Map<String, Object> data = artifactEntity.getArtifactData();
+    if (data == null)
       return;
-    if (config.getProperties() == null || 
!config.getProperties().containsKey("content"))
+
+    final KerberosDescriptor kerberosDescriptor = new 
KerberosDescriptorFactory().createInstance(data);
+    if (kerberosDescriptor == null)
       return;
 
-    String content = config.getProperties().get("content");
-    content = contentUpdater.apply(content);
-    updateConfigurationPropertiesForCluster(cluster, configType, 
Collections.singletonMap("content", content), true, true);
-  }
+    Map<String, KerberosServiceDescriptor> services = 
kerberosDescriptor.getServices();
+    KerberosServiceDescriptor ambariInfraService = 
services.get(AMBARI_INFRA_OLD_NAME);
+    if (ambariInfraService == null)
+      return;
 
-  protected String updateLuceneMatchVersion(String content, String 
newLuceneMatchVersion) {
-    return content.replaceAll("<luceneMatchVersion>.*</luceneMatchVersion>",
-            "<luceneMatchVersion>" + newLuceneMatchVersion + 
"</luceneMatchVersion>");
-  }
+    ambariInfraService.setName(AMBARI_INFRA_NEW_NAME);
+    services.remove(AMBARI_INFRA_OLD_NAME);
+    services.put(AMBARI_INFRA_NEW_NAME, ambariInfraService);
+    kerberosDescriptor.setServices(services);
 
-  protected String updateMergeFactor(String content, String variableName) {
-    return content.replaceAll("<mergeFactor>\\{\\{" + variableName + 
"\\}\\}</mergeFactor>",
-            "<mergePolicyFactory 
class=\"org.apache.solr.index.TieredMergePolicyFactory\">\n" +
-                    "      <int name=\"maxMergeAtOnce\">{{" + variableName + 
"}}</int>\n" +
-                    "      <int name=\"segmentsPerTier\">{{" + variableName + 
"}}</int>\n" +
-                    "    </mergePolicyFactory>");
+    for (KerberosServiceDescriptor serviceDescriptor : 
kerberosDescriptor.getServices().values()) {
+      updateKerberosIdentities(serviceDescriptor);
+      for (KerberosComponentDescriptor componentDescriptor : 
serviceDescriptor.getComponents().values()) {
+        updateKerberosIdentities(componentDescriptor);
+      }
+    }
+
+    artifactEntity.setArtifactData(kerberosDescriptor.toMap());
+    artifactDAO.merge(artifactEntity);
   }
 
   protected void addUserAuthenticationSequence() throws SQLException {
@@ -1202,108 +1236,6 @@ public class UpgradeCatalog270 extends 
AbstractUpgradeCatalog {
     return 
content.replaceAll("(?s)<requestHandler\\s+name=\"/admin/\"\\s+class=\"solr.admin.AdminHandlers\"\\s*/>",
 "");
   }
 
-  protected void renameAmbariInfra() throws SQLException {
-    LOG.info("Renaming service AMBARI_INFRA to AMBARI_INFRA_SOLR");
-    dbAccessor.dropFKConstraint(SERVICE_COMPONENT_DESIRED_STATE_TABLE, 
SERVICE_COMPONENT_DESIRED_STATES_CLUSTER_SERVICES_FK);
-    dbAccessor.dropFKConstraint(SERVICE_DESIRED_STATE_TABLE, 
SERVICE_DESIRED_STATE_CLUSTER_SERVICES_FK);
-    dbAccessor.dropFKConstraint(COMPONENT_DESIRED_STATE_TABLE, 
COMPONENT_DESIRED_STATE_SERVICE_COMPONENT_DESIRED_STATE_FK);
-    dbAccessor.dropFKConstraint(COMPONENT_STATE_TABLE, 
COMPONENT_STATE_SERVICE_COMPONENT_DESIRED_STATE_FK);
-    try {
-      dbAccessor.updateTable(SERVICE_COMPONENT_DESIRED_STATE_TABLE, 
SERVICE_NAME_COLUMN, AMBARI_INFRA_NEW_NAME, String.format("WHERE %s = '%s'", 
SERVICE_NAME_COLUMN, AMBARI_INFRA_OLD_NAME));
-      dbAccessor.updateTable(COMPONENT_DESIRED_STATE_TABLE, 
SERVICE_NAME_COLUMN, AMBARI_INFRA_NEW_NAME, String.format("WHERE %s = '%s'", 
SERVICE_NAME_COLUMN, AMBARI_INFRA_OLD_NAME));
-      dbAccessor.updateTable(COMPONENT_STATE_TABLE, SERVICE_NAME_COLUMN, 
AMBARI_INFRA_NEW_NAME, String.format("WHERE %s = '%s'", SERVICE_NAME_COLUMN, 
AMBARI_INFRA_OLD_NAME));
-      dbAccessor.updateTable(SERVICE_DESIRED_STATE_TABLE, SERVICE_NAME_COLUMN, 
AMBARI_INFRA_NEW_NAME, String.format("WHERE %s = '%s'", SERVICE_NAME_COLUMN, 
AMBARI_INFRA_OLD_NAME));
-      dbAccessor.updateTable(CLUSTER_SERVICES_TABLE, SERVICE_NAME_COLUMN, 
AMBARI_INFRA_NEW_NAME, String.format("WHERE %s = '%s'", SERVICE_NAME_COLUMN, 
AMBARI_INFRA_OLD_NAME));
-    }
-    finally {
-      dbAccessor.addFKConstraint(SERVICE_COMPONENT_DESIRED_STATE_TABLE, 
SERVICE_COMPONENT_DESIRED_STATES_CLUSTER_SERVICES_FK,
-              SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, CLUSTER_SERVICES_TABLE, 
SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, false);
-      dbAccessor.addFKConstraint(SERVICE_DESIRED_STATE_TABLE, 
SERVICE_DESIRED_STATE_CLUSTER_SERVICES_FK,
-              SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, CLUSTER_SERVICES_TABLE, 
SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, false);
-      dbAccessor.addFKConstraint(COMPONENT_DESIRED_STATE_TABLE, 
COMPONENT_DESIRED_STATE_SERVICE_COMPONENT_DESIRED_STATE_FK,
-              COMPONENT_NAME_SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, 
SERVICE_COMPONENT_DESIRED_STATE_TABLE, 
COMPONENT_NAME_SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, false);
-      dbAccessor.addFKConstraint(COMPONENT_STATE_TABLE, 
COMPONENT_STATE_SERVICE_COMPONENT_DESIRED_STATE_FK,
-              COMPONENT_NAME_SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, 
SERVICE_COMPONENT_DESIRED_STATE_TABLE, 
COMPONENT_NAME_SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS, false);
-    }
-
-
-    AmbariManagementController ambariManagementController = 
injector.getInstance(AmbariManagementController.class);
-    Clusters clusters = ambariManagementController.getClusters();
-    if (clusters == null)
-      return;
-
-    Map<String, Cluster> clusterMap = clusters.getClusters();
-    if (MapUtils.isEmpty(clusterMap))
-      return;
-
-    ServiceConfigDAO serviceConfigDAO = 
injector.getInstance(ServiceConfigDAO.class);
-    for (ServiceConfigEntity serviceConfigEntity : serviceConfigDAO.findAll()) 
{
-      if (AMBARI_INFRA_OLD_NAME.equals(serviceConfigEntity.getServiceName())) {
-        serviceConfigEntity.setServiceName(AMBARI_INFRA_NEW_NAME);
-        serviceConfigDAO.merge(serviceConfigEntity);
-      }
-    }
-
-    AlertDefinitionDAO alertDefinitionDAO = 
injector.getInstance(AlertDefinitionDAO.class);
-    for (final Cluster cluster : clusterMap.values()) {
-      for (AlertDefinitionEntity alertDefinitionEntity : 
alertDefinitionDAO.findByService(cluster.getClusterId(), 
AMBARI_INFRA_OLD_NAME)) {
-        alertDefinitionEntity.setServiceName(AMBARI_INFRA_NEW_NAME);
-        alertDefinitionDAO.merge(alertDefinitionEntity);
-      }
-    }
-
-    AlertDispatchDAO alertDispatchDAO = 
injector.getInstance(AlertDispatchDAO.class);
-    for (AlertGroupEntity alertGroupEntity : alertDispatchDAO.findAllGroups()) 
{
-      if (AMBARI_INFRA_OLD_NAME.equals(alertGroupEntity.getServiceName())) {
-        alertGroupEntity.setServiceName(AMBARI_INFRA_NEW_NAME);
-        alertGroupEntity.setGroupName(AMBARI_INFRA_NEW_NAME);
-        alertDispatchDAO.merge(alertGroupEntity);
-      }
-    }
-
-    AlertsDAO alertsDAO = injector.getInstance(AlertsDAO.class);
-    for (AlertHistoryEntity alertHistoryEntity : alertsDAO.findAll()) {
-      if (AMBARI_INFRA_OLD_NAME.equals(alertHistoryEntity.getServiceName())) {
-        alertHistoryEntity.setServiceName(AMBARI_INFRA_NEW_NAME);
-        alertsDAO.merge(alertHistoryEntity);
-      }
-    }
-  }
-
-  @Override
-  protected void updateKerberosDescriptorArtifact(ArtifactDAO artifactDAO, 
ArtifactEntity artifactEntity) throws AmbariException {
-    if (artifactEntity == null)
-      return;
-
-    Map<String, Object> data = artifactEntity.getArtifactData();
-    if (data == null)
-      return;
-
-    final KerberosDescriptor kerberosDescriptor = new 
KerberosDescriptorFactory().createInstance(data);
-    if (kerberosDescriptor == null)
-      return;
-
-    Map<String, KerberosServiceDescriptor> services = 
kerberosDescriptor.getServices();
-    KerberosServiceDescriptor ambariInfraService = 
services.get(AMBARI_INFRA_OLD_NAME);
-    if (ambariInfraService == null)
-      return;
-
-    ambariInfraService.setName(AMBARI_INFRA_NEW_NAME);
-    services.remove(AMBARI_INFRA_OLD_NAME);
-    services.put(AMBARI_INFRA_NEW_NAME, ambariInfraService);
-    kerberosDescriptor.setServices(services);
-
-    for (KerberosServiceDescriptor serviceDescriptor : 
kerberosDescriptor.getServices().values()) {
-      updateKerberosIdentities(serviceDescriptor);
-      for (KerberosComponentDescriptor componentDescriptor : 
serviceDescriptor.getComponents().values()) {
-        updateKerberosIdentities(componentDescriptor);
-      }
-    }
-
-    artifactEntity.setArtifactData(kerberosDescriptor.toMap());
-    artifactDAO.merge(artifactEntity);
-  }
-
   private void updateKerberosIdentities(AbstractKerberosDescriptorContainer 
descriptorContainer) {
     if (descriptorContainer.getIdentities() == null)
       return;
@@ -1497,4 +1429,72 @@ public class UpgradeCatalog270 extends 
AbstractUpgradeCatalog {
       }
     });
   }
+
+  protected void updateSolrConfigurations() throws AmbariException {
+    AmbariManagementController ambariManagementController = 
injector.getInstance(AmbariManagementController.class);
+    Clusters clusters = ambariManagementController.getClusters();
+    if (clusters == null)
+      return;
+
+    Map<String, Cluster> clusterMap = clusters.getClusters();
+
+    ConfigHelper configHelper = injector.getInstance(ConfigHelper.class);
+    if (clusterMap == null || clusterMap.isEmpty())
+      return;
+
+    for (final Cluster cluster : clusterMap.values()) {
+      updateConfig(cluster, "logsearch-service_logs-solrconfig", (content) -> {
+        content = updateLuceneMatchVersion(content, "7.2.1");
+        return updateMergeFactor(content, 
"logsearch_service_logs_merge_factor");
+      });
+      updateConfig(cluster, "logsearch-audit_logs-solrconfig", (content) -> {
+        content = updateLuceneMatchVersion(content,"7.2.1");
+        return updateMergeFactor(content, "logsearch_audit_logs_merge_factor");
+      });
+      updateConfig(cluster, "ranger-solr-configuration", (content) -> {
+        content = updateLuceneMatchVersion(content,"6.6.0");
+        return updateMergeFactor(content, "ranger_audit_logs_merge_factor");
+      });
+
+      updateConfig(cluster, "atlas-solrconfig",
+              (content) -> updateLuceneMatchVersion(content,"6.6.0"));
+
+      updateConfig(cluster, "infra-solr-env", this::updateInfraSolrEnv);
+
+      updateConfig(cluster, "infra-solr-security-json", (content) ->
+              
content.replace("org.apache.ambari.infra.security.InfraRuleBasedAuthorizationPlugin",
+                      
"org.apache.solr.security.InfraRuleBasedAuthorizationPlugin"));
+    }
+  }
+
+  private void updateConfig(Cluster cluster, String configType, 
Function<String, String> contentUpdater) throws AmbariException {
+    Config config = cluster.getDesiredConfigByType(configType);
+    if (config == null)
+      return;
+    if (config.getProperties() == null || 
!config.getProperties().containsKey("content"))
+      return;
+
+    String content = config.getProperties().get("content");
+    content = contentUpdater.apply(content);
+    updateConfigurationPropertiesForCluster(cluster, configType, 
Collections.singletonMap("content", content), true, true);
+  }
+
+  protected String updateLuceneMatchVersion(String content, String 
newLuceneMatchVersion) {
+    return content.replaceAll("<luceneMatchVersion>.*</luceneMatchVersion>",
+            "<luceneMatchVersion>" + newLuceneMatchVersion + 
"</luceneMatchVersion>");
+  }
+
+  protected String updateMergeFactor(String content, String variableName) {
+    return content.replaceAll("<mergeFactor>\\{\\{" + variableName + 
"\\}\\}</mergeFactor>",
+            "<mergePolicyFactory 
class=\"org.apache.solr.index.TieredMergePolicyFactory\">\n" +
+                    "      <int name=\"maxMergeAtOnce\">{{" + variableName + 
"}}</int>\n" +
+                    "      <int name=\"segmentsPerTier\">{{" + variableName + 
"}}</int>\n" +
+                    "    </mergePolicyFactory>");
+  }
+
+  protected String updateInfraSolrEnv(String content) {
+    return content.replaceAll("SOLR_KERB_NAME_RULES=\".*\"", "")
+            .replaceAll("#*SOLR_HOST=\".*\"", "SOLR_HOST=`hostname -f`")
+            .replaceAll("SOLR_AUTHENTICATION_CLIENT_CONFIGURER=\".*\"", 
"SOLR_AUTH_TYPE=\"kerberos\"");
+  }
 }
diff --git a/ambari-server/src/main/python/ambari_server/serverUpgrade.py 
b/ambari-server/src/main/python/ambari_server/serverUpgrade.py
index 88d3607..31ce9d0 100644
--- a/ambari-server/src/main/python/ambari_server/serverUpgrade.py
+++ b/ambari-server/src/main/python/ambari_server/serverUpgrade.py
@@ -441,7 +441,7 @@ def find_and_copy_custom_services(resources_dir, 
services_search_path, old_dir_n
     if os.path.isdir(service) and not os.path.basename(service) in 
managed_services:
       managed_services.append(os.path.basename(service))
   # add deprecated managed services
-  managed_services.extend(["NAGIOS","GANGLIA","MAPREDUCE","WEBHCAT"])
+  
managed_services.extend(["NAGIOS","GANGLIA","MAPREDUCE","WEBHCAT","AMBARI_INFRA"])
 
   stack_backup_dirs = glob.glob(os.path.join(resources_dir, old_dir_name))
   if stack_backup_dirs:

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to