Author: abayer
Date: Sun Aug 12 18:46:54 2012
New Revision: 1372173

URL: http://svn.apache.org/viewvc?rev=1372173&view=rev
Log:
WHIRR-616. Allow multiple YARN node managers to run on a cluster. Contributed 
by Godwin Babu.

Modified:
    whirr/trunk/CHANGES.txt
    
whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnNodeManagerHandler.java

Modified: whirr/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/whirr/trunk/CHANGES.txt?rev=1372173&r1=1372172&r2=1372173&view=diff
==============================================================================
--- whirr/trunk/CHANGES.txt (original)
+++ whirr/trunk/CHANGES.txt Sun Aug 12 18:46:54 2012
@@ -15,6 +15,8 @@ Trunk (unreleased changes)
 
   IMPROVEMENTS
 
+    WHIRR-616. Allow multiple YARN node managers to run on a cluster (Godwin 
Babu via abayer)
+
     WHIRR-585. bin/whirr version command does not work (frankscholten)
 
     WHIRR-370. Templating for configuration files (kve)

Modified: 
whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnNodeManagerHandler.java
URL: 
http://svn.apache.org/viewvc/whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnNodeManagerHandler.java?rev=1372173&r1=1372172&r2=1372173&view=diff
==============================================================================
--- 
whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnNodeManagerHandler.java
 (original)
+++ 
whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnNodeManagerHandler.java
 Sun Aug 12 18:46:54 2012
@@ -23,6 +23,7 @@ import static org.apache.whirr.service.y
 import static org.jclouds.scriptbuilder.domain.Statements.call;
 
 import java.io.IOException;
+import java.util.Set;
 
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
@@ -50,13 +51,17 @@ public class YarnNodeManagerHandler exte
     Configuration conf = getConfiguration(clusterSpec);
     Cluster cluster = event.getCluster();
     
-    Instance nodeManager = cluster.getInstanceMatching(role(ROLE));
-    event.getFirewallManager().addRules(
-        Rule.create()
-          .destination(nodeManager)
-          .ports(NODE_MANAGER_WEB_UI_PORT)
-    );
-    
+    Set<Instance> nodeManagers = cluster.getInstancesMatching(role(ROLE));
+    if (!nodeManagers.isEmpty()) {
+        for(Instance nodeManager : nodeManagers) {
+            event.getFirewallManager().addRules(
+                    Rule.create()
+                      .destination(nodeManager)
+                      .ports(NODE_MANAGER_WEB_UI_PORT)
+                );            
+        }
+    }
+        
     try {
       event.getStatementBuilder().addStatements(
         build("/tmp/yarn-site.xml", clusterSpec, cluster, ROLE)


Reply via email to