You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2015/10/23 16:47:33 UTC

[19/50] [abbrv] ambari git commit: AMBARI-13523. Ambari should expose storm log4j configs (aonishuk)

AMBARI-13523. Ambari should expose storm log4j configs (aonishuk)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/565dc0de
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/565dc0de
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/565dc0de

Branch: refs/heads/branch-dev-patch-upgrade
Commit: 565dc0de86fc8954cc3331941f3b86aaa52d4d42
Parents: 1f702fb
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Thu Oct 22 15:56:33 2015 +0300
Committer: Andrew Onishuk <ao...@hortonworks.com>
Committed: Thu Oct 22 15:57:00 2015 +0300

----------------------------------------------------------------------
 .../STORM/0.9.1.2.1/configuration/storm-env.xml |  6 ++++++
 .../0.9.1.2.1/package/scripts/params_linux.py   |  5 ++++-
 .../STORM/0.9.1.2.1/package/scripts/storm.py    | 12 ++++++++++-
 .../HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml | 13 ++++++++++++
 .../HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml | 12 +++++++++++
 .../stacks/HDP/2.2/upgrades/upgrade-2.3.xml     |  6 ++++++
 .../services/STORM/configuration/storm-env.xml  |  5 +++++
 .../stacks/HDP/2.3/upgrades/config-upgrade.xml  | 13 ++++++++++++
 .../catalog/UpgradeCatalog_2.1_to_2.3.json      | 21 +++++++++++++++++++-
 .../catalog/UpgradeCatalog_2.2_to_2.3.json      | 21 +++++++++++++++++++-
 .../stacks/2.1/configs/default-storm-start.json |  3 ++-
 .../test/python/stacks/2.1/configs/default.json |  3 ++-
 .../stacks/2.1/configs/secured-storm-start.json |  3 ++-
 .../test/python/stacks/2.1/configs/secured.json |  3 ++-
 14 files changed, 118 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/configuration/storm-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/configuration/storm-env.xml b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/configuration/storm-env.xml
index 7e36a35..02a9197 100644
--- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/configuration/storm-env.xml
+++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/configuration/storm-env.xml
@@ -75,5 +75,11 @@ export STORM_HOME={{storm_component_home_dir}}
      <value>false</value>
      <description></description>
    </property>
+   <property>
+     <name>storm_logs_supported</name>
+     <value>false</value>
+     <description></description>
+   </property>
+
 
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/params_linux.py
index df65185..c1f118f 100644
--- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/params_linux.py
@@ -57,7 +57,7 @@ if stack_is_hdp22_or_further:
   rest_lib_dir = format("{storm_component_home_dir}/contrib/storm-rest")
   storm_bin_dir = format("{storm_component_home_dir}/bin")
   storm_lib_dir = format("{storm_component_home_dir}/lib")
-
+  log4j_dir = format("{storm_component_home_dir}/log4j2")
 
 storm_user = config['configurations']['storm-env']['storm_user']
 log_dir = config['configurations']['storm-env']['storm_log_dir']
@@ -70,6 +70,7 @@ nimbus_port = config['configurations']['storm-site']['nimbus.thrift.port']
 storm_zookeeper_root_dir = default('/configurations/storm-site/storm.zookeeper.root', None)
 storm_zookeeper_servers = config['configurations']['storm-site']['storm.zookeeper.servers']
 storm_zookeeper_port = config['configurations']['storm-site']['storm.zookeeper.port']
+storm_logs_supported = config['configurations']['storm-env']['storm_logs_supported']
 
 # nimbus.seeds is supported in HDP 2.3.0.0 and higher
 nimbus_seeds_supported = default('/configurations/storm-env/nimbus_seeds_supported', False)
@@ -174,6 +175,8 @@ repo_config_username = config['configurations']['ranger-storm-plugin-properties'
 ranger_env = config['configurations']['ranger-env']
 ranger_plugin_properties = config['configurations']['ranger-storm-plugin-properties']
 policy_user = config['configurations']['ranger-storm-plugin-properties']['policy_user']
+storm_cluster_log4j_content = config['configurations']['storm-cluster-log4j']['content']
+storm_worker_log4j_content = config['configurations']['storm-worker-log4j']['content']
 
 # some commands may need to supply the JAAS location when running as storm
 storm_jaas_file = format("{conf_dir}/storm_jaas.conf")

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/storm.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/storm.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/storm.py
index ac5c9f8..2e9557a 100644
--- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/storm.py
+++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/storm.py
@@ -106,7 +106,17 @@ def storm(name=None):
     owner=params.storm_user,
     content=InlineTemplate(params.storm_env_sh_template)
   )
