Support HAProxy for default and static load balancer

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

Branch: refs/heads/master
Commit: aec171b15fdd5503c43b3e231399011c3771718d
Parents: 4f6c034
Author: Manula Thantriwatte <[email protected]>
Authored: Wed Sep 24 07:21:22 2014 +0000
Committer: Manula Thantriwatte <[email protected]>
Committed: Fri Sep 26 05:00:56 2014 +0000

----------------------------------------------------------------------
 .../src/main/bin/haproxy-extension.sh                 |  1 +
 .../apache/stratos/haproxy/extension/Constants.java   |  1 +
 .../haproxy/extension/HAProxyConfigWriter.java        |  7 ++++---
 .../stratos/haproxy/extension/HAProxyContext.java     | 14 ++++++++++++--
 .../haproxy-extension/src/main/license/LICENSE        |  1 -
 5 files changed, 18 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/aec171b1/extensions/load-balancer/haproxy-extension/src/main/bin/haproxy-extension.sh
----------------------------------------------------------------------
diff --git 
a/extensions/load-balancer/haproxy-extension/src/main/bin/haproxy-extension.sh 
b/extensions/load-balancer/haproxy-extension/src/main/bin/haproxy-extension.sh
index 3f6bc73..f8ed9b3 100755
--- 
a/extensions/load-balancer/haproxy-extension/src/main/bin/haproxy-extension.sh
+++ 
b/extensions/load-balancer/haproxy-extension/src/main/bin/haproxy-extension.sh
@@ -40,6 +40,7 @@ properties="-Dhaproxy.private.ip=127.0.0.1
             -Dthrift.receiver.port=7615
             -Dnetwork.partition.id=network-partition-1
             -Dcluster.id=cluster
+            -Dservice.name=service
             -Dcep.stats.publisher.enabled=true"
 
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/aec171b1/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/Constants.java
----------------------------------------------------------------------
diff --git 
a/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/Constants.java
 
