Repository: ambari Updated Branches: refs/heads/branch-2.5 59b50bac2 -> d15c61095
AMBARI-19330 addendum LogSearch upgrade support 2.4 -> 2.5 (mgergely) Change-Id: Ibade148359f9a91db8ba3a6fc0c30277be261918 Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d15c6109 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d15c6109 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d15c6109 Branch: refs/heads/branch-2.5 Commit: d15c6109539a451fbb1e92b8cdbfba15b6abd404 Parents: 59b50ba Author: Miklos Gergely <[email protected]> Authored: Wed Jan 11 12:15:37 2017 +0100 Committer: Miklos Gergely <[email protected]> Committed: Wed Jan 11 12:17:50 2017 +0100 ---------------------------------------------------------------------- .../server/upgrade/SchemaUpgradeUtil.java | 5 +- .../server/upgrade/UpgradeCatalog250.java | 77 ++++++++- .../0.5.0/configuration/logfeeder-log4j.xml | 8 +- .../0.5.0/configuration/logsearch-log4j.xml | 16 +- .../server/upgrade/UpgradeCatalog250Test.java | 171 ++++++++++++++++++- 5 files changed, 255 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/d15c6109/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeUtil.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeUtil.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeUtil.java index 999004c..f382ca9 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeUtil.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeUtil.java @@ -65,8 +65,9 @@ public class SchemaUpgradeUtil { if (m.find()) { propertyValue = m.group(1); - String toReplace = propertyPattern.replace("(\\w+)", propertyValue); - String replaceWith = propertyPattern.replace("(\\w+)", "{{" + variableName + "}}"); + String unescapedPattern = propertyPattern.replace("\\{", "{"); + String toReplace = unescapedPattern.replace("(\\w+)", propertyValue); + String replaceWith = unescapedPattern.replace("(\\w+)", "{{" + variableName + "}}"); content = content.replace(toReplace, replaceWith); } newProperties.put(propertyName, propertyValue); http://git-wip-us.apache.org/repos/asf/ambari/blob/d15c6109/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java index 172cbd4..cb509cd 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java @@ -656,8 +656,38 @@ public class UpgradeCatalog250 extends AbstractUpgradeCatalog { updateConfigurationPropertiesForCluster(cluster, "logsearch-env", newProperties, removeProperties, true, true); } + Config logfeederLog4jProperties = cluster.getDesiredConfigByType("logfeeder-log4j"); + if (logfeederLog4jProperties != null) { + Map<String, String> newProperties = new HashMap<>(); + + String content = logfeederLog4jProperties.getProperties().get("content"); + content = SchemaUpgradeUtil.extractProperty(content, "logfeeder_log_maxfilesize", "logfeeder_log_maxfilesize", + " <param name=\"file\" value=\"\\{\\{logfeeder_log_dir}}/logfeeder.log\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"(\\w+)MB\"/>", "10", newProperties); + content = SchemaUpgradeUtil.extractProperty(content, "logfeeder_log_maxbackupindex", "logfeeder_log_maxbackupindex", + " <param name=\"file\" value=\"\\{\\{logfeeder_log_dir}}/logfeeder.log\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"\\{\\{logfeeder_log_maxfilesize}}MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"(\\w+)\"/>", "10", newProperties); + content = SchemaUpgradeUtil.extractProperty(content, "logfeeder_json_log_maxfilesize", "logfeeder_json_log_maxfilesize", + " <param name=\"file\" value=\"\\{\\{logfeeder_log_dir}}/logsearch-logfeeder.json\" />\n" + + " <param name=\"append\" value=\"true\" />\n" + + " <param name=\"maxFileSize\" value=\"(\\w+)MB\" />", "10", newProperties); + content = SchemaUpgradeUtil.extractProperty(content, "logfeeder_json_log_maxbackupindex", "logfeeder_json_log_maxbackupindex", + " <param name=\"file\" value=\"\\{\\{logfeeder_log_dir}}/logsearch-logfeeder.json\" />\n" + + " <param name=\"append\" value=\"true\" />\n" + + " <param name=\"maxFileSize\" value=\"\\{\\{logfeeder_json_log_maxfilesize}}MB\" />\n" + + " <param name=\"maxBackupIndex\" value=\"(\\w+)\" />", "10", newProperties); + + newProperties.put("content", content); + updateConfigurationPropertiesForCluster(cluster, "logfeeder-log4j", newProperties, true, true); + } + Config logsearchLog4jProperties = cluster.getDesiredConfigByType("logsearch-log4j"); if (logsearchLog4jProperties != null) { + Map<String, String> newProperties = new HashMap<>(); + String content = logsearchLog4jProperties.getProperties().get("content"); if (content.contains("{{logsearch_log_dir}}/logsearch.err")) { content = content.replace("{{logsearch_log_dir}}/logsearch.err", "{{logsearch_log_dir}}/logsearch.log"); @@ -665,8 +695,51 @@ public class UpgradeCatalog250 extends AbstractUpgradeCatalog { if (content.contains("<priority value=\"warn\"/>")) { content = content.replace("<priority value=\"warn\"/>", "<priority value=\"info\"/>"); } + + content = SchemaUpgradeUtil.extractProperty(content, "logsearch_log_maxfilesize", "logsearch_log_maxfilesize", + " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch.log\" />\n" + + " <param name=\"Threshold\" value=\"info\" />\n" + + " <param name=\"append\" value=\"true\" />\n" + + " <param name=\"maxFileSize\" value=\"(\\w+)MB\" />\n", "10", newProperties); + content = SchemaUpgradeUtil.extractProperty(content, "logsearch_log_maxbackupindex", "logsearch_log_maxbackupindex", + " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch.log\" />\n" + + " <param name=\"Threshold\" value=\"info\" />\n" + + " <param name=\"append\" value=\"true\" />\n" + + " <param name=\"maxFileSize\" value=\"\\{\\{logsearch_log_maxfilesize}}MB\" />\n" + + " <param name=\"maxBackupIndex\" value=\"(\\w+)\" />\n", "10", newProperties); + content = SchemaUpgradeUtil.extractProperty(content, "logsearch_json_log_maxfilesize", "logsearch_json_log_maxfilesize", + " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch.json\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"(\\w+)MB\"/>\n", "10", newProperties); + content = SchemaUpgradeUtil.extractProperty(content, "logsearch_json_log_maxbackupindex", "logsearch_json_log_maxbackupindex", + " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch.json\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"\\{\\{logsearch_json_log_maxfilesize}}MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"(\\w+)\"/>\n", "10", newProperties); + content = SchemaUpgradeUtil.extractProperty(content, "logsearch_audit_log_maxfilesize", "logsearch_audit_log_maxfilesize", + " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch-audit.json\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"(\\w+)MB\"/>\n", "10", newProperties); + content = SchemaUpgradeUtil.extractProperty(content, "logsearch_audit_log_maxbackupindex", "logsearch_audit_log_maxbackupindex", + " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch-audit.json\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"\\{\\{logsearch_audit_log_maxfilesize}}MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"(\\w+)\"/>\n", "10", newProperties); + content = SchemaUpgradeUtil.extractProperty(content, "logsearch_perf_log_maxfilesize", "logsearch_perf_log_maxfilesize", + " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch-performance.json\"/>\n" + + " <param name=\"Threshold\" value=\"info\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"(\\w+)MB\"/>\n", "10", newProperties); + content = SchemaUpgradeUtil.extractProperty(content, "logsearch_perf_log_maxbackupindex", "logsearch_perf_log_maxbackupindex", + " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch-performance.json\"/>\n" + + " <param name=\"Threshold\" value=\"info\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"\\{\\{logsearch_perf_log_maxfilesize}}MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"(\\w+)\"/>\n", "10", newProperties); + + newProperties.put("content", content); if (!content.equals(logsearchLog4jProperties.getProperties().get("content"))) { - updateConfigurationPropertiesForCluster(cluster, "logsearch-log4j", Collections.singletonMap("content", content), true, true); + updateConfigurationPropertiesForCluster(cluster, "logsearch-log4j", newProperties, true, true); } } } @@ -675,7 +748,7 @@ public class UpgradeCatalog250 extends AbstractUpgradeCatalog { } /** - * Updates Log Search configs. + * Updates Ambari Infra configs. * * @throws AmbariException */ http://git-wip-us.apache.org/repos/asf/ambari/blob/d15c6109/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml index 1843e75..33749ff 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml @@ -29,7 +29,7 @@ <value-attributes> <unit>MB</unit> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>logfeeder_log_maxbackupindex</name> @@ -40,7 +40,7 @@ <type>int</type> <minimum>0</minimum> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>logfeeder_json_log_maxfilesize</name> @@ -50,7 +50,7 @@ <value-attributes> <unit>MB</unit> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>logfeeder_json_log_maxbackupindex</name> @@ -61,7 +61,7 @@ <type>int</type> <minimum>0</minimum> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>content</name> http://git-wip-us.apache.org/repos/asf/ambari/blob/d15c6109/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml index 729eba6..a845741 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml @@ -30,7 +30,7 @@ <value-attributes> <unit>MB</unit> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>logsearch_log_maxbackupindex</name> @@ -41,7 +41,7 @@ <type>int</type> <minimum>0</minimum> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>logsearch_json_log_maxfilesize</name> @@ -51,7 +51,7 @@ <value-attributes> <unit>MB</unit> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>logsearch_json_log_maxbackupindex</name> @@ -62,7 +62,7 @@ <type>int</type> <minimum>0</minimum> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>logsearch_audit_log_maxfilesize</name> @@ -72,7 +72,7 @@ <value-attributes> <unit>MB</unit> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>logsearch_audit_log_maxbackupindex</name> @@ -83,7 +83,7 @@ <type>int</type> <minimum>0</minimum> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>logsearch_perf_log_maxfilesize</name> @@ -93,7 +93,7 @@ <value-attributes> <unit>MB</unit> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>logsearch_perf_log_maxbackupindex</name> @@ -104,7 +104,7 @@ <type>int</type> <minimum>0</minimum> </value-attributes> - <on-ambari-upgrade add="false"/> + <on-ambari-upgrade add="true"/> </property> <property> <name>content</name> http://git-wip-us.apache.org/repos/asf/ambari/blob/d15c6109/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java index 98aaa0f..52bc02f 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java @@ -589,13 +589,169 @@ public class UpgradeCatalog250Test { expect(controller.createConfig(anyObject(Cluster.class), anyString(), capture(logSearchEnvCapture), anyString(), EasyMock.<Map<String, Map<String, String>>>anyObject())).andReturn(config).once(); + Map<String, String> oldLogFeederLog4j = ImmutableMap.of( + "content", + " <appender name=\"rolling_file\" class=\"org.apache.log4j.RollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logfeeder_log_dir}}/logfeeder.log\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"11MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"12\"/>\n" + + " <layout class=\"org.apache.log4j.PatternLayout\">\n" + + " <param name=\"ConversionPattern\" value=\"%d [%t] %-5p %C{6} (%F:%L) - %m%n\"/>\n" + + " </layout>\n" + + " </appender>\n" + + "\n" + + " <appender name=\"rolling_file_json\"\n" + + " class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logfeeder_log_dir}}/logsearch-logfeeder.json\" />\n" + + " <param name=\"append\" value=\"true\" />\n" + + " <param name=\"maxFileSize\" value=\"13MB\" />\n" + + " <param name=\"maxBackupIndex\" value=\"14\" />\n" + + " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\" />\n" + + " </appender>"); + + Map<String, String> expectedLogFeederLog4j = ImmutableMap.of( + "content", + " <appender name=\"rolling_file\" class=\"org.apache.log4j.RollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logfeeder_log_dir}}/logfeeder.log\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"{{logfeeder_log_maxfilesize}}MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"{{logfeeder_log_maxbackupindex}}\"/>\n" + + " <layout class=\"org.apache.log4j.PatternLayout\">\n" + + " <param name=\"ConversionPattern\" value=\"%d [%t] %-5p %C{6} (%F:%L) - %m%n\"/>\n" + + " </layout>\n" + + " </appender>\n" + + "\n" + + " <appender name=\"rolling_file_json\"\n" + + " class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logfeeder_log_dir}}/logsearch-logfeeder.json\" />\n" + + " <param name=\"append\" value=\"true\" />\n" + + " <param name=\"maxFileSize\" value=\"{{logfeeder_json_log_maxfilesize}}MB\" />\n" + + " <param name=\"maxBackupIndex\" value=\"{{logfeeder_json_log_maxbackupindex}}\" />\n" + + " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\" />\n" + + " </appender>", + "logfeeder_log_maxfilesize", "11", + "logfeeder_log_maxbackupindex", "12", + "logfeeder_json_log_maxfilesize", "13", + "logfeeder_json_log_maxbackupindex", "14"); + + Config mockLogFeederLog4j = easyMockSupport.createNiceMock(Config.class); + expect(cluster.getDesiredConfigByType("logfeeder-log4j")).andReturn(mockLogFeederLog4j).atLeastOnce(); + expect(mockLogFeederLog4j.getProperties()).andReturn(oldLogFeederLog4j).anyTimes(); + Capture<Map<String, String>> logFeederLog4jCapture = EasyMock.newCapture(); + expect(controller.createConfig(anyObject(Cluster.class), anyString(), capture(logFeederLog4jCapture), anyString(), + anyObject(Map.class))).andReturn(config).once(); + Map<String, String> oldLogSearchLog4j = ImmutableMap.of( - "content", "{{logsearch_log_dir}}/logsearch.err\n" + - "<priority value=\"warn\"/>"); + "content", + " <appender name=\"rolling_file\" class=\"org.apache.log4j.RollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch.err\" />\n" + + " <param name=\"Threshold\" value=\"info\" />\n" + + " <param name=\"append\" value=\"true\" />\n" + + " <param name=\"maxFileSize\" value=\"11MB\" />\n" + + " <param name=\"maxBackupIndex\" value=\"12\" />\n" + + " <layout class=\"org.apache.log4j.PatternLayout\">\n" + + " <param name=\"ConversionPattern\" value=\"%d [%t] %-5p %C{6} (%F:%L) - %m%n\" />\n" + + " </layout>\n" + + " </appender>\n" + + "\n" + + " <appender name=\"rolling_file_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch.json\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"13MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"14\"/>\n" + + " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" + + " </appender>\n" + + "\n" + + " <appender name=\"audit_rolling_file_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch-audit.json\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"15MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"16\"/>\n" + + " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" + + " </appender>\n" + + "\n" + + " <appender name=\"performance_analyzer_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch-performance.json\"/>\n" + + " <param name=\"Threshold\" value=\"info\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"17MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"18\"/>\n" + + " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" + + " </appender>\n" + + "\n" + + " <logger name=\"org.apache.ambari.logsearch.audit\" additivity=\"true\">\n" + + " <appender-ref ref=\"audit_rolling_file_json\"/>\n" + + " </logger>\n" + + "\n" + + " <logger name=\"org.apache.ambari.logsearch.performance\" additivity=\"false\">\n" + + " <appender-ref ref=\"performance_analyzer_json\"/>\n" + + " </logger>\n" + + "\n" + + " <category name=\"org.apache.ambari.logsearch\" additivity=\"false\">\n" + + " <priority value=\"warn\"/>\n" + + " <appender-ref ref=\"rolling_file_json\"/>\n" + + " </category>"); - Map<String, String> expectedLogSearchLog4j = ImmutableMap.of( - "content", "{{logsearch_log_dir}}/logsearch.log\n" + - "<priority value=\"info\"/>"); + Map<String, String> expectedLogSearchLog4j = new HashMap<>(); + expectedLogSearchLog4j.put("content", + " <appender name=\"rolling_file\" class=\"org.apache.log4j.RollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch.log\" />\n" + + " <param name=\"Threshold\" value=\"info\" />\n" + + " <param name=\"append\" value=\"true\" />\n" + + " <param name=\"maxFileSize\" value=\"{{logsearch_log_maxfilesize}}MB\" />\n" + + " <param name=\"maxBackupIndex\" value=\"{{logsearch_log_maxbackupindex}}\" />\n" + + " <layout class=\"org.apache.log4j.PatternLayout\">\n" + + " <param name=\"ConversionPattern\" value=\"%d [%t] %-5p %C{6} (%F:%L) - %m%n\" />\n" + + " </layout>\n" + + " </appender>\n" + + "\n" + + " <appender name=\"rolling_file_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch.json\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"{{logsearch_json_log_maxfilesize}}MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"{{logsearch_json_log_maxbackupindex}}\"/>\n" + + " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" + + " </appender>\n" + + "\n" + + " <appender name=\"audit_rolling_file_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch-audit.json\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"{{logsearch_audit_log_maxfilesize}}MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"{{logsearch_audit_log_maxbackupindex}}\"/>\n" + + " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" + + " </appender>\n" + + "\n" + + " <appender name=\"performance_analyzer_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" + + " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch-performance.json\"/>\n" + + " <param name=\"Threshold\" value=\"info\"/>\n" + + " <param name=\"append\" value=\"true\"/>\n" + + " <param name=\"maxFileSize\" value=\"{{logsearch_perf_log_maxfilesize}}MB\"/>\n" + + " <param name=\"maxBackupIndex\" value=\"{{logsearch_perf_log_maxbackupindex}}\"/>\n" + + " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" + + " </appender>\n" + + "\n" + + " <logger name=\"org.apache.ambari.logsearch.audit\" additivity=\"true\">\n" + + " <appender-ref ref=\"audit_rolling_file_json\"/>\n" + + " </logger>\n" + + "\n" + + " <logger name=\"org.apache.ambari.logsearch.performance\" additivity=\"false\">\n" + + " <appender-ref ref=\"performance_analyzer_json\"/>\n" + + " </logger>\n" + + "\n" + + " <category name=\"org.apache.ambari.logsearch\" additivity=\"false\">\n" + + " <priority value=\"info\"/>\n" + + " <appender-ref ref=\"rolling_file_json\"/>\n" + + " </category>"); + + expectedLogSearchLog4j.put("logsearch_log_maxfilesize", "11"); + expectedLogSearchLog4j.put("logsearch_log_maxbackupindex", "12"); + expectedLogSearchLog4j.put("logsearch_json_log_maxfilesize", "13"); + expectedLogSearchLog4j.put("logsearch_json_log_maxbackupindex", "14"); + expectedLogSearchLog4j.put("logsearch_audit_log_maxfilesize", "15"); + expectedLogSearchLog4j.put("logsearch_audit_log_maxbackupindex", "16"); + expectedLogSearchLog4j.put("logsearch_perf_log_maxfilesize", "17"); + expectedLogSearchLog4j.put("logsearch_perf_log_maxbackupindex", "18"); Config mockLogSearchLog4j = easyMockSupport.createNiceMock(Config.class); expect(cluster.getDesiredConfigByType("logsearch-log4j")).andReturn(mockLogSearchLog4j).atLeastOnce(); @@ -606,7 +762,7 @@ public class UpgradeCatalog250Test { replay(clusters, cluster); replay(controller, injector2); - replay(mockLogSearchProperties, mockLogFeederEnv, mockLogSearchEnv, mockLogSearchLog4j); + replay(mockLogSearchProperties, mockLogFeederEnv, mockLogSearchEnv, mockLogFeederLog4j, mockLogSearchLog4j); new UpgradeCatalog250(injector2).updateLogSearchConfigs(); easyMockSupport.verifyAll(); @@ -619,6 +775,9 @@ public class UpgradeCatalog250Test { Map<String, String> updatedLogSearchEnv = logSearchEnvCapture.getValue(); assertTrue(Maps.difference(expectedLogSearchEnv, updatedLogSearchEnv).areEqual()); + Map<String, String> updatedLogFeederLog4j = logFeederLog4jCapture.getValue(); + assertTrue(Maps.difference(expectedLogFeederLog4j, updatedLogFeederLog4j).areEqual()); + Map<String, String> updatedLogSearchLog4j = logSearchLog4jCapture.getValue(); assertTrue(Maps.difference(expectedLogSearchLog4j, updatedLogSearchLog4j).areEqual()); }