-
+  
+  if params.storm_logs_supported:
+    File(format("{log4j_dir}/cluster.xml"),
+      owner=params.storm_user,
+      content=InlineTemplate(params.storm_cluster_log4j_content)
+    )
+    File(format("{log4j_dir}/worker.xml"),
+      owner=params.storm_user,
+      content=InlineTemplate(params.storm_worker_log4j_content)
+    )
+  
   if params.security_enabled:
     TemplateConfig(format("{conf_dir}/storm_jaas.conf"),
                    owner=params.storm_user

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
index a23fe3d..a71c379 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
@@ -270,6 +270,19 @@
       <execute-stage service="STORM" component="NIMBUS">
         <task xsi:type="configure" id="hdp_2_3_0_0_nimbus_convert_nimbus_host_to_seeds"/>
       </execute-stage>
+      
+      <execute-stage service="STORM" component="NIMBUS">
+        <task xsi:type="configure" id="hdp_2_3_0_0_update_storm_env"/>
+      </execute-stage>
+      
+      <execute-stage service="STORM" component="NIMBUS">
+        <task xsi:type="configure" id="hdp_2_3_0_0_add_storm_cluster_logs_content"/>
+      </execute-stage>
+      
+      <execute-stage service="STORM" component="NIMBUS">
+        <task xsi:type="configure" id="hdp_2_3_0_0_add_storm_worker_logs_content"/>
+      </execute-stage>
+
 
       <execute-stage service="STORM" component="NIMBUS">
         <task xsi:type="configure" id="hdp_2_3_0_0_nimbus_update_env_vars"/>

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
index d71387a..9997c12 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
@@ -414,6 +414,18 @@
       <execute-stage service="STORM" component="NIMBUS">
         <task xsi:type="configure" id="hdp_2_3_0_0_nimbus_convert_nimbus_host_to_seeds"/>
       </execute-stage>
+      
+      <execute-stage service="STORM" component="NIMBUS">
+        <task xsi:type="configure" id="hdp_2_3_0_0_update_storm_env"/>
+      </execute-stage>
+      
+      <execute-stage service="STORM" component="NIMBUS">
+        <task xsi:type="configure" id="hdp_2_3_0_0_add_storm_cluster_logs_content"/>
+      </execute-stage>
+      
+      <execute-stage service="STORM" component="NIMBUS">
+        <task xsi:type="configure" id="hdp_2_3_0_0_add_storm_worker_logs_content"/>
+      </execute-stage>
 
       <execute-stage service="STORM" component="NIMBUS">
         <task xsi:type="configure" id="hdp_2_3_0_0_nimbus_update_env_vars"/>

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml
index 233d86b..1a90991 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml
@@ -790,6 +790,12 @@
           <task xsi:type="configure" id="hdp_2_3_0_0_nimbus_monitor_freq_adjustment"/>
 
           <task xsi:type="configure" id="hdp_2_3_0_0_nimbus_convert_nimbus_host_to_seeds"/>
+          
+          <task xsi:type="configure" id="hdp_2_3_0_0_update_storm_env"/>
+          
+          <task xsi:type="configure" id="hdp_2_3_0_0_add_storm_cluster_logs_content"/>
+          
+          <task xsi:type="configure" id="hdp_2_3_0_0_add_storm_worker_logs_content"/>
 
           <task xsi:type="configure" id="hdp_2_3_0_0_nimbus_update_env_vars"/>
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/main/resources/stacks/HDP/2.3/services/STORM/configuration/storm-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/services/STORM/configuration/storm-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/services/STORM/configuration/storm-env.xml
index 1d33bd1..95a241b 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/services/STORM/configuration/storm-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/services/STORM/configuration/storm-env.xml
@@ -26,4 +26,9 @@
     <value>true</value>
     <description></description>
   </property>
+   <property>
+     <name>storm_logs_supported</name>
+     <value>true</value>
+     <description></description>
+   </property>
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/config-upgrade.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/config-upgrade.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/config-upgrade.xml
index 48f5d50..fe8e1fe 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/config-upgrade.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/config-upgrade.xml
@@ -724,6 +724,19 @@
     <service name="STORM">
       <component name="NIMBUS">
         <changes>
+          <definition id="hdp_2_3_0_0_update_storm_env">
+            <type>storm-env</type>
+            <set key="storm_logs_supported" value="true" />
+          </definition>
+          <definition id="hdp_2_3_0_0_add_storm_cluster_logs_content">
+            <type>storm-cluster-log4j</type>
+            <set key="content" value="\n    \n&lt;!--\n Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements.  See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \&quot;License\&quot;); you may not use this file except in compliance with\n the License.  You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n--&gt;\n\n&lt;configuration monitorInterval=\&quot;60\&quot;&gt;\n&lt;properties&gt;\n    &lt;property name=\&quot;pattern\&quot;&gt;%d{y
 yyy-MM-dd HH:mm:ss.SSS} %c{1.} [%p] %msg%n&lt;/property&gt;\n    &lt;property name=\&quot;patternMetris\&quot;&gt;%d %-8r %m%n&lt;/property&gt;\n&lt;/properties&gt;\n&lt;appenders&gt;\n    &lt;RollingFile name=\&quot;A1\&quot;\n                 fileName=\&quot;${sys:storm.log.dir}/${sys:logfile.name}\&quot;\n                 filePattern=\&quot;${sys:storm.log.dir}/${sys:logfile.name}.%i\&quot;&gt;\n        &lt;PatternLayout&gt;\n            &lt;pattern&gt;${pattern}&lt;/pattern&gt;\n        &lt;/PatternLayout&gt;\n        &lt;Policies&gt;\n            &lt;SizeBasedTriggeringPolicy size=\&quot;100 MB\&quot;/&gt; &lt;!-- Or every 100 MB --&gt;\n        &lt;/Policies&gt;\n        &lt;DefaultRolloverStrategy max=\&quot;9\&quot;/&gt;\n    &lt;/RollingFile&gt;\n    &lt;RollingFile name=\&quot;ACCESS\&quot;\n                 fileName=\&quot;${sys:storm.log.dir}/access.log\&quot;\n                 filePattern=\&quot;${sys:storm.log.dir}/access.log.%i\&quot;&gt;\n        &lt;PatternLayout&gt
 ;\n            &lt;pattern&gt;${pattern}&lt;/pattern&gt;\n        &lt;/PatternLayout&gt;\n        &lt;Policies&gt;\n            &lt;SizeBasedTriggeringPolicy size=\&quot;100 MB\&quot;/&gt; &lt;!-- Or every 100 MB --&gt;\n        &lt;/Policies&gt;\n        &lt;DefaultRolloverStrategy max=\&quot;9\&quot;/&gt;\n    &lt;/RollingFile&gt;\n    &lt;RollingFile name=\&quot;METRICS\&quot;\n                 fileName=\&quot;${sys:storm.log.dir}/metrics.log\&quot;\n                 filePattern=\&quot;${sys:storm.log.dir}/metrics.log.%i\&quot;&gt;\n        &lt;PatternLayout&gt;\n            &lt;pattern&gt;${patternMetris}&lt;/pattern&gt;\n        &lt;/PatternLayout&gt;\n        &lt;Policies&gt;\n            &lt;SizeBasedTriggeringPolicy size=\&quot;2 MB\&quot;/&gt; &lt;!-- Or every 100 MB --&gt;\n        &lt;/Policies&gt;\n        &lt;DefaultRolloverStrategy max=\&quot;9\&quot;/&gt;\n    &lt;/RollingFile&gt;\n    &lt;Syslog name=\&quot;syslog\&quot; format=\&quot;RFC5424\&quot; host=\&quot;local
 host\&quot; port=\&quot;514\&quot;\n            protocol=\&quot;UDP\&quot; appName=\&quot;[${sys:daemon.name}]\&quot; mdcId=\&quot;mdc\&quot; includeMDC=\&quot;true\&quot;\n            facility=\&quot;LOCAL5\&quot; enterpriseNumber=\&quot;18060\&quot; newLine=\&quot;true\&quot; exceptionPattern=\&quot;%rEx{full}\&quot;\n            messageId=\&quot;[${sys:user.name}:S0]\&quot; id=\&quot;storm\&quot;/&gt;\n&lt;/appenders&gt;\n&lt;loggers&gt;\n\n    &lt;Logger name=\&quot;backtype.storm.security.auth.authorizer\&quot; level=\&quot;info\&quot;&gt;\n        &lt;AppenderRef ref=\&quot;ACCESS\&quot;/&gt;\n    &lt;/Logger&gt;\n    &lt;Logger name=\&quot;backtype.storm.metric.LoggingMetricsConsumer\&quot; level=\&quot;info\&quot;&gt;\n        &lt;AppenderRef ref=\&quot;METRICS\&quot;/&gt;\n    &lt;/Logger&gt;\n    &lt;root level=\&quot;info\&quot;&gt; &lt;!-- We log everything --&gt;\n        &lt;appender-ref ref=\&quot;A1\&quot;/&gt;\n        &lt;appender-ref ref=\&quot;syslog\&quot;/&gt;\
 n    &lt;/root&gt;\n&lt;/loggers&gt;\n&lt;/configuration&gt;\n    \n    &quot;"/>
