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)