Repository: stratos
Updated Branches:
  refs/heads/master 2bab7e453 -> 3393d4383


STRATOS-702 - HAProxy Extension won't update it's member list


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/3393d438
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/3393d438
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/3393d438

Branch: refs/heads/master
Commit: 3393d438372ba41d75c5558a61502dd40b189d19
Parents: 2bab7e4
Author: Dinesh Bandara <[email protected]>
Authored: Mon Jul 7 15:02:13 2014 +0530
Committer: Dinesh Bandara <[email protected]>
Committed: Mon Jul 7 15:02:13 2014 +0530

----------------------------------------------------------------------
 .../balancer/extension/api/LoadBalancerExtension.java  | 13 ++++++++-----
 .../org/apache/stratos/haproxy/extension/HAProxy.java  |  3 +++
 .../stratos/haproxy/extension/HAProxyConfigWriter.java |  5 +++++
 .../haproxy/extension/HAProxyStatisticsReader.java     |  5 +++--
 4 files changed, 19 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/3393d438/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java
 
b/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java
index 44b7419..e58ce37 100644
--- 
a/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java
+++ 
b/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java
@@ -92,12 +92,15 @@ public class LoadBalancerExtension implements Runnable {
             @Override
             protected void onEvent(Event event) {
                 try {
-                    // Configure load balancer
-                    loadBalancer.configure(TopologyManager.getTopology());
 
-                    // Start load balancer
-                    loadBalancer.start();
-                    loadBalancerStarted = true;
+                    if (!loadBalancerStarted) {
+                        // Configure load balancer
+                        loadBalancer.configure(TopologyManager.getTopology());
+
+                        // Start load balancer
+                        loadBalancer.start();
+                        loadBalancerStarted = true;
+                    }
                 } catch (Exception e) {
                     if (log.isErrorEnabled()) {
                         log.error("Could not start load balancer", e);

http://git-wip-us.apache.org/repos/asf/stratos/blob/3393d438/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxy.java
----------------------------------------------------------------------
diff --git 
a/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxy.java
 
b/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxy.java
index 75efdc2..c71eba1 100644
--- 
a/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxy.java
+++ 
b/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxy.java
@@ -84,6 +84,9 @@ public class HAProxy implements LoadBalancer {
     }
 
     public void reload(Topology topology) throws 
LoadBalancerExtensionException {
+        if(log.isDebugEnabled()) {
+           log.info("Reconfigure and Reload the Load Balancer ");
+        }
         configure(topology);
         reloadConfiguration();
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/3393d438/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 db28b0e..66ea32a 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
@@ -61,6 +61,11 @@ public class HAProxyConfigWriter {
         StringBuilder frontendBackendCollection = new StringBuilder();
         for (Service service : topology.getServices()) {
             for (Cluster cluster : service.getClusters()) {
+
+                if(cluster.getServiceName().equals("haproxy"))
+                    continue;
+
+
                 if ((service.getPorts() == null) || (service.getPorts().size() 
== 0)) {
                     throw new RuntimeException(String.format("No ports found 
in service: %s", service.getServiceName()));
                 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/3393d438/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyStatisticsReader.java
----------------------------------------------------------------------
diff --git 
a/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyStatisticsReader.java
 
b/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyStatisticsReader.java
index b38aa3c..676f522 100644
--- 
a/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyStatisticsReader.java
+++ 
b/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyStatisticsReader.java
@@ -60,9 +60,10 @@ public class HAProxyStatisticsReader implements 
LoadBalancerStatisticsReader {
                     }
 
                     for (Port port : service.getPorts()) {
-                        frontendId = cluster.getClusterId() + "-proxy-" + 
port.getProxy();
+                        frontendId = cluster.getClusterId() + "-host-" + 
HAProxyContext.getInstance().getHAProxyPrivateIp() + "-proxy-" + 
port.getProxy();
+                        //frontendId = cluster.getClusterId() + "-proxy-" + 
port.getProxy();
                         backendId = frontendId + "-members";
-
+                        
                         for (Member member : cluster.getMembers()) {
                             // echo "get weight <backend>/<server>" | socat 
stdio <stats-socket>
                             command = String.format("%s/get-weight.sh %s %s 
%s", scriptsPath, backendId, member.getMemberId(), statsSocketFilePath);

Reply via email to