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";

Reply via email to