+          </definition>
+          <definition id="hdp_2_3_0_0_add_storm_worker_logs_content">
+            <type>storm-worker-log4j</type>
+            <set key="content" value="\n    \n&lt;!--\n Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements.  See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \&quot;License\&quot;); you may not use this file except in compliance with\n the License.  You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n--&gt;\n\n&lt;configuration monitorInterval=\&quot;60\&quot;&gt;\n&lt;properties&gt;\n    &lt;property name=\&quot;pattern\&quot;&gt;%d{y
 yyy-MM-dd HH:mm:ss.SSS} %c{1.} [%p] %msg%n&lt;/property&gt;\n    &lt;property name=\&quot;patternNoTime\&quot;&gt;%msg%n&lt;/property&gt;\n&lt;/properties&gt;\n&lt;appenders&gt;\n    &lt;RollingFile name=\&quot;A1\&quot;\n                 fileName=\&quot;${sys:storm.log.dir}/${sys:logfile.name}\&quot;\n                 filePattern=\&quot;${sys:storm.log.dir}/${sys:logfile.name}.%i.gz\&quot;&gt;\n        &lt;PatternLayout&gt;\n            &lt;pattern&gt;${pattern}&lt;/pattern&gt;\n        &lt;/PatternLayout&gt;\n        &lt;Policies&gt;\n            &lt;SizeBasedTriggeringPolicy size=\&quot;100 MB\&quot;/&gt; &lt;!-- Or every 100 MB --&gt;\n        &lt;/Policies&gt;\n        &lt;DefaultRolloverStrategy max=\&quot;9\&quot;/&gt;\n    &lt;/RollingFile&gt;\n    &lt;RollingFile name=\&quot;STDOUT\&quot;\n                 fileName=\&quot;${sys:storm.log.dir}/${sys:logfile.name}.out\&quot;\n                 filePattern=\&quot;${sys:storm.log.dir}/${sys:logfile.name}.out.%i.gz\&quot;&gt;\n  
       &lt;PatternLayout&gt;\n            &lt;pattern&gt;${patternNoTime}&lt;/pattern&gt;\n        &lt;/PatternLayout&gt;\n        &lt;Policies&gt;\n            &lt;SizeBasedTriggeringPolicy size=\&quot;100 MB\&quot;/&gt; &lt;!-- Or every 100 MB --&gt;\n        &lt;/Policies&gt;\n        &lt;DefaultRolloverStrategy max=\&quot;4\&quot;/&gt;\n    &lt;/RollingFile&gt;\n    &lt;RollingFile name=\&quot;STDERR\&quot;\n                 fileName=\&quot;${sys:storm.log.dir}/${sys:logfile.name}.err\&quot;\n                 filePattern=\&quot;${sys:storm.log.dir}/${sys:logfile.name}.err.%i.gz\&quot;&gt;\n        &lt;PatternLayout&gt;\n            &lt;pattern&gt;${patternNoTime}&lt;/pattern&gt;\n        &lt;/PatternLayout&gt;\n        &lt;Policies&gt;\n            &lt;SizeBasedTriggeringPolicy size=\&quot;100 MB\&quot;/&gt; &lt;!-- Or every 100 MB --&gt;\n        &lt;/Policies&gt;\n        &lt;DefaultRolloverStrategy max=\&quot;4\&quot;/&gt;\n    &lt;/RollingFile&gt;\n    &lt;Syslog name=\&quot;
 syslog\&quot; format=\&quot;RFC5424\&quot; host=\&quot;localhost\&quot; port=\&quot;514\&quot;\n        protocol=\&quot;UDP\&quot; appName=\&quot;[${sys:storm.id}:${sys:worker.port}]\&quot; mdcId=\&quot;mdc\&quot; includeMDC=\&quot;true\&quot;\n        facility=\&quot;LOCAL5\&quot; enterpriseNumber=\&quot;18060\&quot; newLine=\&quot;true\&quot; exceptionPattern=\&quot;%rEx{full}\&quot;\n        messageId=\&quot;[${sys:user.name}:${sys:logging.sensitivity}]\&quot; id=\&quot;storm\&quot;/&gt;\n&lt;/appenders&gt;\n&lt;loggers&gt;\n    &lt;root level=\&quot;info\&quot;&gt; &lt;!-- We log everything --&gt;\n        &lt;appender-ref ref=\&quot;A1\&quot;/&gt;\n        &lt;appender-ref ref=\&quot;syslog\&quot;/&gt;\n    &lt;/root&gt;\n    &lt;Logger name=\&quot;STDERR\&quot; level=\&quot;INFO\&quot;&gt;\n        &lt;appender-ref ref=\&quot;STDERR\&quot;/&gt;\n        &lt;appender-ref ref=\&quot;syslog\&quot;/&gt;\n    &lt;/Logger&gt;\n    &lt;Logger name=\&quot;STDOUT\&quot; level=\&quot;IN
 FO\&quot;&gt;\n        &lt;appender-ref ref=\&quot;STDOUT\&quot;/&gt;\n        &lt;appender-ref ref=\&quot;syslog\&quot;/&gt;\n    &lt;/Logger&gt;\n&lt;/loggers&gt;\n&lt;/configuration&gt;\n    \n"/>
