Fixing port mapping issue in haproxy extension
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/cb50e9a4 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/cb50e9a4 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/cb50e9a4 Branch: refs/heads/master Commit: cb50e9a447e0e7573c5758b55ea941637896c2dc Parents: 6436832 Author: Imesh Gunaratne <[email protected]> Authored: Fri Aug 28 18:39:10 2015 +0530 Committer: Imesh Gunaratne <[email protected]> Committed: Fri Aug 28 18:39:23 2015 +0530 ---------------------------------------------------------------------- .../haproxy/extension/HAProxyConfigWriter.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/cb50e9a4/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyConfigWriter.java ---------------------------------------------------------------------- diff --git a/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyConfigWriter.java b/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyConfigWriter.java index d3ed8ef..7a0d531 100644 --- a/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyConfigWriter.java +++ b/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyConfigWriter.java @@ -31,6 +31,7 @@ import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; +import java.util.Collection; /** * HAProxy load balancer configuration writer. @@ -65,7 +66,7 @@ public class HAProxyConfigWriter { for (Service service : topology.getServices()) { for (Cluster cluster : service.getClusters()) { - createConfig(service, cluster, frontendCollection, backendCollection); + createConfig(cluster, frontendCollection, backendCollection); } } @@ -106,14 +107,18 @@ public class HAProxyConfigWriter { } } - private void createConfig(Service service, Cluster cluster, StringBuilder frontendCollection, + private void createConfig(Cluster cluster, StringBuilder frontendCollection, StringBuilder backendCollection) { - if ((service.getPorts() == null) || (service.getPorts().size() == 0)) { - throw new RuntimeException(String.format("No ports found in service: %s", service.getServiceName())); + if((cluster.getMembers() == null) || (cluster.getMembers().size() == 0)) { + return; } - for (Port port : service.getPorts()) { + // Find port mappings + Member firstMember = (Member) cluster.getMembers().toArray()[0]; + Collection<Port> ports = firstMember.getPorts(); + + for (Port port : ports) { // Frontend block start String protocol = port.getProtocol(); String frontendId = protocol + "_" + port.getValue() + "_frontend";
