Updated Branches:
  refs/heads/master f44be6042 -> 9b1bd2c51

Changed frontend bind ip to haproxy private ip, added new configuration & 
updated install.txt


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

Branch: refs/heads/master
Commit: 9b1bd2c514131ff963143d8a36627221178cd104
Parents: f44be60
Author: Imesh Gunaratne <[email protected]>
Authored: Wed Feb 5 07:25:29 2014 -0500
Committer: Imesh Gunaratne <[email protected]>
Committed: Wed Feb 5 07:25:29 2014 -0500

----------------------------------------------------------------------
 .../load-balancer/haproxy-extension/INSTALL.txt | 19 ++++++++---
 .../src/main/bin/haproxy-extension.sh           |  7 ++--
 .../stratos/haproxy/extension/Constants.java    |  1 +
 .../haproxy/extension/HAProxyConfigWriter.java  | 36 +++++++++-----------
 .../haproxy/extension/HAProxyContext.java       |  8 +++++
 5 files changed, 45 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9b1bd2c5/extensions/load-balancer/haproxy-extension/INSTALL.txt
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/haproxy-extension/INSTALL.txt 
b/extensions/load-balancer/haproxy-extension/INSTALL.txt
index 5df5c5a..fad3434 100644
--- a/extensions/load-balancer/haproxy-extension/INSTALL.txt
+++ b/extensions/load-balancer/haproxy-extension/INSTALL.txt
@@ -11,14 +11,25 @@ below steps to proceed with the installation:
 2. Extract apache-stratos-haproxy-extension-4.0.0-SNAPSHOT-bin.zip to a 
desired location: <haproxy-extension-home>.
 
 3. Open <haproxy-extension-home>/bin/haproxy-extension.sh file in a text 
editor and update following system properties:
-   -Dexecutable.file.path=<haproxy-home>/haproxy        # HAProxy executable 
file path
-   -Dthrift.receiver.ip=localhost                       # CEP IP Address
-   -Dthrift.receiver.port=7615                          # CEP Port
+
+   # Define haproxy host private ip address:
+   -Dhaproxy.private.ip=127.0.0.1
+
+   # Define the haproxy executable file path:
+   -Dexecutable.file.path=<haproxy-home>/haproxy
+
+   # Enable/disable cep statistics publisher:
+   -Dcep.stats.publisher.enabled=false
+
+   # If cep statistics publisher is enabled define the following properties:
+   -Dthrift.receiver.ip=127.0.0.1
+   -Dthrift.receiver.port=7615
+   -Dnetwork.partition.id=network-partition-1
 
 4. Open <haproxy-extension-home>/conf/jndi.properties file in a text editor 
and update message broker information:
    
connectionfactory.topicConnectionfactory=amqp://admin:admin@carbon/carbon?brokerlist='tcp://<message-broker-ip>:<message-broker-port>'
 
-5. Run <haproxy-extension-home>/bin/haproxy-extension.sh
+5. Run <haproxy-extension-home>/bin/haproxy-extension.sh as the root user.
 
 
 Thank you for using Apache Stratos!

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9b1bd2c5/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 82d4f57..717b6e7 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
@@ -24,8 +24,9 @@ echo "Starting haproxy extension..."
 script_path="$( cd -P "$( dirname "$SOURCE" )" && pwd )/`dirname $0`"
 lib_path=${script_path}/../lib/
 class_path=`echo ${lib_path}/*.jar | tr ' ' ':'`
-properties="-Djndi.properties.dir=${script_path}/../conf
+properties="-Dhaproxy.private.ip=127.0.0.1
             -Dexecutable.file.path=haproxy
+            -Djndi.properties.dir=${script_path}/../conf
             -Dtemplates.path=${script_path}/../templates
             -Dtemplates.name=haproxy.cfg.template
             -Dscripts.path=${script_path}/../scripts
@@ -35,9 +36,9 @@ properties="-Djndi.properties.dir=${script_path}/../conf
             
-Djavax.net.ssl.trustStore=${script_path}/../security/client-truststore.jks
             -Djavax.net.ssl.trustStorePassword=wso2carbon
             -Dcep.stats.publisher.enabled=false
-            -Dthrift.receiver.ip=localhost
+            -Dthrift.receiver.ip=127.0.0.1
             -Dthrift.receiver.port=7615
