Repository: stratos
Updated Branches:
  refs/heads/master ffdc9a435 -> 6c3f1b8bd


Fixing load balancer extension lifecycle and haproxy extension implementation


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

Branch: refs/heads/master
Commit: 6c3f1b8bdfa3f7714aef2b6b56834f3314adeccf
Parents: ffdc9a4
Author: Imesh Gunaratne <[email protected]>
Authored: Sat Mar 7 23:15:00 2015 +0530
Committer: Imesh Gunaratne <[email protected]>
Committed: Sat Mar 7 23:15:26 2015 +0530

----------------------------------------------------------------------
 ...LoadBalancerCommonTopologyEventReceiver.java | 54 ++++++++++++--------
 .../common/topology/TopologyProvider.java       |  4 +-
 .../balancer/extension/api/LoadBalancer.java    |  3 +-
 .../extension/api/LoadBalancerExtension.java    | 53 +++++++++++++++----
 .../haproxy-extension/src/main/assembly/bin.xml |  1 +
 .../src/main/bin/haproxy-extension.sh           |  7 ++-
 .../src/main/conf/jndi.properties               |  9 ++--
 .../src/main/conf/log4j.properties              |  2 +-
 .../src/main/conf/thrift-client-config.xml      | 25 +++++++++
 .../stratos/haproxy/extension/Constants.java    | 10 ----
 .../stratos/haproxy/extension/HAProxy.java      | 37 +++++---------
 .../haproxy/extension/HAProxyConfigWriter.java  |  3 +-
 .../haproxy/extension/HAProxyContext.java       |  4 --
 products/stratos/conf/jndi.properties           |  1 +
 products/stratos/conf/thrift-client-config.xml  | 26 +++++-----
 .../distribution/src/main/conf/jndi.properties  |  2 -
 .../kubernetes/network-partition-1.json         |  2 +-
 .../kubernetes/network-partition-2.json         |  2 +-
 .../kubernetes/network-partition-3.json         |  2 +-
 .../mock/network-partition-1.json               |  2 +-
 .../openstack/network-partition-1.json          |  2 +-
 .../openstack/network-partition-2.json          |  2 +-
 22 files changed, 147 insertions(+), 106 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
 
b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
index 1b29a95..8582f3c 100644
--- 
a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
+++ 
b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
@@ -40,6 +40,7 @@ public class LoadBalancerCommonTopologyEventReceiver extends 
TopologyEventReceiv
     private static final Log log = 
LogFactory.getLog(LoadBalancerCommonTopologyEventReceiver.class);
 
     private TopologyProvider topologyProvider;
+    private boolean initialized;
 
     public LoadBalancerCommonTopologyEventReceiver(TopologyProvider 
topologyProvider) {
         this.topologyProvider = topologyProvider;
@@ -53,33 +54,41 @@ public class LoadBalancerCommonTopologyEventReceiver 
extends TopologyEventReceiv
         }
     }
 
+    public void initializeTopology() {
+        if (initialized) {
+            return;
+        }
+
+        try {
+            TopologyManager.acquireReadLock();
+            for (Service service : 
TopologyManager.getTopology().getServices()) {
+                for (Cluster cluster : service.getClusters()) {
+                    for (Member member : cluster.getMembers()) {
+                        if (member.getStatus() == MemberStatus.Active) {
+                            addMember(cluster.getServiceName(), 
member.getClusterId(), member.getMemberId());
+                        }
+                    }
+                }
+            }
+            initialized = true;
+        } catch (Exception e) {
+            log.error("Error processing complete topology event", e);
+        } finally {
+            TopologyManager.releaseReadLock();
+        }
+    }
+
+    public boolean isInitialized() {
+        return initialized;
+    }
+
     private void addEventListeners() {
 
         addEventListener(new CompleteTopologyEventListener() {
-            private boolean initialized;
-
             @Override
             protected void onEvent(Event event) {
-                if (initialized) {
-                    return;
-                }
-
-                try {
-                    TopologyManager.acquireReadLock();
-                    for (Service service : 
TopologyManager.getTopology().getServices()) {
-                        for (Cluster cluster : service.getClusters()) {
-                            for (Member member : cluster.getMembers()) {
-                                if (member.getStatus() == MemberStatus.Active) 
{
-                                    addMember(cluster.getServiceName(), 
member.getClusterId(), member.getMemberId());
-                                }
-                            }
-                        }
-                    }
-                    initialized = true;
-                } catch (Exception e) {
-                    log.error("Error processing complete topology event", e);
-                } finally {
-                    TopologyManager.releaseReadLock();
+                if(!initialized) {
+                    initializeTopology();
                 }
             }
         });
@@ -254,6 +263,7 @@ public class LoadBalancerCommonTopologyEventReceiver 
extends TopologyEventReceiv
             }
             return;
         }
