You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sw...@apache.org on 2013/08/27 23:23:18 UTC

git commit: AMBARI-3040. Nodemanger unhealthy alert when multiple log directories are specified. (swagle)

Updated Branches:
  refs/heads/trunk 5ba1e2160 -> e4a4cb05a


AMBARI-3040. Nodemanger unhealthy alert when multiple log directories are specified. (swagle)


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

Branch: refs/heads/trunk
Commit: e4a4cb05a0c0a2cb08b8e5f8c9080922c3858684
Parents: 5ba1e21
Author: Siddharth Wagle <sw...@hortonworks.com>
Authored: Tue Aug 27 14:07:42 2013 -0700
Committer: Siddharth Wagle <sw...@hortonworks.com>
Committed: Tue Aug 27 14:07:42 2013 -0700

----------------------------------------------------------------------
 .../modules/hdp-yarn/manifests/nodemanager.pp   | 24 ++++++++------------
 .../parser/functions/hdp_set_from_comma_list.rb |  7 ++++--
 2 files changed, 14 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/e4a4cb05/ambari-agent/src/main/puppet/modules/hdp-yarn/manifests/nodemanager.pp
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/puppet/modules/hdp-yarn/manifests/nodemanager.pp b/ambari-agent/src/main/puppet/modules/hdp-yarn/manifests/nodemanager.pp
index b68a27e..5976730 100644
--- a/ambari-agent/src/main/puppet/modules/hdp-yarn/manifests/nodemanager.pp
+++ b/ambari-agent/src/main/puppet/modules/hdp-yarn/manifests/nodemanager.pp
@@ -26,6 +26,7 @@ class hdp-yarn::nodemanager(
   $yarn_user = $hdp-yarn::params::yarn_user
   $nm_local_dirs = $hdp-yarn::params::nm_local_dirs
   $nm_log_dirs = $hdp-yarn::params::nm_log_dirs
+  $yarn_log_dir_prefix = $hdp-yarn::params::yarn_log_dir_prefix
 
   if ($service_state == 'no_op') {
   } elsif ($service_state in 'installed_and_configured') {
@@ -39,20 +40,11 @@ class hdp-yarn::nodemanager(
 
     include hdp-yarn::initialize
 
-    hdp-yarn::nodemanager::create_nm_dirs { $nm_local_dirs:
-      service_state => $service_state
-    }
+    # To avoid duplicate resource definitions
+    $nm_dirs = hdp_set_from_comma_list("${nm_local_dirs},${nm_log_dirs}", "$yarn_log_dir_prefix")
 
-    if ($nm_local_dirs != $nm_log_dirs) {
-      hdp::directory_recursive_create { $nm_log_dirs:
-        owner       => $yarn_user,
-        context_tag => 'yarn_service',
-        service_state => $service_state,
-        force => true
-      }
-      Hdp-yarn::Nodemanager::Create_nm_dirs<||> ->
-      Hdp::Directory_recursive_create[ $nm_log_dirs ] ->
-      Hdp-yarn::Service['nodemanager']
+    hdp-yarn::nodemanager::create_nm_dirs { $nm_dirs:
+      service_state => $service_state
     }
 
     hdp-yarn::service{ 'nodemanager':
@@ -60,15 +52,17 @@ class hdp-yarn::nodemanager(
       user         => $yarn_user
     }
 
-    anchor{"hdp-yarn::nodemanager::begin":} ->
+    anchor{"hdp-yarn::nodemanager::begin" : } ->
     Hdp-yarn::Nodemanager::Create_nm_dirs<||> ->
-    Hdp-yarn::Service['nodemanager'] -> anchor{"hdp-yarn::nodemanager::end":}
+    Hdp-yarn::Service['nodemanager'] ->
+    anchor{"hdp-yarn::nodemanager::end": }
 
   } else {
     hdp_fail("TODO not implemented yet: service_state = ${service_state}")
   }
 }
 
+
 define hdp-yarn::nodemanager::create_nm_dirs($service_state) {
   $dirs = hdp_array_from_comma_list($name)
   hdp::directory_recursive_create { $dirs :

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/e4a4cb05/ambari-agent/src/main/puppet/modules/hdp/lib/puppet/parser/functions/hdp_set_from_comma_list.rb
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/puppet/modules/hdp/lib/puppet/parser/functions/hdp_set_from_comma_list.rb b/ambari-agent/src/main/puppet/modules/hdp/lib/puppet/parser/functions/hdp_set_from_comma_list.rb
index 1dc61f3..8790fde 100644
--- a/ambari-agent/src/main/puppet/modules/hdp/lib/puppet/parser/functions/hdp_set_from_comma_list.rb
+++ b/ambari-agent/src/main/puppet/modules/hdp/lib/puppet/parser/functions/hdp_set_from_comma_list.rb
@@ -22,10 +22,13 @@
 require 'set'
 module Puppet::Parser::Functions
   newfunction(:hdp_set_from_comma_list, :type => :rvalue) do |args|
-    list = function_hdp_array_from_comma_list(args)
+    dir_list = args[0]
+    reject_items = args[1].nil? ? [] : function_hdp_array_from_comma_list(args[1])
+
+    list = function_hdp_array_from_comma_list(dir_list)
     list.each_index {|i| list [i]=list [i].strip}
     #Delete empty strings
-    list.reject! { |e| e.empty? }
+    list.reject! { |e| e.empty? or reject_items.include?(e) }
     list.uniq   
   end
 end
\ No newline at end of file