b/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/Constants.java
index eb88c16..d0abeb8 100644
--- 
a/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/Constants.java
+++ 
b/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/Constants.java
@@ -35,6 +35,7 @@ public class Constants {
     public static final String THRIFT_RECEIVER_PORT = "thrift.receiver.port";
     public static final String NETWORK_PARTITION_ID = "network.partition.id";
     public static final String CLUSTER_ID = "cluster.id";
+    public static final String SERVICE_NAME = "service.name";
 
     public static final String LOAD_BALANCER = "load.balancer";
     public static final String LOAD_BALANCER_REF = "load.balancer.ref";

http://git-wip-us.apache.org/repos/asf/stratos/blob/aec171b1/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 10a4c97..f7349d9 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
@@ -79,7 +79,7 @@ public class HAProxyConfigWriter {
         frontEndHttpsAdded = false;
 
         for (Service service : topology.getServices()) {
-            if (service.getServiceName().equals("haproxy")) {
+            if 
(service.getServiceName().equals(HAProxyContext.getInstance().getServiceName()))
 {
                 for (Cluster cluster : service.getClusters()) {
                     if 
(cluster.getClusterId().equals(HAProxyContext.getInstance().getClusterId())) {
                         if 
((cluster.getProperties().getProperty(Constants.LOAD_BALANCER) != null) && 
(cluster.getProperties().getProperty(Constants.LOAD_BALANCER_REF) != null)) {
@@ -88,7 +88,8 @@ public class HAProxyConfigWriter {
                                 loadBalancedServiceType = 
cluster.getProperties().getProperty(Constants.LB_SERVICE_TYPE);
                             break;
                         } else {
-                            loadBalancerType = 
cluster.getProperties().getProperty(Constants.STATIC_LOAD_BALANCER);
+                            loadBalancerType = Constants.STATIC_LOAD_BALANCER;
+                            log.debug("Static load balancer");
                             break;
                         }
                     }
@@ -101,7 +102,7 @@ public class HAProxyConfigWriter {
                 if 
(cluster.getProperties().getProperty(Constants.LOAD_BALANCER) == null) {
                     if 
((cluster.getProperties().getProperty(Constants.LOAD_BALANCER_REF) != null)) {
                         if 
((cluster.getProperties().getProperty(Constants.LOAD_BALANCER_REF).equals(Constants.NO_LOAD_BALANCER))
 &&
-                                
Constants.STATIC_LOAD_BALANCER.equals(loadBalancerType)) {
+                                
Constants.STATIC_LOAD_BALANCER.equals(loadBalancerType) && 
cluster.getServiceName().equals(HAProxyContext.getInstance().getLbserviceType()))
  {
                             createConfig(service, cluster);
                         } else if 
((cluster.getProperties().getProperty(Constants.LOAD_BALANCER_REF).equals(Constants.DEFAULT_LOAD_BALANCER))
 &&
                                 
Constants.DEFAULT_LOAD_BALANCER.equals(loadBalancerType)) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/aec171b1/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyContext.java
----------------------------------------------------------------------
diff --git 
a/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyContext.java
 
b/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyContext.java
index f73498a..1228b53 100644
--- 
a/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyContext.java
+++ 
b/extensions/load-balancer/haproxy-extension/src/main/java/org/apache/stratos/haproxy/extension/HAProxyContext.java
@@ -42,6 +42,8 @@ public class HAProxyContext {
     private String thriftReceiverPort;
     private String networkPartitionId;
     private String clusterId;
+    private String serviceName;
+    private String lbserviceType;
 
     private HAProxyContext() {
         this.haProxyPrivateIp = 
System.getProperty(Constants.HAPROXY_PRIVATE_IP);
@@ -56,6 +58,8 @@ public class HAProxyContext {
         this.thriftReceiverPort = 
System.getProperty(Constants.THRIFT_RECEIVER_PORT);
         this.networkPartitionId = 
System.getProperty(Constants.NETWORK_PARTITION_ID);
         this.clusterId = System.getProperty(Constants.CLUSTER_ID);
+        this.serviceName = System.getProperty(Constants.SERVICE_NAME);
+        this.lbserviceType = System.getProperty(Constants.LB_SERVICE_TYPE);
 
         if (log.isDebugEnabled()) {
             log.debug(Constants.HAPROXY_PRIVATE_IP + " = " + haProxyPrivateIp);
@@ -95,7 +99,7 @@ public class HAProxyContext {
         validateSystemProperty(Constants.CEP_STATS_PUBLISHER_ENABLED);
         validateSystemProperty(Constants.CLUSTER_ID);
 
-        if(cepStatsPublisherEnabled) {
+        if (cepStatsPublisherEnabled) {
             validateSystemProperty(Constants.THRIFT_RECEIVER_IP);
             validateSystemProperty(Constants.THRIFT_RECEIVER_PORT);
             validateSystemProperty(Constants.NETWORK_PARTITION_ID);
@@ -104,7 +108,7 @@ public class HAProxyContext {
 
     private void validateSystemProperty(String propertyName) {
         String value = System.getProperty(propertyName);
-        if(StringUtils.isEmpty(value)) {
+        if (StringUtils.isEmpty(value)) {
             throw new RuntimeException("System property was not found: " + 
propertyName);
         }
     }
@@ -148,4 +152,10 @@ public class HAProxyContext {
     public String getClusterId() {
         return clusterId;
     }
+
+    public String getServiceName() {
+        return serviceName;
+    }
+
+    public String getLbserviceType() { return  lbserviceType;}
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/aec171b1/extensions/load-balancer/haproxy-extension/src/main/license/LICENSE
----------------------------------------------------------------------
diff --git 
a/extensions/load-balancer/haproxy-extension/src/main/license/LICENSE 
b/extensions/load-balancer/haproxy-extension/src/main/license/LICENSE
index 5a78fc9..d9da95e 100644
--- a/extensions/load-balancer/haproxy-extension/src/main/license/LICENSE
+++ b/extensions/load-balancer/haproxy-extension/src/main/license/LICENSE
@@ -457,7 +457,6 @@ slf4j-log4j12-1.7.5.jar
 
 The MIT License (MIT)
 
-Copyright (c) 2004-2013 QOS.ch
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

Reply via email to