+          </definition>
+          
           <definition xsi:type="configure" id="hdp_2_3_0_0_nimbus_monitor_freq_adjustment">
             <condition type="storm-site" key="nimbus.monitor.freq.secs" value="10">
               <type>storm-site</type>

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/main/resources/upgrade/catalog/UpgradeCatalog_2.1_to_2.3.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/upgrade/catalog/UpgradeCatalog_2.1_to_2.3.json b/ambari-server/src/main/resources/upgrade/catalog/UpgradeCatalog_2.1_to_2.3.json
index e138643..486a856 100644
--- a/ambari-server/src/main/resources/upgrade/catalog/UpgradeCatalog_2.1_to_2.3.json
+++ b/ambari-server/src/main/resources/upgrade/catalog/UpgradeCatalog_2.1_to_2.3.json
@@ -53,12 +53,31 @@
             "required-services": [
               "STORM"
             ]
+          },
+          "storm-cluster-log4j": {
+            "merged-copy": "yes",
+            "required-services": [
+              "STORM"
+            ]
+          },
+          "storm-worker-log4j": {
+            "merged-copy": "yes",
+            "required-services": [
+              "STORM"
+            ]
           }
         }
       },
       "properties": {
         "storm-env": {
-          "nimbus_seeds_supported": "true"
+          "nimbus_seeds_supported": "true",
+          "storm_logs_supported": "true"
+        },
+        "storm-cluster-log4j": {
+          "content": "\n    \n<!--\n Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements.  See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License.  You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n-->\n\n<configuration monitorInterval=\"60\">\n<properties>\n    <property name=\"pattern\">%d{yyyy-MM-dd HH:mm:ss.SSS} %c{1.} [%p] %msg%n</property>\n    <property name=\"patt
 ernMetris\">%d %-8r %m%n</property>\n</properties>\n<appenders>\n    <RollingFile name=\"A1\"\n                 fileName=\"${sys:storm.log.dir}/${sys:logfile.name}\"\n                 filePattern=\"${sys:storm.log.dir}/${sys:logfile.name}.%i\">\n        <PatternLayout>\n            <pattern>${pattern}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"100 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"9\"/>\n    </RollingFile>\n    <RollingFile name=\"ACCESS\"\n                 fileName=\"${sys:storm.log.dir}/access.log\"\n                 filePattern=\"${sys:storm.log.dir}/access.log.%i\">\n        <PatternLayout>\n            <pattern>${pattern}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"100 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"9\"/>\n    </RollingFile>\n    <RollingFile
  name=\"METRICS\"\n                 fileName=\"${sys:storm.log.dir}/metrics.log\"\n                 filePattern=\"${sys:storm.log.dir}/metrics.log.%i\">\n        <PatternLayout>\n            <pattern>${patternMetris}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"2 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"9\"/>\n    </RollingFile>\n    <Syslog name=\"syslog\" format=\"RFC5424\" host=\"localhost\" port=\"514\"\n            protocol=\"UDP\" appName=\"[${sys:daemon.name}]\" mdcId=\"mdc\" includeMDC=\"true\"\n            facility=\"LOCAL5\" enterpriseNumber=\"18060\" newLine=\"true\" exceptionPattern=\"%rEx{full}\"\n            messageId=\"[${sys:user.name}:S0]\" id=\"storm\"/>\n</appenders>\n<loggers>\n\n    <Logger name=\"backtype.storm.security.auth.authorizer\" level=\"info\">\n        <AppenderRef ref=\"ACCESS\"/>\n    </Logger>\n    <Logger name=\"backtype.storm.metric.Loggi
 ngMetricsConsumer\" level=\"info\">\n        <AppenderRef ref=\"METRICS\"/>\n    </Logger>\n    <root level=\"info\"> <!-- We log everything -->\n        <appender-ref ref=\"A1\"/>\n        <appender-ref ref=\"syslog\"/>\n    </root>\n</loggers>\n</configuration>\n    \n    "
+        },
+        "storm-worker-log4j": {
+          "content": "\n    \n<!--\n Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements.  See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License.  You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n-->\n\n<configuration monitorInterval=\"60\">\n<properties>\n    <property name=\"pattern\">%d{yyyy-MM-dd HH:mm:ss.SSS} %c{1.} [%p] %msg%n</property>\n    <property name=\"patt
 ernNoTime\">%msg%n</property>\n</properties>\n<appenders>\n    <RollingFile name=\"A1\"\n                 fileName=\"${sys:storm.log.dir}/${sys:logfile.name}\"\n                 filePattern=\"${sys:storm.log.dir}/${sys:logfile.name}.%i.gz\">\n        <PatternLayout>\n            <pattern>${pattern}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"100 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"9\"/>\n    </RollingFile>\n    <RollingFile name=\"STDOUT\"\n                 fileName=\"${sys:storm.log.dir}/${sys:logfile.name}.out\"\n                 filePattern=\"${sys:storm.log.dir}/${sys:logfile.name}.out.%i.gz\">\n        <PatternLayout>\n            <pattern>${patternNoTime}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"100 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"4\"/>\n    
 </RollingFile>\n    <RollingFile name=\"STDERR\"\n                 fileName=\"${sys:storm.log.dir}/${sys:logfile.name}.err\"\n                 filePattern=\"${sys:storm.log.dir}/${sys:logfile.name}.err.%i.gz\">\n        <PatternLayout>\n            <pattern>${patternNoTime}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"100 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"4\"/>\n    </RollingFile>\n    <Syslog name=\"syslog\" format=\"RFC5424\" host=\"localhost\" port=\"514\"\n        protocol=\"UDP\" appName=\"[${sys:storm.id}:${sys:worker.port}]\" mdcId=\"mdc\" includeMDC=\"true\"\n        facility=\"LOCAL5\" enterpriseNumber=\"18060\" newLine=\"true\" exceptionPattern=\"%rEx{full}\"\n        messageId=\"[${sys:user.name}:${sys:logging.sensitivity}]\" id=\"storm\"/>\n</appenders>\n<loggers>\n    <root level=\"info\"> <!-- We log everything -->\n        <appender-ref ref=\"A1\"/>\n  
       <appender-ref ref=\"syslog\"/>\n    </root>\n    <Logger name=\"STDERR\" level=\"INFO\">\n        <appender-ref ref=\"STDERR\"/>\n        <appender-ref ref=\"syslog\"/>\n    </Logger>\n    <Logger name=\"STDOUT\" level=\"INFO\">\n        <appender-ref ref=\"STDOUT\"/>\n        <appender-ref ref=\"syslog\"/>\n    </Logger>\n</loggers>\n</configuration>\n    \n    "
         },
         "storm-site": {
           "supervisor.childopts": "-Xmx256m _JAAS_PLACEHOLDER -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port={{jmxremote_port}} -javaagent:/usr/hdp/current/storm-supervisor/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=localhost,port=8650,wireformat31x=true,mode=multicast,config=/usr/hdp/current/storm-supervisor/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Supervisor_JVM",

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/main/resources/upgrade/catalog/UpgradeCatalog_2.2_to_2.3.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/upgrade/catalog/UpgradeCatalog_2.2_to_2.3.json b/ambari-server/src/main/resources/upgrade/catalog/UpgradeCatalog_2.2_to_2.3.json
index ebcfb52..40c345d 100644
--- a/ambari-server/src/main/resources/upgrade/catalog/UpgradeCatalog_2.2_to_2.3.json
+++ b/ambari-server/src/main/resources/upgrade/catalog/UpgradeCatalog_2.2_to_2.3.json
@@ -316,12 +316,31 @@
             "required-services": [
               "HIVE"
             ]
+          },
+          "storm-cluster-log4j": {
+            "merged-copy": "yes",
+            "required-services": [
+              "STORM"
+            ]
+          },
+          "storm-worker-log4j": {
+            "merged-copy": "yes",
+            "required-services": [
+              "STORM"
+            ]
           }
         }
       },
       "properties": {
         "storm-env": {
-          "nimbus_seeds_supported": "true"
+          "nimbus_seeds_supported": "true",
+          "storm_logs_supported": "true"
+        },
+        "storm-cluster-log4j": {
+          "content": "\n    \n<!--\n Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements.  See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License.  You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n-->\n\n<configuration monitorInterval=\"60\">\n<properties>\n    <property name=\"pattern\">%d{yyyy-MM-dd HH:mm:ss.SSS} %c{1.} [%p] %msg%n</property>\n    <property name=\"patt
 ernMetris\">%d %-8r %m%n</property>\n</properties>\n<appenders>\n    <RollingFile name=\"A1\"\n                 fileName=\"${sys:storm.log.dir}/${sys:logfile.name}\"\n                 filePattern=\"${sys:storm.log.dir}/${sys:logfile.name}.%i\">\n        <PatternLayout>\n            <pattern>${pattern}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"100 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"9\"/>\n    </RollingFile>\n    <RollingFile name=\"ACCESS\"\n                 fileName=\"${sys:storm.log.dir}/access.log\"\n                 filePattern=\"${sys:storm.log.dir}/access.log.%i\">\n        <PatternLayout>\n            <pattern>${pattern}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"100 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"9\"/>\n    </RollingFile>\n    <RollingFile
  name=\"METRICS\"\n                 fileName=\"${sys:storm.log.dir}/metrics.log\"\n                 filePattern=\"${sys:storm.log.dir}/metrics.log.%i\">\n        <PatternLayout>\n            <pattern>${patternMetris}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"2 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"9\"/>\n    </RollingFile>\n    <Syslog name=\"syslog\" format=\"RFC5424\" host=\"localhost\" port=\"514\"\n            protocol=\"UDP\" appName=\"[${sys:daemon.name}]\" mdcId=\"mdc\" includeMDC=\"true\"\n            facility=\"LOCAL5\" enterpriseNumber=\"18060\" newLine=\"true\" exceptionPattern=\"%rEx{full}\"\n            messageId=\"[${sys:user.name}:S0]\" id=\"storm\"/>\n</appenders>\n<loggers>\n\n    <Logger name=\"backtype.storm.security.auth.authorizer\" level=\"info\">\n        <AppenderRef ref=\"ACCESS\"/>\n    </Logger>\n    <Logger name=\"backtype.storm.metric.Loggi
 ngMetricsConsumer\" level=\"info\">\n        <AppenderRef ref=\"METRICS\"/>\n    </Logger>\n    <root level=\"info\"> <!-- We log everything -->\n        <appender-ref ref=\"A1\"/>\n        <appender-ref ref=\"syslog\"/>\n    </root>\n</loggers>\n</configuration>\n    \n    "
+        },
+        "storm-worker-log4j": {
+          "content": "\n    \n<!--\n Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements.  See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License.  You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n-->\n\n<configuration monitorInterval=\"60\">\n<properties>\n    <property name=\"pattern\">%d{yyyy-MM-dd HH:mm:ss.SSS} %c{1.} [%p] %msg%n</property>\n    <property name=\"patt
 ernNoTime\">%msg%n</property>\n</properties>\n<appenders>\n    <RollingFile name=\"A1\"\n                 fileName=\"${sys:storm.log.dir}/${sys:logfile.name}\"\n                 filePattern=\"${sys:storm.log.dir}/${sys:logfile.name}.%i.gz\">\n        <PatternLayout>\n            <pattern>${pattern}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"100 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"9\"/>\n    </RollingFile>\n    <RollingFile name=\"STDOUT\"\n                 fileName=\"${sys:storm.log.dir}/${sys:logfile.name}.out\"\n                 filePattern=\"${sys:storm.log.dir}/${sys:logfile.name}.out.%i.gz\">\n        <PatternLayout>\n            <pattern>${patternNoTime}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"100 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"4\"/>\n    
 </RollingFile>\n    <RollingFile name=\"STDERR\"\n                 fileName=\"${sys:storm.log.dir}/${sys:logfile.name}.err\"\n                 filePattern=\"${sys:storm.log.dir}/${sys:logfile.name}.err.%i.gz\">\n        <PatternLayout>\n            <pattern>${patternNoTime}</pattern>\n        </PatternLayout>\n        <Policies>\n            <SizeBasedTriggeringPolicy size=\"100 MB\"/> <!-- Or every 100 MB -->\n        </Policies>\n        <DefaultRolloverStrategy max=\"4\"/>\n    </RollingFile>\n    <Syslog name=\"syslog\" format=\"RFC5424\" host=\"localhost\" port=\"514\"\n        protocol=\"UDP\" appName=\"[${sys:storm.id}:${sys:worker.port}]\" mdcId=\"mdc\" includeMDC=\"true\"\n        facility=\"LOCAL5\" enterpriseNumber=\"18060\" newLine=\"true\" exceptionPattern=\"%rEx{full}\"\n        messageId=\"[${sys:user.name}:${sys:logging.sensitivity}]\" id=\"storm\"/>\n</appenders>\n<loggers>\n    <root level=\"info\"> <!-- We log everything -->\n        <appender-ref ref=\"A1\"/>\n  
       <appender-ref ref=\"syslog\"/>\n    </root>\n    <Logger name=\"STDERR\" level=\"INFO\">\n        <appender-ref ref=\"STDERR\"/>\n        <appender-ref ref=\"syslog\"/>\n    </Logger>\n    <Logger name=\"STDOUT\" level=\"INFO\">\n        <appender-ref ref=\"STDOUT\"/>\n        <appender-ref ref=\"syslog\"/>\n    </Logger>\n</loggers>\n</configuration>\n    \n    "
         },
         "falcon-startup.properties": {
           "*.shared.libs": "activemq-core,ant,geronimo-j2ee-management,jms,json-simple,oozie-client,spring-jms,commons-lang3,commons-el",

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/test/python/stacks/2.1/configs/default-storm-start.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1/configs/default-storm-start.json b/ambari-server/src/test/python/stacks/2.1/configs/default-storm-start.json
index d3cc980..bfde096 100644
--- a/ambari-server/src/test/python/stacks/2.1/configs/default-storm-start.json
+++ b/ambari-server/src/test/python/stacks/2.1/configs/default-storm-start.json
@@ -214,7 +214,8 @@
             "storm_log_dir": "/var/log/storm",
             "storm_pid_dir": "/var/run/storm",
             "storm_user": "storm",
-            "nimbus_seeds_supported" : false
+            "nimbus_seeds_supported" : "false",
+            "storm_logs_supported": "false"
         },
 		"ranger-storm-plugin-properties": {
             "POLICY_MGR_URL": "{{policymgr_mgr_url}}", 

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/test/python/stacks/2.1/configs/default.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1/configs/default.json b/ambari-server/src/test/python/stacks/2.1/configs/default.json
index f878aad..76d840b 100644
--- a/ambari-server/src/test/python/stacks/2.1/configs/default.json
+++ b/ambari-server/src/test/python/stacks/2.1/configs/default.json
@@ -654,7 +654,8 @@
             "storm_log_dir": "/var/log/storm", 
             "storm_pid_dir": "/var/run/storm", 
             "storm_user": "storm",
-            "nimbus_seeds_supported" : false
+            "nimbus_seeds_supported" : "false",
+            "storm_logs_supported": "false"
         }, 
         "falcon-env": {
             "falcon_port": "15000", 

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/test/python/stacks/2.1/configs/secured-storm-start.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1/configs/secured-storm-start.json b/ambari-server/src/test/python/stacks/2.1/configs/secured-storm-start.json
index 0b1ea9e..f9e518d 100644
--- a/ambari-server/src/test/python/stacks/2.1/configs/secured-storm-start.json
+++ b/ambari-server/src/test/python/stacks/2.1/configs/secured-storm-start.json
@@ -225,7 +225,8 @@
             "nimbus_keytab": "/etc/security/keytabs/nimbus.service.keytab", 
             "storm_keytab": "/etc/security/keytabs/storm.headless.keytab",
             "storm_ui_principal_name": "HTTP/_HOST",
-            "nimbus_seeds_supported" : false
+            "nimbus_seeds_supported" : "false",
+            "storm_logs_supported": "false"
         },
         "ranger-storm-plugin-properties": {
             "POLICY_MGR_URL": "{{policymgr_mgr_url}}", 

http://git-wip-us.apache.org/repos/asf/ambari/blob/565dc0de/ambari-server/src/test/python/stacks/2.1/configs/secured.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1/configs/secured.json b/ambari-server/src/test/python/stacks/2.1/configs/secured.json
index 193012e..3346ee6 100644
--- a/ambari-server/src/test/python/stacks/2.1/configs/secured.json
+++ b/ambari-server/src/test/python/stacks/2.1/configs/secured.json
@@ -646,7 +646,8 @@
             "storm_principal_name": "storm",
             "storm_ui_keytab" : "/etc/security/keytabs/spnego.service.keytab",
             "storm_ui_principal_name" : "HTTP/_HOST",
-            "nimbus_seeds_supported" : false
+            "nimbus_seeds_supported" : "false",
+            "storm_logs_supported": "false"
         }, 
         "falcon-env": {
             "falcon_port": "15000",