You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mr...@apache.org on 2017/09/11 04:39:23 UTC
[53/94] [abbrv] ambari git commit: AMBARI-21881. Fix Log Search
upgrade to 3.0.0 (mgergely)
AMBARI-21881. Fix Log Search upgrade to 3.0.0 (mgergely)
Change-Id: I5557892cfd528616697a6c8ffa4b5b2b6f4fc80a
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0034da60
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0034da60
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0034da60
Branch: refs/heads/branch-feature-AMBARI-14714
Commit: 0034da609c3587df662278d2bf613b3ca92c276e
Parents: 6e69f21
Author: Miklos Gergely <mg...@hortonworks.com>
Authored: Wed Sep 6 10:52:41 2017 +0200
Committer: Miklos Gergely <mg...@hortonworks.com>
Committed: Wed Sep 6 10:52:41 2017 +0200
----------------------------------------------------------------------
.../server/upgrade/UpgradeCatalog300.java | 21 ++++++-----
.../server/upgrade/UpgradeCatalog300Test.java | 37 ++++++++------------
2 files changed, 25 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/0034da60/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java
index 9255163..bfe2a13 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java
@@ -23,7 +23,6 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -45,6 +44,7 @@ import org.apache.ambari.server.orm.entities.StageEntity;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Config;
+import org.apache.ambari.server.state.ConfigHelper;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -238,21 +238,15 @@ public class UpgradeCatalog300 extends AbstractUpgradeCatalog {
if (clusters != null) {
Map<String, Cluster> clusterMap = clusters.getClusters();
+ ConfigHelper configHelper = injector.getInstance(ConfigHelper.class);
if (clusterMap != null && !clusterMap.isEmpty()) {
for (final Cluster cluster : clusterMap.values()) {
Collection<Config> configs = cluster.getAllConfigs();
for (Config config : configs) {
String configType = config.getType();
- if (!configType.endsWith("-logsearch-conf")) {
- continue;
+ if (configType.endsWith("-logsearch-conf")) {
+ configHelper.removeConfigsByType(cluster, configType);
}
-
- Set<String> removeProperties = new HashSet<>();
- removeProperties.add("service_name");
- removeProperties.add("component_mappings");
- removeProperties.add("content");
-
- removeConfigurationPropertiesFromCluster(cluster, configType, removeProperties);
}
Config logSearchEnv = cluster.getDesiredConfigByType("logsearch-env");
@@ -267,6 +261,11 @@ public class UpgradeCatalog300 extends AbstractUpgradeCatalog {
Config logSearchProperties = cluster.getDesiredConfigByType("logsearch-properties");
Config logFeederProperties = cluster.getDesiredConfigByType("logfeeder-properties");
if (logSearchProperties != null && logFeederProperties != null) {
+ configHelper.createConfigType(cluster, cluster.getDesiredStackVersion(), ambariManagementController,
+ "logsearch-common-properties", Collections.emptyMap(), "ambari-upgrade",
+ String.format("Updated logsearch-common-properties during Ambari Upgrade from %s to %s",
+ getSourceVersion(), getTargetVersion()));
+
String defaultLogLevels = logSearchProperties.getProperties().get("logsearch.logfeeder.include.default.level");
Set<String> removeProperties = Sets.newHashSet("logsearch.logfeeder.include.default.level");
@@ -341,7 +340,7 @@ public class UpgradeCatalog300 extends AbstractUpgradeCatalog {
" \"splits_interval_mins\": \"{{logsearch_audit_logs_split_interval_mins}}\",\n",
" \"type\": \"audit\",\n");
- updateConfigurationPropertiesForCluster(cluster, "logsearch-output-config", Collections.singletonMap("content", content), true, true);
+ updateConfigurationPropertiesForCluster(cluster, "logfeeder-output-config", Collections.singletonMap("content", content), true, true);
}
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/0034da60/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java
index 53518dd..25e9dbf 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java
@@ -32,14 +32,12 @@ import static org.easymock.EasyMock.newCapture;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.reset;
import static org.easymock.EasyMock.verify;
-import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
-import java.util.List;
import java.util.Map;
import javax.persistence.EntityManager;
@@ -53,10 +51,10 @@ import org.apache.ambari.server.orm.DBAccessor;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Config;
+import org.apache.ambari.server.state.ConfigHelper;
import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.stack.OsFamily;
import org.easymock.Capture;
-import org.easymock.CaptureType;
import org.easymock.EasyMock;
import org.easymock.EasyMockRunner;
import org.easymock.EasyMockSupport;
@@ -200,10 +198,15 @@ public class UpgradeCatalog300Test {
.addMockedMethod("createConfiguration")
.addMockedMethod("getClusters", new Class[]{})
.addMockedMethod("createConfig")
- .withConstructor(actionManager, clusters, injector)
.createNiceMock();
+ ConfigHelper configHelper = createMockBuilder(ConfigHelper.class)
+ .addMockedMethod("removeConfigsByType")
+ .addMockedMethod("createConfigType", Cluster.class, StackId.class, AmbariManagementController.class,
+ String.class, Map.class, String.class, String.class)
+ .createMock();
expect(injector2.getInstance(AmbariManagementController.class)).andReturn(controller).anyTimes();
+ expect(injector2.getInstance(ConfigHelper.class)).andReturn(configHelper).anyTimes();
expect(controller.getClusters()).andReturn(clusters).anyTimes();
Config confSomethingElse1 = easyMockSupport.createNiceMock(Config.class);
@@ -215,21 +218,17 @@ public class UpgradeCatalog300Test {
Config confLogSearchConf2 = easyMockSupport.createNiceMock(Config.class);
expect(confLogSearchConf2.getType()).andReturn("service-2-logsearch-conf");
- Map<String, String> oldLogSearchConf = ImmutableMap.of(
- "service_name", "Service",
- "component_mappings", "Component Mappings",
- "content", "Content");
-
Collection<Config> configs = Arrays.asList(confSomethingElse1, confLogSearchConf1, confSomethingElse2, confLogSearchConf2);
expect(cluster.getAllConfigs()).andReturn(configs).atLeastOnce();
- expect(cluster.getDesiredConfigByType("service-1-logsearch-conf")).andReturn(confLogSearchConf1).once();
- expect(cluster.getDesiredConfigByType("service-2-logsearch-conf")).andReturn(confLogSearchConf2).once();
- expect(confLogSearchConf1.getProperties()).andReturn(oldLogSearchConf).once();
- expect(confLogSearchConf2.getProperties()).andReturn(oldLogSearchConf).once();
- Capture<Map<String, String>> logSearchConfCapture = EasyMock.newCapture(CaptureType.ALL);
- expect(controller.createConfig(anyObject(Cluster.class), anyObject(StackId.class), anyString(), capture(logSearchConfCapture), anyString(),
- EasyMock.anyObject())).andReturn(config).times(2);
+ configHelper.removeConfigsByType(cluster,"service-1-logsearch-conf");
+ expectLastCall().once();
+ configHelper.removeConfigsByType(cluster,"service-2-logsearch-conf");
+ expectLastCall().once();
+ configHelper.createConfigType(anyObject(Cluster.class), anyObject(StackId.class), eq(controller),
+ eq("logsearch-common-properties"), eq(Collections.emptyMap()), eq("ambari-upgrade"),
+ eq("Updated logsearch-common-properties during Ambari Upgrade from 2.6.0 to 3.0.0"));
+ expectLastCall().once();
Map<String, String> oldLogSearchProperties = ImmutableMap.of(
"logsearch.logfeeder.include.default.level", "FATAL,ERROR,WARN"
@@ -344,12 +343,6 @@ public class UpgradeCatalog300Test {
new UpgradeCatalog300(injector2).updateLogSearchConfigs();
easyMockSupport.verifyAll();
- List<Map<String, String>> updatedLogSearchConfs = logSearchConfCapture.getValues();
- assertEquals(updatedLogSearchConfs.size(), 2);
- for (Map<String, String> updatedLogSearchConf : updatedLogSearchConfs) {
- assertTrue(Maps.difference(Collections.emptyMap(), updatedLogSearchConf).areEqual());
- }
-
Map<String,String> newLogFeederProperties = logFeederPropertiesCapture.getValue();
assertTrue(Maps.difference(expectedLogFeederProperties, newLogFeederProperties).areEqual());