-            -Dnetwork.partition.id=
+            -Dnetwork.partition.id=network-partition-1
             -Dstratos.messaging.topology.member.filter="
 
 # Uncomment below line to enable remote debugging

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9b1bd2c5/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 fe9783c..1167172 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
@@ -23,6 +23,7 @@ package org.apache.stratos.haproxy.extension;
  * HA proxy extension constants.
  */
 public class Constants {
+    public static final String HAPROXY_PRIVATE_IP = "haproxy.private.ip";
     public static final String EXECUTABLE_FILE_PATH = "executable.file.path";
     public static final String TEMPLATES_PATH = "templates.path";
     public static final String TEMPLATES_NAME = "templates.name";

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9b1bd2c5/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 fc20234..db28b0e 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
@@ -66,26 +66,24 @@ public class HAProxyConfigWriter {
                 }
 
                 for (Port port : service.getPorts()) {
-                    for(String hostName : cluster.getHostNames()) {
-                        String frontendId = cluster.getClusterId() + "-host-" 
+ hostName + "-proxy-" + port.getProxy();
-                        String backendId = frontendId + "-members";
-
-                        // Frontend block
-                        frontendBackendCollection.append("frontend 
").append(frontendId).append(NEW_LINE);
-                        frontendBackendCollection.append("\tbind 
").append(hostName).append(":").append(port.getProxy()).append(NEW_LINE);
-                        frontendBackendCollection.append("\tmode 
").append(port.getProtocol()).append(NEW_LINE);
-                        frontendBackendCollection.append("\tdefault_backend 
").append(backendId).append(NEW_LINE);
-                        frontendBackendCollection.append(NEW_LINE);
-
-                        // Backend block
-                        frontendBackendCollection.append("backend 
").append(backendId).append(NEW_LINE);
-                        frontendBackendCollection.append("\tmode 
").append(port.getProtocol()).append(NEW_LINE);
-                        for (Member member : cluster.getMembers()) {
-                            frontendBackendCollection.append("\tserver 
").append(member.getMemberId()).append(" ")
-                                    
.append(member.getMemberIp()).append(":").append(port.getValue()).append(NEW_LINE);
-                        }
-                        frontendBackendCollection.append(NEW_LINE);
+                    String frontendId = cluster.getClusterId() + "-host-" + 
HAProxyContext.getInstance().getHAProxyPrivateIp() + "-proxy-" + 
port.getProxy();
+                    String backendId = frontendId + "-members";
+
+                    // Frontend block
+                    frontendBackendCollection.append("frontend 
").append(frontendId).append(NEW_LINE);
+                    frontendBackendCollection.append("\tbind 
").append(HAProxyContext.getInstance().getHAProxyPrivateIp()).append(":").append(port.getProxy()).append(NEW_LINE);
+                    frontendBackendCollection.append("\tmode 
").append(port.getProtocol()).append(NEW_LINE);
+                    frontendBackendCollection.append("\tdefault_backend 
").append(backendId).append(NEW_LINE);
+                    frontendBackendCollection.append(NEW_LINE);
+
+                    // Backend block
+                    frontendBackendCollection.append("backend 
").append(backendId).append(NEW_LINE);
+                    frontendBackendCollection.append("\tmode 
").append(port.getProtocol()).append(NEW_LINE);
+                    for (Member member : cluster.getMembers()) {
+                        frontendBackendCollection.append("\tserver 
").append(member.getMemberId()).append(" ")
+                                
.append(member.getMemberIp()).append(":").append(port.getValue()).append(NEW_LINE);
                     }
+                    frontendBackendCollection.append(NEW_LINE);
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9b1bd2c5/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 bd2bf79..c835f5d 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
@@ -30,6 +30,7 @@ public class HAProxyContext {
     private static final Log log = LogFactory.getLog(HAProxyContext.class);
     private static volatile HAProxyContext context;
 
+    private String haProxyPrivateIp;
     private String executableFilePath;
     private String templatePath;
     private String templateName;
@@ -42,6 +43,7 @@ public class HAProxyContext {
     private String networkPartitionId;
 
     private HAProxyContext() {
+        this.haProxyPrivateIp = 
System.getProperty(Constants.HAPROXY_PRIVATE_IP);
         this.executableFilePath = 
System.getProperty(Constants.EXECUTABLE_FILE_PATH);
         this.templatePath = System.getProperty(Constants.TEMPLATES_PATH);
         this.templateName = System.getProperty(Constants.TEMPLATES_NAME);
@@ -54,6 +56,7 @@ public class HAProxyContext {
         this.networkPartitionId = 
System.getProperty(Constants.NETWORK_PARTITION_ID);
 
         if (log.isDebugEnabled()) {
+            log.debug(Constants.HAPROXY_PRIVATE_IP + " = " + haProxyPrivateIp);
             log.debug(Constants.EXECUTABLE_FILE_PATH + " = " + 
executableFilePath);
             log.debug(Constants.TEMPLATES_PATH + " = " + templatePath);
             log.debug(Constants.TEMPLATES_NAME + " = " + templateName);
@@ -79,6 +82,7 @@ public class HAProxyContext {
     }
 
     public void validate() {
+        validateSystemProperty(Constants.HAPROXY_PRIVATE_IP);
         validateSystemProperty(Constants.EXECUTABLE_FILE_PATH);
         validateSystemProperty(Constants.TEMPLATES_PATH);
         validateSystemProperty(Constants.TEMPLATES_NAME);
@@ -101,6 +105,10 @@ public class HAProxyContext {
         }
     }
 
+    public String getHAProxyPrivateIp() {
+        return haProxyPrivateIp;
+    }
+
     public String getExecutableFilePath() {
         return executableFilePath;
     }

Reply via email to