+
         Cluster cluster = service.getCluster(clusterId);
         if (cluster == null) {
             if (log.isWarnEnabled()) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/topology/TopologyProvider.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/topology/TopologyProvider.java
 
b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/topology/TopologyProvider.java
index d3e1daf..2db648d 100644
--- 
a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/topology/TopologyProvider.java
+++ 
b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/topology/TopologyProvider.java
@@ -93,8 +93,8 @@ public class TopologyProvider {
             }
 
             if((cluster.getHostNames() != null) && 
(cluster.getHostNames().size() > 0)) {
-                log.info(String.format("Cluster added: [cluster] %s 
[hostnames] %s", cluster.getClusterId(),
-                        cluster.getHostNames()));
+                log.info(String.format("Cluster added to service: [service] %s 
[cluster] %s [hostnames] %s",
+                        cluster.getServiceName(), cluster.getClusterId(), 
cluster.getHostNames()));
             }
 
             Collection<Member> members = cluster.getMembers();

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancer.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancer.java
 
b/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancer.java
index c8dc562..a4911f3 100644
--- 
a/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancer.java
+++ 
b/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancer.java
@@ -43,8 +43,9 @@ public interface LoadBalancer {
      * Configure the load balancer using the given topology.
      * Throw an exception is the configure operation fails.
      * @param topology
+     * @return Returns true if configured correctly
      */
-    void configure(Topology topology) throws LoadBalancerExtensionException;
+    boolean configure(Topology topology) throws LoadBalancerExtensionException;
 
     /**
      * Reload load balancer configuration using the configuration written in 
configure() method.

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/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 7818390..2459b31 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
@@ -21,6 +21,9 @@ package org.apache.stratos.load.balancer.extension.api;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.load.balancer.common.domain.Cluster;
+import org.apache.stratos.load.balancer.common.domain.Service;
+import org.apache.stratos.load.balancer.common.domain.Topology;
 import 
org.apache.stratos.load.balancer.common.event.receivers.LoadBalancerCommonApplicationSignUpEventReceiver;
 import 
org.apache.stratos.load.balancer.common.event.receivers.LoadBalancerCommonDomainMappingEventReceiver;
 import 
org.apache.stratos.load.balancer.common.event.receivers.LoadBalancerCommonTopologyEventReceiver;
@@ -141,19 +144,25 @@ public class LoadBalancerExtension {
         }
     }
 
-    private void 
addTopologyEventListeners(LoadBalancerCommonTopologyEventReceiver 
topologyEventReceiver) {
+    private void addTopologyEventListeners(final 
LoadBalancerCommonTopologyEventReceiver topologyEventReceiver) {
                topologyEventReceiver.addEventListener(new 
CompleteTopologyEventListener() {
 
             @Override
             protected void onEvent(Event event) {
                 try {
                     if (!loadBalancerStarted) {
-                        // Configure load balancer
-                        loadBalancer.configure(topologyProvider.getTopology());
+                        // Initialize topology
+                        if(!topologyEventReceiver.isInitialized()) {
+                            topologyEventReceiver.initializeTopology();
+                        }
 
-                        // Start load balancer
-                        loadBalancer.start();
-                        loadBalancerStarted = true;
+                        // Configure load balancer
+                        Topology topology = topologyProvider.getTopology();
+                        if(topologyInitialized(topology) && 
loadBalancer.configure(topology)) {
+                            // Start load balancer
+                            loadBalancer.start();
+                            loadBalancerStarted = true;
+                        }
                     }
                 } catch (Exception e) {
                     if (log.isErrorEnabled()) {
@@ -195,14 +204,33 @@ public class LoadBalancerExtension {
         });
        }
 
-       private void reloadConfiguration() {
+    /**
+     * Returns true if topology has initialized
+     * @param topology
+     * @return
+     */
+    private boolean topologyInitialized(Topology topology) {
+        for(Service service : topology.getServices()) {
+            for(Cluster cluster : service.getClusters()) {
+                if(cluster.getMembers().size() > 0) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Configure and reload load balancer configuration.
+     */
+    private void reloadConfiguration() {
                try {
                        if (loadBalancerStarted) {
                 // Configure load balancer
-                loadBalancer.configure(topologyProvider.getTopology());
-
-                // Reload the load balancer
-                               loadBalancer.reload();
+                if(loadBalancer.configure(topologyProvider.getTopology())) {
+                    // Reload the load balancer
+                    loadBalancer.reload();
+                }
                        }
                } catch (Exception e) {
                        if (log.isErrorEnabled()) {
@@ -211,6 +239,9 @@ public class LoadBalancerExtension {
                }
        }
 
+    /**
+     * Terminate event receivers and publishers.
+     */
        public void terminate() {
                if (topologyEventReceiver != null) {
                        topologyEventReceiver.terminate();

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/extensions/load-balancer/haproxy-extension/src/main/assembly/bin.xml
----------------------------------------------------------------------
diff --git 
a/extensions/load-balancer/haproxy-extension/src/main/assembly/bin.xml 
b/extensions/load-balancer/haproxy-extension/src/main/assembly/bin.xml
index 3b2e8b7..5bfa02e 100644
--- a/extensions/load-balancer/haproxy-extension/src/main/assembly/bin.xml
+++ b/extensions/load-balancer/haproxy-extension/src/main/assembly/bin.xml
@@ -40,6 +40,7 @@
             <includes>
                 <include>jndi.properties</include>
                 <include>log4j.properties</include>
+                <include>thrift-client-config.xml</include>
             </includes>
         </fileSet>
         <fileSet>

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/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 42d3e0b..bc17399 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
@@ -35,14 +35,13 @@ properties="-Dhaproxy.private.ip=127.0.0.1
             
-Dlog4j.properties.file.path=${script_path}/../conf/log4j.properties
             
-Djavax.net.ssl.trustStore=${script_path}/../security/client-truststore.jks
             -Djavax.net.ssl.trustStorePassword=wso2carbon
+            
-Dthrift.client.config.file.path=${script_path}/../conf/thrift-client-config.xml
             -Dcep.stats.publisher.enabled=false
             -Dthrift.receiver.ip=127.0.0.1
             -Dthrift.receiver.port=7615
             -Dnetwork.partition.id=network-partition-1
-            -Dcluster.id=cluster
-            -Dservice.name=service
-            -Dload.balanced.service.type=lb-service-type
-            -Dcep.stats.publisher.enabled=true"
+            -Dcluster.id=cluster-1
+            -Dservice.name=service-1"
 
 
 # Uncomment below line to enable remote debugging

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/extensions/load-balancer/haproxy-extension/src/main/conf/jndi.properties
----------------------------------------------------------------------
diff --git 
a/extensions/load-balancer/haproxy-extension/src/main/conf/jndi.properties 
b/extensions/load-balancer/haproxy-extension/src/main/conf/jndi.properties
index c88ec1d..21d7420 100644
--- a/extensions/load-balancer/haproxy-extension/src/main/conf/jndi.properties
+++ b/extensions/load-balancer/haproxy-extension/src/main/conf/jndi.properties
@@ -7,7 +7,7 @@
 # "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
-#     http://www.apache.org/licenses/LICENSE-2.0
+#  http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
@@ -17,7 +17,6 @@
 # under the License.
 #
 
-connectionfactoryName=topicConnectionfactory
-connectionfactory.topicConnectionfactory=amqp://admin:admin@carbon/carbon?brokerlist='tcp://localhost:5677'
-java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory
-java.naming.provider.url=repository/conf/jndi.properties
+connectionfactoryName=TopicConnectionFactory
+java.naming.provider.url=tcp://localhost:61616
+java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/extensions/load-balancer/haproxy-extension/src/main/conf/log4j.properties
----------------------------------------------------------------------
diff --git 
a/extensions/load-balancer/haproxy-extension/src/main/conf/log4j.properties 
b/extensions/load-balancer/haproxy-extension/src/main/conf/log4j.properties
index 2f5119c..a398fbe 100644
--- a/extensions/load-balancer/haproxy-extension/src/main/conf/log4j.properties
+++ b/extensions/load-balancer/haproxy-extension/src/main/conf/log4j.properties
@@ -25,7 +25,7 @@ 
log4j.appender.CONSOLE_APPENDER=org.apache.log4j.ConsoleAppender
 
 # The standard error log where all the warnings, errors and fatal errors will 
be logged
 log4j.appender.FILE_APPENDER=org.apache.log4j.FileAppender
-log4j.appender.FILE_APPENDER.File=/var/log/apache-stratos/cartridge-agent-event-publisher.log
+log4j.appender.FILE_APPENDER.File=stratos-haproxy-extension.log
 log4j.appender.FILE_APPENDER.layout=org.apache.log4j.PatternLayout
 log4j.appender.FILE_APPENDER.layout.ConversionPattern=%d{ISO8601} 
[%X{ip}-%X{host}] [%t] %5p %c{1} %m%n
 log4j.appender.FILE_APPENDER.threshold=DEBUG

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/extensions/load-balancer/haproxy-extension/src/main/conf/thrift-client-config.xml
----------------------------------------------------------------------
diff --git 
a/extensions/load-balancer/haproxy-extension/src/main/conf/thrift-client-config.xml
 
b/extensions/load-balancer/haproxy-extension/src/main/conf/thrift-client-config.xml
new file mode 100644
index 0000000..86a5fc6
--- /dev/null
+++ 
b/extensions/load-balancer/haproxy-extension/src/main/conf/thrift-client-config.xml
@@ -0,0 +1,25 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~  http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
+<thriftClientConfiguration>
+    <username>admin</username>
+    <password>admin</password>
+    <ip>localhost</ip>
+    <port>7611</port>
+</thriftClientConfiguration>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/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 d0abeb8..464f093 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
@@ -36,14 +36,4 @@ public class Constants {
     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";
-
-    public static final String LB_SERVICE_TYPE ="load.balanced.service.type";
-
-    public static final String DEFAULT_LOAD_BALANCER ="default.load.balancer";
-    public static final String STATIC_LOAD_BALANCER ="static.load.balancer";
-    public static final String SERVICE_LOAD_BALANCER = 
"service.aware.load.balancer";
-    public static final String NO_LOAD_BALANCER = "no.load.balancer";
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/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 4ba79ff..8c0fe6a 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
@@ -59,23 +59,16 @@ public class HAProxy implements LoadBalancer {
      * @param topology
      * @throws LoadBalancerExtensionException
      */
-    public void configure(Topology topology) throws 
LoadBalancerExtensionException {
-
+    public boolean configure(Topology topology) throws 
LoadBalancerExtensionException {
         try {
-            if (log.isInfoEnabled()) {
-                log.info("Configuring haproxy instance...");
-            }
-
+            log.info("Generating haproxy configuration...");
             HAProxyConfigWriter writer = new HAProxyConfigWriter(templatePath, 
templateName, confFilePath, statsSocketFilePath);
-            writer.write(topology);
-
-            if (log.isInfoEnabled()) {
-                log.info("Configuration done");
+            if(writer.write(topology)) {
+                return true;
             }
+            return false;
         } catch (Exception e) {
-            if (log.isErrorEnabled()) {
-                log.error("Could not configure haproxy");
-            }
+            log.error("Could not generate haproxy configuration");
             throw new LoadBalancerExtensionException(e);
         }
     }
@@ -85,7 +78,7 @@ public class HAProxy implements LoadBalancer {
      * @throws LoadBalancerExtensionException
      */
     public void start() throws LoadBalancerExtensionException {
-
+        log.info("Starting haproxy instance...");
         // Check for configuration file
         File conf = new File(confFilePath);
         if (!conf.exists()) {
@@ -96,13 +89,9 @@ public class HAProxy implements LoadBalancer {
         try {
             String command = executableFilePath + " -f " + confFilePath + " -p 
" + processIdFilePath;
             CommandUtils.executeCommand(command);
-            if (log.isInfoEnabled()) {
-                log.info("haproxy started");
-            }
+            log.info("haproxy instance started");
         } catch (Exception e) {
-            if (log.isErrorEnabled()) {
-                log.error("Could not start haproxy");
-            }
+            log.error("Could not start haproxy instance");
             throw new LoadBalancerExtensionException(e);
         }
     }
@@ -113,9 +102,7 @@ public class HAProxy implements LoadBalancer {
      */
     public void reload() throws LoadBalancerExtensionException {
         try {
-            if (log.isInfoEnabled()) {
-                log.info("Reloading configuration...");
-            }
+            log.info("Reloading configuration...");
 
             // Read pid
             String pid = "";
@@ -159,12 +146,12 @@ public class HAProxy implements LoadBalancer {
                 String command = "kill -s 9 " + pid;
                 CommandUtils.executeCommand(command);
                 if (log.isInfoEnabled()) {
-                    log.info(String.format("haproxy stopped [pid] %s", pid));
+                    log.info(String.format("haproxy instance stopped [pid] 
%s", pid));
                 }
             }
         } catch (Exception e) {
             if (log.isErrorEnabled()) {
-                log.error("Could not stop haproxy");
+                log.error("Could not stop haproxy instance");
             }
             throw new LoadBalancerExtensionException(e);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/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 a9f7796..01d2ee3 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,7 +66,7 @@ public class HAProxyConfigWriter {
         this.statsSocketFilePath = statsSocketFilePath;
     }
 
-    public void write(Topology topology) {
+    public boolean write(Topology topology) {
         // Prepare global parameters
         StringBuilder globalParameters = new StringBuilder();
         globalParameters.append("stats socket ");
@@ -113,6 +113,7 @@ public class HAProxyConfigWriter {
             if (log.isInfoEnabled()) {
                 log.info(String.format("Configuration written to file: %s", 
confFilePath));
             }
+            return true;
         } catch (IOException e) {
             if (log.isErrorEnabled()) {
                 log.error(String.format("Could not write configuration file: 
%s", confFilePath));

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/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 1228b53..3019c94 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
@@ -43,7 +43,6 @@ public class HAProxyContext {
     private String networkPartitionId;
     private String clusterId;
     private String serviceName;
-    private String lbserviceType;
 
     private HAProxyContext() {
         this.haProxyPrivateIp = 
System.getProperty(Constants.HAPROXY_PRIVATE_IP);
@@ -59,7 +58,6 @@ public class HAProxyContext {
         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);
@@ -156,6 +154,4 @@ public class HAProxyContext {
     public String getServiceName() {
         return serviceName;
     }
-
-    public String getLbserviceType() { return  lbserviceType;}
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/products/stratos/conf/jndi.properties
----------------------------------------------------------------------
diff --git a/products/stratos/conf/jndi.properties 
b/products/stratos/conf/jndi.properties
index 8345a71..5a20434 100644
--- a/products/stratos/conf/jndi.properties
+++ b/products/stratos/conf/jndi.properties
@@ -1,3 +1,4 @@
+#
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/products/stratos/conf/thrift-client-config.xml
----------------------------------------------------------------------
diff --git a/products/stratos/conf/thrift-client-config.xml 
b/products/stratos/conf/thrift-client-config.xml
index 4d51fc6..86a5fc6 100644
--- a/products/stratos/conf/thrift-client-config.xml
+++ b/products/stratos/conf/thrift-client-config.xml
@@ -1,20 +1,22 @@
 <!--
-  ~ Copyright 2005-2011 WSO2, Inc. (http://wso2.com)
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
   ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
+  ~  http://www.apache.org/licenses/LICENSE-2.0
   ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
   -->
 
-<!--Fields to be read and parsed into WSO2CEPStatisticsPublisher-->
 <thriftClientConfiguration>
     <username>admin</username>
     <password>admin</password>

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/products/stratos/modules/distribution/src/main/conf/jndi.properties
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/distribution/src/main/conf/jndi.properties 
b/products/stratos/modules/distribution/src/main/conf/jndi.properties
index 532bbba..f5246ca 100644
--- a/products/stratos/modules/distribution/src/main/conf/jndi.properties
+++ b/products/stratos/modules/distribution/src/main/conf/jndi.properties
@@ -1,5 +1,4 @@
 #
-#
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
@@ -17,7 +16,6 @@
 # specific language governing permissions and limitations
 # under the License.
 #
-#
 
 
java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory
 connectionfactoryName=topicConnectionfactory

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/samples/network-partitions/kubernetes/network-partition-1.json
----------------------------------------------------------------------
diff --git a/samples/network-partitions/kubernetes/network-partition-1.json 
b/samples/network-partitions/kubernetes/network-partition-1.json
index 907ba63..90c6776 100644
--- a/samples/network-partitions/kubernetes/network-partition-1.json
+++ b/samples/network-partitions/kubernetes/network-partition-1.json
@@ -1,9 +1,9 @@
 {
     "id": "network-partition-1",
+    "provider": "kubernetes",
     "partitions": [
         {
             "id": "partition-1",
-            "provider": "kubernetes",
             "property": [
                 {
                     "name": "cluster",

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/samples/network-partitions/kubernetes/network-partition-2.json
----------------------------------------------------------------------
diff --git a/samples/network-partitions/kubernetes/network-partition-2.json 
b/samples/network-partitions/kubernetes/network-partition-2.json
index 4b6a3d8..9fd3a2d 100644
--- a/samples/network-partitions/kubernetes/network-partition-2.json
+++ b/samples/network-partitions/kubernetes/network-partition-2.json
@@ -1,9 +1,9 @@
 {
     "id": "network-partition-2",
+    "provider": "kubernetes",
     "partitions": [
         {
             "id": "partition-1",
-            "provider": "kubernetes",
             "property": [
                 {
                     "name": "cluster",

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/samples/network-partitions/kubernetes/network-partition-3.json
----------------------------------------------------------------------
diff --git a/samples/network-partitions/kubernetes/network-partition-3.json 
b/samples/network-partitions/kubernetes/network-partition-3.json
index ffdf4bb..5188f3c 100644
--- a/samples/network-partitions/kubernetes/network-partition-3.json
+++ b/samples/network-partitions/kubernetes/network-partition-3.json
@@ -1,9 +1,9 @@
 {
     "id": "network-partition-3",
+    "provider": "kubernetes",
     "partitions": [
         {
             "id": "partition-1",
-            "provider": "kubernetes",
             "property": [
                 {
                     "name": "cluster",

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/samples/network-partitions/mock/network-partition-1.json
----------------------------------------------------------------------
diff --git a/samples/network-partitions/mock/network-partition-1.json 
b/samples/network-partitions/mock/network-partition-1.json
index 547d188..466da28 100644
--- a/samples/network-partitions/mock/network-partition-1.json
+++ b/samples/network-partitions/mock/network-partition-1.json
@@ -1,6 +1,6 @@
 {
     "id": "network-partition-1",
-     "provider": "mock",
+    "provider": "mock",
     "partitions": [
         {
             "id": "partition-1",

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/samples/network-partitions/openstack/network-partition-1.json
----------------------------------------------------------------------
diff --git a/samples/network-partitions/openstack/network-partition-1.json 
b/samples/network-partitions/openstack/network-partition-1.json
index e2bdab3..9ee69cd 100644
--- a/samples/network-partitions/openstack/network-partition-1.json
+++ b/samples/network-partitions/openstack/network-partition-1.json
@@ -1,9 +1,9 @@
 {
     "id": "network-partition-1",
+    "provider": "openstack",
     "partitions": [
         {
             "id": "partition-1",
-            "provider": "openstack",
             "property": [
                 {
                     "name": "region",

http://git-wip-us.apache.org/repos/asf/stratos/blob/6c3f1b8b/samples/network-partitions/openstack/network-partition-2.json
----------------------------------------------------------------------
diff --git a/samples/network-partitions/openstack/network-partition-2.json 
b/samples/network-partitions/openstack/network-partition-2.json
index fe238e1..342f71d 100644
--- a/samples/network-partitions/openstack/network-partition-2.json
+++ b/samples/network-partitions/openstack/network-partition-2.json
@@ -1,9 +1,9 @@
 {
     "id": "network-partition-2",
+    "provider": "openstack",
     "partitions": [
         {
             "id": "partition-2",
-            "provider": "openstack",
             "property": [
                 {
                     "name": "region",

Reply via email to