You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ga...@apache.org on 2015/12/08 16:17:44 UTC

[01/50] [abbrv] stratos git commit: Add instance id to log messages in autoscaler ClusterStatusActiveProcessor

Repository: stratos
Updated Branches:
  refs/heads/master 8df053e8a -> 9d778a5ed


Add instance id to log messages in autoscaler ClusterStatusActiveProcessor


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

Branch: refs/heads/master
Commit: 138bd5e0548b74072a561af5ca12f82884e439c7
Parents: c39d46f
Author: Akila Perera <ra...@gmail.com>
Authored: Mon Nov 30 00:16:32 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Mon Nov 30 00:33:47 2015 +0530

----------------------------------------------------------------------
 .../cluster/ClusterStatusActiveProcessor.java   | 22 ++++++++++----------
 1 file changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/138bd5e0/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusActiveProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusActiveProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusActiveProcessor.java
index a8521d5..8dd9a8e 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusActiveProcessor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusActiveProcessor.java
@@ -53,8 +53,9 @@ public class ClusterStatusActiveProcessor extends ClusterStatusProcessor {
                 // ask the next processor to take care of the message.
                 return nextProcessor.process(type, clusterId, instanceId);
             } else {
-                log.warn(String.format("No possible state change found for [type] %s [cluster] %s " +
-                        "[instance] %s", type, clusterId, instanceId));
+                log.warn(
+                        String.format("No possible state change found for [type] %s, [cluster] %s, [instance] %s", type,
+                                clusterId, instanceId));
             }
         }
         return false;
@@ -64,12 +65,10 @@ public class ClusterStatusActiveProcessor extends ClusterStatusProcessor {
         ClusterMonitor monitor = AutoscalerContext.getInstance().
                 getClusterMonitor(clusterId);
         boolean clusterActive = false;
-        for (NetworkPartitionContext clusterLevelNetworkPartitionContext :
-                monitor.getNetworkPartitionCtxts()) {
+        for (NetworkPartitionContext clusterLevelNetworkPartitionContext : monitor.getNetworkPartitionCtxts()) {
             //minimum check per partition
-            ClusterInstanceContext instanceContext =
-                    (ClusterInstanceContext) clusterLevelNetworkPartitionContext.
-                            getInstanceContext(instanceId);
+            ClusterInstanceContext instanceContext = (ClusterInstanceContext) clusterLevelNetworkPartitionContext.
+                    getInstanceContext(instanceId);
             if (instanceContext != null) {
                 if (instanceContext.getActiveMembers() >= instanceContext.getMinInstanceCount()) {
                     clusterActive = true;
@@ -79,12 +78,13 @@ public class ClusterStatusActiveProcessor extends ClusterStatusProcessor {
         }
         if (clusterActive) {
             if (log.isInfoEnabled()) {
-                log.info("Publishing cluster activated event for [application]: "
-                        + monitor.getAppId() + " [cluster]: " + clusterId);
+                log.info(String.format("Publishing cluster activated event for [application-id] %s, [cluster-id] %s, "
+                        + "[cluster-instance-id] %s", monitor.getAppId(), clusterId, instanceId));
             }
             //TODO service call
-            ClusterStatusEventPublisher.sendClusterActivatedEvent(monitor.getAppId(),
-                    monitor.getServiceId(), monitor.getClusterId(), instanceId);
+            ClusterStatusEventPublisher
+                    .sendClusterActivatedEvent(monitor.getAppId(), monitor.getServiceId(), monitor.getClusterId(),
+                            instanceId);
         }
         return clusterActive;
     }


[37/50] [abbrv] stratos git commit: Revert "Update the AS registry manager"

Posted by ga...@apache.org.
Revert "Update the AS registry manager"

This reverts commit e64081f7944dadced190054eb44f8d1dafe0f892.


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

Branch: refs/heads/master
Commit: 2a425fdf42108b9bf6218c9bc71eaae42595f6b6
Parents: 7a5e555
Author: gayangunarathne <ga...@wso2.com>
Authored: Sun Dec 6 13:21:47 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Sun Dec 6 13:22:38 2015 +0530

----------------------------------------------------------------------
 .../apache/stratos/autoscaler/registry/RegistryManager.java    | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/2a425fdf/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
index 343b76a..925c4ff 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
@@ -85,7 +85,7 @@ public class RegistryManager {
         return instance;
     }
 
-    private synchronized Object retrieve(String resourcePath) {
+    private Object retrieve(String resourcePath) {
         try {
             Resource resource = registryService.get(resourcePath);
             return resource.getContent();
@@ -99,7 +99,7 @@ public class RegistryManager {
         }
     }
 
-    private synchronized void delete(String resourcePath) {
+    private void delete(String resourcePath) {
         try {
             registryService.beginTransaction();
             registryService.delete(resourcePath);
@@ -138,7 +138,7 @@ public class RegistryManager {
      * @param dataObj      object to be persisted.
      * @param resourcePath resource path to be persisted.
      */
-    private synchronized void persist(Object dataObj, String resourcePath) throws AutoScalerException {
+    private void persist(Object dataObj, String resourcePath) throws AutoScalerException {
 
         try {
             registryService.beginTransaction();


[26/50] [abbrv] stratos git commit: Adding setUp() and having individual test methods for cep and das in ThriftStatisticsPublisherTest

Posted by ga...@apache.org.
Adding setUp() and having individual test methods for cep and das in  ThriftStatisticsPublisherTest


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

Branch: refs/heads/master
Commit: 64f05a5196d7e77880945f74a288480d3f1f20d4
Parents: 5435bff
Author: Thanuja <th...@wso2.com>
Authored: Mon Nov 30 17:06:50 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Tue Dec 1 08:57:55 2015 +0530

----------------------------------------------------------------------
 .../test/ThriftStatisticsPublisherTest.java     | 32 +++++++++++++-------
 1 file changed, 21 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/64f05a51/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftStatisticsPublisherTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftStatisticsPublisherTest.java b/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftStatisticsPublisherTest.java
index 43cd4c1..c553b1c 100644
--- a/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftStatisticsPublisherTest.java
+++ b/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftStatisticsPublisherTest.java
@@ -21,8 +21,10 @@ package org.apache.stratos.common.test;
 
 import org.apache.stratos.common.statistics.publisher.ThriftClientConfig;
 import org.apache.stratos.common.statistics.publisher.ThriftStatisticsPublisher;
+import org.junit.Before;
 import org.junit.Test;
 import org.wso2.carbon.databridge.commons.StreamDefinition;
+import org.wso2.carbon.databridge.commons.exception.MalformedStreamDefinitionException;
 
 import java.net.URL;
 
@@ -32,29 +34,37 @@ import static org.junit.Assert.assertEquals;
  * ThriftStatisticsPublisherTest
  */
 public class ThriftStatisticsPublisherTest {
-    /**
-     * Checking whether LoadBalancingDataPublisher is created for cep and das according to thrift-client-config.xml
-     *
-     * @throws Exception
-     */
-    @Test
-    public void createLoadBalancingDataPublisher() throws Exception {
+    private StreamDefinition streamDefinition;
+    private ThriftStatisticsPublisher thriftStatisticsPublisher;
+
+    @Before
+    public void setUp() throws MalformedStreamDefinitionException {
         URL configFileUrl = ThriftClientConfigParserTest.class.getResource("/thrift-client-config.xml");
         System.setProperty(ThriftClientConfig.THRIFT_CLIENT_CONFIG_FILE_PATH, configFileUrl.getPath());
+        streamDefinition = new StreamDefinition("Test", "1.0.0");
+    }
 
-        StreamDefinition streamDefinition = new StreamDefinition("Test", "1.0.0");
-
-        ThriftStatisticsPublisher thriftStatisticsPublisher = new ThriftStatisticsPublisher(streamDefinition,
+    /**
+     * Checking whether LoadBalancingDataPublisher is created for cep according to thrift-client-config.xml
+     */
+    @Test
+    public void createCEPLoadBalancingDataPublisher() {
+        thriftStatisticsPublisher = new ThriftStatisticsPublisher(streamDefinition,
                 ThriftClientConfig.CEP_THRIFT_CLIENT_NAME);
         assertEquals("CEP stats publisher is not enabled", true, thriftStatisticsPublisher.isEnabled());
         assertEquals("No of CEP nodes enabled for stats publishing is not equal to two", 2,
                 thriftStatisticsPublisher.getDataPublisherHolders().size());
+    }
 
+    /**
+     * Checking whether LoadBalancingDataPublisher is created for das according to thrift-client-config.xml
+     */
+    @Test
+    public void createDASLoadBalancingDataPublisher() {
         thriftStatisticsPublisher = new ThriftStatisticsPublisher(streamDefinition,
                 ThriftClientConfig.DAS_THRIFT_CLIENT_NAME);
         assertEquals("DAS stats publisher is not enabled", true, thriftStatisticsPublisher.isEnabled());
         assertEquals("More than one DAS node is enabled for stats publishing", 1,
                 thriftStatisticsPublisher.getDataPublisherHolders().size());
-
     }
 }


[05/50] [abbrv] stratos git commit: Fix formatting. Move acquireRad/WriteLock out of try block.

Posted by ga...@apache.org.
Fix formatting. Move acquireRad/WriteLock out of try block.


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

Branch: refs/heads/master
Commit: a9ed3c55f3483142485ae35cb515933d656d5900
Parents: 179120d
Author: Akila Perera <ra...@gmail.com>
Authored: Mon Nov 30 00:20:29 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Mon Nov 30 00:33:47 2015 +0530

----------------------------------------------------------------------
 .../messaging/topology/TopologyBuilder.java     | 66 +++++++++-----------
 1 file changed, 29 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/a9ed3c55/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
index d0a21d1..109cf30 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
@@ -69,8 +69,8 @@ public class TopologyBuilder {
         if (cartridgeList == null) {
             throw new RuntimeException("Cartridge list is empty");
         }
+        TopologyHolder.acquireWriteLock();
         try {
-            TopologyHolder.acquireWriteLock();
             for (Cartridge cartridge : cartridgeList) {
                 if (!topology.serviceExists(cartridge.getType())) {
                     ServiceType serviceType = cartridge.isMultiTenant() ?
@@ -126,8 +126,8 @@ public class TopologyBuilder {
                 throw new RuntimeException(String.format("Service %s does not exist", cartridge.getType()));
             }
             if (service.getClusters().size() == 0) {
+                TopologyHolder.acquireWriteLock();
                 try {
-                    TopologyHolder.acquireWriteLock();
                     topology.removeService(cartridge.getType());
                     TopologyHolder.updateTopology(topology);
                 } finally {
@@ -149,8 +149,8 @@ public class TopologyBuilder {
             for (Cluster cluster : appClusters) {
                 Service service = topology.getService(cluster.getServiceName());
                 if (service == null) {
-                    throw new RuntimeException("Service " + cluster.getServiceName()
-                            + " not found in topology, unable to create cluster");
+                    throw new RuntimeException(
+                            "Service " + cluster.getServiceName() + " not found in topology, unable to create cluster");
                 }
                 service.addCluster(cluster);
                 log.info("Cluster created: [cluster] " + cluster.getClusterId());
@@ -312,8 +312,8 @@ public class TopologyBuilder {
             throw new RuntimeException(String.format("Cluster %s does not exist for service %s", ctxt.getClusterId(),
                     ctxt.getCartridgeType()));
         }
+        TopologyHolder.acquireWriteLock();
         try {
-            TopologyHolder.acquireWriteLock();
             Cluster cluster = service.removeCluster(ctxt.getClusterId());
             deploymentPolicy = cluster.getDeploymentPolicyName();
             TopologyHolder.updateTopology(topology);
@@ -344,8 +344,8 @@ public class TopologyBuilder {
         if (cluster.memberExists(memberId)) {
             throw new RuntimeException(String.format("Member %s already exists", memberId));
         }
+        TopologyHolder.acquireWriteLock();
         try {
-            TopologyHolder.acquireWriteLock();
             Member member = new Member(service.getServiceName(), clusterId, memberId, clusterInstanceId,
                     networkPartitionId, partitionId, memberContext.getLoadBalancingIPType(), initTime);
             member.setStatus(MemberStatus.Created);
@@ -396,9 +396,8 @@ public class TopologyBuilder {
         if (member == null) {
             throw new RuntimeException(String.format("Member %s does not exist", memberContext.getMemberId()));
         }
+        TopologyHolder.acquireWriteLock();
         try {
-            TopologyHolder.acquireWriteLock();
-
             // Set instance id returned by the IaaS
             member.setInstanceId(memberContext.getInstanceId());
             // Set ip addresses
@@ -493,9 +492,8 @@ public class TopologyBuilder {
                 throw new RuntimeException(
                         String.format("Member %s does not exist", instanceStartedEvent.getMemberId()));
             }
-
+            TopologyHolder.acquireWriteLock();
             try {
-                TopologyHolder.acquireWriteLock();
                 // try update lifecycle state
                 if (!member.isStateTransitionValid(MemberStatus.Starting)) {
                     log.error("Invalid State Transition from " + member.getStatus() + " to " +
@@ -564,8 +562,8 @@ public class TopologyBuilder {
         // grouping - set grouid
         //TODO
         memberActivatedEvent.setApplicationId(null);
+        TopologyHolder.acquireWriteLock();
         try {
-            TopologyHolder.acquireWriteLock();
             // try update lifecycle state
             if (!member.isStateTransitionValid(MemberStatus.Active)) {
                 log.error("Invalid state transition from [" + member.getStatus() + "] to [" +
@@ -665,9 +663,8 @@ public class TopologyBuilder {
                 instanceReadyToShutdownEvent.getNetworkPartitionId(), instanceReadyToShutdownEvent.getPartitionId());
         //member ReadyToShutDown state change time
         Long timestamp = null;
+        TopologyHolder.acquireWriteLock();
         try {
-            TopologyHolder.acquireWriteLock();
-
             if (!member.isStateTransitionValid(MemberStatus.ReadyToShutDown)) {
                 throw new RuntimeException("Invalid State Transition from " + member.getStatus() + " to " +
                         MemberStatus.ReadyToShutDown);
@@ -723,8 +720,8 @@ public class TopologyBuilder {
                 instanceMaintenanceModeEvent.getServiceName(), instanceMaintenanceModeEvent.getClusterId(),
                 instanceMaintenanceModeEvent.getClusterInstanceId(), instanceMaintenanceModeEvent.getMemberId(),
                 instanceMaintenanceModeEvent.getNetworkPartitionId(), instanceMaintenanceModeEvent.getPartitionId());
+        TopologyHolder.acquireWriteLock();
         try {
-            TopologyHolder.acquireWriteLock();
             // try update lifecycle state
             if (!member.isStateTransitionValid(MemberStatus.In_Maintenance)) {
                 throw new RuntimeException(
@@ -769,15 +766,15 @@ public class TopologyBuilder {
         String clusterAlias = CloudControllerUtil.getAliasFromClusterId(clusterId);
         Member member = cluster.getMember(memberId);
         if (member == null) {
-            throw new RuntimeException((String.format("Member %s does not exist", memberId)));
+            throw new RuntimeException((String.format("Member [member-id] %s does not exist", memberId)));
         }
 
         String clusterInstanceId = member.getClusterInstanceId();
 
         //member terminated time
         Long timestamp = null;
+        TopologyHolder.acquireWriteLock();
         try {
-            TopologyHolder.acquireWriteLock();
             properties = member.getProperties();
             cluster.removeMember(member);
             TopologyHolder.updateTopology(topology);
@@ -804,7 +801,6 @@ public class TopologyBuilder {
 
     public static void handleClusterActivatedEvent(
             ClusterStatusClusterActivatedEvent clusterStatusClusterActivatedEvent) throws RegistryException {
-
         Topology topology = TopologyHolder.getTopology();
         Service service = topology.getService(clusterStatusClusterActivatedEvent.getServiceName());
         //update the status of the cluster
@@ -830,12 +826,10 @@ public class TopologyBuilder {
         ClusterInstanceActivatedEvent clusterInstanceActivatedEvent = new ClusterInstanceActivatedEvent(
                 clusterStatusClusterActivatedEvent.getAppId(), clusterStatusClusterActivatedEvent.getServiceName(),
                 clusterStatusClusterActivatedEvent.getClusterId(), clusterStatusClusterActivatedEvent.getInstanceId());
+        TopologyHolder.acquireWriteLock();
         try {
-            TopologyHolder.acquireWriteLock();
-
             Collection<KubernetesService> kubernetesServices = clusterContext
                     .getKubernetesServices(clusterStatusClusterActivatedEvent.getInstanceId());
-
             if ((kubernetesServices != null) && (kubernetesServices.size() > 0)) {
                 try {
                     // Generate access URLs for kubernetes services
@@ -850,28 +844,28 @@ public class TopologyBuilder {
                                 // Using type URI since only http, https, ftp, file, jar protocols are
                                 // supported in URL
                                 int port = kubernetesService.getPort();
-                                if(cluster.getLoadBalancerIps().size() > 0) {
+                                if (cluster.getLoadBalancerIps().size() > 0) {
                                     // Load balancer ips have been provided, need to use proxy port
                                     port = findProxyPort(applicationId, clusterId, kubernetesService.getPortName());
                                 }
-                                URI accessURL = new URI(kubernetesService.getProtocol(), null, hostname,
-                                        port, null, null, null);
+                                URI accessURL = new URI(kubernetesService.getProtocol(), null, hostname, port, null,
+                                        null, null);
                                 cluster.addAccessUrl(clusterStatusClusterActivatedEvent.getInstanceId(),
                                         accessURL.toString());
                                 clusterInstanceActivatedEvent.addAccessUrl(accessURL.toString());
                             }
                         }
                     }
-                    if(cluster.getLoadBalancerIps().size() == 0) {
+                    if (cluster.getLoadBalancerIps().size() == 0) {
                         // Load balancer ips not given, use node public ips as load balancer ips
                         List<String> nodePublicIpsList = new ArrayList<>();
                         nodePublicIpsList.addAll(nodePublicIps);
                         cluster.setLoadBalancerIps(nodePublicIpsList);
                         clusterInstanceActivatedEvent.setLoadBalancerIps(nodePublicIpsList);
                     }
-                    log.info(String.format("Access URLs generated for kubernetes services: [application] %s " +
-                                    "[cluster] %s [access-urls] %s",
-                            applicationId, clusterId, clusterInstanceActivatedEvent.getAccessUrls()));
+                    log.info(String.format("Access URLs generated for kubernetes services: [application] %s "
+                                    + "[cluster] %s [access-urls] %s", applicationId, clusterId,
+                            clusterInstanceActivatedEvent.getAccessUrls()));
                 } catch (URISyntaxException e) {
                     log.error("Could not generate access URLs for Kubernetes services", e);
                 }
@@ -881,8 +875,8 @@ public class TopologyBuilder {
                             getClusterPortMappings(applicationId, clusterId);
                     for (ClusterPortMapping portMapping : portMappings) {
                         for (String hostname : cluster.getHostNames()) {
-                            URI accessURL = new URI(portMapping.getProtocol(), null, hostname,
-                                    portMapping.getPort(), null, null, null);
+                            URI accessURL = new URI(portMapping.getProtocol(), null, hostname, portMapping.getPort(),
+                                    null, null, null);
                             cluster.addAccessUrl(clusterStatusClusterActivatedEvent.getInstanceId(),
                                     accessURL.toString());
                             clusterInstanceActivatedEvent.addAccessUrl(accessURL.toString());
@@ -924,13 +918,14 @@ public class TopologyBuilder {
     private static int findProxyPort(String applicationId, String clusterId, String portName) {
         List<ClusterPortMapping> portMappings = CloudControllerContext.getInstance().
                 getClusterPortMappings(applicationId, clusterId);
-        for(ClusterPortMapping portMapping : portMappings) {
-            if(portMapping.getName().equals(portName)) {
+        for (ClusterPortMapping portMapping : portMappings) {
+            if (portMapping.getName().equals(portName)) {
                 return portMapping.getProxyPort();
             }
         }
-        throw new RuntimeException(String.format("Port mapping not found: [application] %s [cluster] %s " +
-                        "[port-name] %s", applicationId, clusterId, portName));
+        throw new RuntimeException(
+                String.format("Port mapping not found: [application] %s [cluster] %s " + "[port-name] %s",
+                        applicationId, clusterId, portName));
     }
 
     public static void handleClusterInactivateEvent(ClusterStatusClusterInactivateEvent clusterInactivateEvent)
@@ -953,8 +948,8 @@ public class TopologyBuilder {
         ClusterInstanceInactivateEvent clusterInactivatedEvent1 = new ClusterInstanceInactivateEvent(
                 clusterInactivateEvent.getAppId(), clusterInactivateEvent.getServiceName(),
                 clusterInactivateEvent.getClusterId(), clusterInactivateEvent.getInstanceId());
+        TopologyHolder.acquireWriteLock();
         try {
-            TopologyHolder.acquireWriteLock();
             ClusterInstance context = cluster.getInstanceContexts(clusterInactivateEvent.getInstanceId());
             if (context == null) {
                 throw new RuntimeException("Cluster Instance Context is not found for [cluster] " +
@@ -1024,14 +1019,11 @@ public class TopologyBuilder {
         } finally {
             TopologyHolder.releaseWriteLock();
         }
-
     }
 
     public static void handleClusterTerminatingEvent(ClusterStatusClusterTerminatingEvent event)
             throws RegistryException {
-
         TopologyHolder.acquireWriteLock();
-
         try {
             Topology topology = TopologyHolder.getTopology();
             Cluster cluster = topology.getService(event.getServiceName()).


[32/50] [abbrv] stratos git commit: Updating releases in doap_Stratos.rdf

Posted by ga...@apache.org.
Updating releases in doap_Stratos.rdf


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

Branch: refs/heads/master
Commit: 03b971620fb9d30713d8912137d76db83dc1a354
Parents: f7f289c
Author: Imesh Gunaratne <im...@apache.org>
Authored: Sat Dec 5 20:59:34 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Sun Dec 6 01:40:35 2015 +0530

----------------------------------------------------------------------
 doap_Stratos.rdf | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/03b97162/doap_Stratos.rdf
----------------------------------------------------------------------
diff --git a/doap_Stratos.rdf b/doap_Stratos.rdf
index bf2c620..e5dfac5 100644
--- a/doap_Stratos.rdf
+++ b/doap_Stratos.rdf
@@ -48,6 +48,34 @@
          <revision>4.0.0</revision>
        </Version>
     </release>
+    <release>
+       <Version>
+         <name>Apache Stgratos 4.1.1</name>
+         <created>2014-07-13</created>
+         <revision>4.1.1</revision>
+       </Version>
+    </release>
+    <release>
+       <Version>
+         <name>Apache Stgratos 4.1.2</name>
+         <created>2014-09-02</created>
+         <revision>4.1.2</revision>
+       </Version>
+    </release>
+    <release>
+       <Version>
+         <name>Apache Stgratos 4.1.3</name>
+         <created>2014-09-23</created>
+         <revision>4.1.3</revision>
+       </Version>
+    </release>
+    <release>
+       <Version>
+         <name>Apache Stgratos 4.1.4</name>
+         <created>2014-10-22</created>
+         <revision>4.1.4</revision>
+       </Version>
+    </release>
     <repository>
       <SVNRepository>
         <location rdf:resource="https://git-wip-us.apache.org/repos/asf/stratos.git"/>


[36/50] [abbrv] stratos git commit: UPdate the readme file with currect links

Posted by ga...@apache.org.
UPdate the readme file with currect links


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

Branch: refs/heads/master
Commit: 7a5e55583d181d329eb5f9bb5b4caa8b45dcc387
Parents: fcaaa1b
Author: gayangunarathne <ga...@wso2.com>
Authored: Sun Dec 6 13:20:05 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Sun Dec 6 13:22:38 2015 +0530

----------------------------------------------------------------------
 README.md                         | 22 +++++++++++-----------
 tools/stratos-installer/README.md |  2 +-
 2 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/7a5e5558/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index d6c6f93..a98eaa6 100644
--- a/README.md
+++ b/README.md
@@ -46,14 +46,14 @@ auto-scaling policies with multiple factors,i.e., requests in flight, memory con
 considered when scaling up or down. The Auto-scaler also supports scaling for non-HTTP transport.
 <br />
 For detailed information on how multi-factored auto-scaling takes place in Stratos,
-see [Autoscaler](https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+Autoscaler).
+see [Autoscaler](https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+Autoscaler).
 
 * Smart policies                                        <br />
 The Auto-scaler in Stratos uses two smart policies when making auto-scaling decisions: auto-scaling policy and deployment policy.
 The instances will be automatically spawned based on the smart policies that are applied to the application.
 <br />
 For more information on auto-scaling and deployment policy scaling policies, see [Smart Policies]
-(https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+Smart+Policies).
+(https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+Smart+Policies).
 
 * Multiple IaaS support                                 <br />
 Apache Stratos is tested on the following IaaS providers: AWS EC2 and OpenStack. However, it is very easy to extend
@@ -68,7 +68,7 @@ be off-loaded to another cloud.
 It is possible for DevOps to define partitions in a network partition, to control IaaS resources. Thereby,
 Apache Stratos can control resources per cloud, region, and zone. Controlling of IaaS resources provide a high
 availability and solves disaster recovery concerns. For more information, see [Cloud Partitioning]
-(https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+Cloud+Partitioning).
+(https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+Cloud+Partitioning).
 
 * Loosely coupled communication                         <br />
 Stratos uses the Advanced Message Queuing Protocol (AMQP) messaging technology for communication among all its components.
@@ -87,7 +87,7 @@ A cartridge is a package of code that includes a Virtual Machine (VM) image plus
 be plugged into Stratos to offer a new PaaS service. Stratos supports single tenant and multi-tenant cartridges.
 If needed, tenants can easily add their own cartridges to Stratos.
 <br />
-For more information on how Stratos uses cartridges, see [Cartridge](https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+Cartridge).
+For more information on how Stratos uses cartridges, see [Cartridge](https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+Cartridge).
 
 * Cartridge automation using Puppet                     <br />
 Cartridges can be easily configured with the use of an orchestration layer such as Puppet.
@@ -96,7 +96,7 @@ Cartridges can be easily configured with the use of an orchestration layer such
 Stratos supports third-party load balancers (LBs), i.e, HAProxy, NGINX. Thereby, if required, users can use their own
 LB with Stratos.
 <br />
-For more information, see [Load Balancers](https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+Load+Balancers).
+For more information, see [Load Balancers](https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+Load+Balancers).
 
 * Artifact distribution coordination                    <br />
 The Artifact Distribution Coordinator is responsible for the distribution of artifacts. Artifacts can be uploaded
@@ -106,25 +106,25 @@ repositories based deployment synchronization. Users are able to use their own G
 a service instance.
 <br />
 For more information, see [Artifact Distribution Coordinator]
-(https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+Artifact+Distribution+Coordinator).
+(https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+Artifact+Distribution+Coordinator).
 
 * Stratos Manager Console                               <br />
 Administrators and tenants can use the Stratos Manager console, which is a web-based UI management console in Stratos,
 to interact with Stratos.
 <br />
-For more information, see [Stratos Manager](https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+Stratos+Manager).
+For more information, see [Stratos Manager](https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+Stratos+Manager).
 
 * Stratos REST API                                      <br />
 DevOps can use REST APIs to carry out various administering functions (e.g., adding a tenant, adding a cartridge, etc.).
 <br />
 For more information, see the [Stratos API Reference Guide]
-(https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+Stratos+API+Reference).
+(https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+Stratos+API+Reference).
 
 * Interactive CLI Tool                                  <br />
 Command Line Interface (CLI) tool provides users an interface to interact with Stratos and manage your applications.
 <br />
-For more information, see the [CLI Tool](https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+CLI+Tool) and the
-[CLI Guide](https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+CLI+Guide).
+For more information, see the [CLI Tool](https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+CLI+Tool) and the
+[CLI Guide](https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+CLI+Guide).
 
 * Monitoring and metering                               <br />
 Apache Stratos provides centralized monitoring and metering. The level of resource utilization in Stratos is measured using metering.
@@ -134,7 +134,7 @@ If required, the DevOps can enable a persistent volume for cartridges. If persis
 automatically attaches a volume when a new cartridge instance is created.
 <br />
 For more information, see [Persistence Volume Mapping]
-(https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+Persistence+Volume+Mapping).
+(https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+Persistence+Volume+Mapping).
 
 * Gracefully shutdown instances                         <br />
 Before terminating an instance, when scaling down, the Auto-scaler will allow all the existing requests to the instance

http://git-wip-us.apache.org/repos/asf/stratos/blob/7a5e5558/tools/stratos-installer/README.md
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/README.md b/tools/stratos-installer/README.md
index 38fb229..d1392ea 100644
--- a/tools/stratos-installer/README.md
+++ b/tools/stratos-installer/README.md
@@ -5,4 +5,4 @@ Apache Stratos Installer
 Stratos-Installer is a tool to install Stratos in Single JVM as well as in distributed setup.
 
 Please refer the following Stratos Wiki page for detailed installation guide:
-https://cwiki.apache.org/confluence/display/STRATOS/4.1.5+Installation+Guide
+https://cwiki.apache.org/confluence/display/STRATOS/4.1.x+Installation+Guide


[44/50] [abbrv] stratos git commit: Rebase with stratos 4.1.x

Posted by ga...@apache.org.
http://git-wip-us.apache.org/repos/asf/stratos/blob/1ae9bb39/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
index fe714d6..33a38ed 100644
--- a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
+++ b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
@@ -1,156 +1,168 @@
-<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://impl.services.controller.cloud.stratos.apache.org" xmlns:ax27="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax23="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax24="http://common.stratos.apache.org/xsd" xmlns:ax21="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax212="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax210="http://domain.common.stratos.apache.org/xsd" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
+<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://impl.services.controller.cloud.stratos.apache.org" xmlns:ax27="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax23="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax24="http://common.stratos.apache.org/xsd" xmlns:ax21="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax212="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax210="http://domain.common.stratos.apache.org/xsd" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
     <wsdl:types>
-        <xs:schema xmlns:ax29="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax213="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:ax26="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax22="http://exception.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
+        <xs:schema xmlns:ax29="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax213="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:ax26="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax22="http://exception.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
             <xs:import namespace="http://exception.controller.cloud.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://domain.controller.cloud.stratos.apache.org/xsd"/>
             <xs:import namespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"/>
+            <xs:import namespace="http://domain.controller.cloud.stratos.apache.org/xsd"/>
             <xs:import namespace="http://topology.domain.messaging.stratos.apache.org/xsd"/>
-            <xs:element name="CloudControllerServiceCartridgeNotFoundException">
+            <xs:element name="CloudControllerServiceNonExistingKubernetesClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax21:CartridgeNotFoundException"/>
+                        <xs:element minOccurs="0" name="NonExistingKubernetesClusterException" nillable="true" type="ax21:NonExistingKubernetesClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridge">
+            <xs:element name="getKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgeResponse">
+            <xs:element name="getKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:Cartridge"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:KubernetesCluster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException">
+            <xs:element name="CloudControllerServiceInvalidMemberException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax21:InvalidCartridgeDefinitionException"/>
+                        <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax21:InvalidMemberException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidIaasProviderException">
+            <xs:element name="CloudControllerServiceInvalidCartridgeTypeException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax21:InvalidIaasProviderException"/>
+                        <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceCartridgeAlreadyExistsException">
+            <xs:element name="CloudControllerServiceCloudControllerException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CartridgeAlreadyExistsException" nillable="true" type="ax21:CartridgeAlreadyExistsException"/>
+                        <xs:element minOccurs="0" name="CloudControllerException" nillable="true" type="ax21:CloudControllerException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addCartridge">
+            <xs:element name="terminateInstance">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax26:Cartridge"/>
+                        <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addCartridgeResponse">
+            <xs:element name="terminateInstanceResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceNetworkPartitionAlreadyExistsException">
+            <xs:element name="CloudControllerServiceCartridgeNotFoundException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="NetworkPartitionAlreadyExistsException" nillable="true" type="ax21:NetworkPartitionAlreadyExistsException"/>
+                        <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax21:CartridgeNotFoundException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidNetworkPartitionException">
+            <xs:element name="getCartridge">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidNetworkPartitionException" nillable="true" type="ax21:InvalidNetworkPartitionException"/>
+                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addNetworkPartition">
+            <xs:element name="getCartridgeResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax26:NetworkPartition"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:Cartridge"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addNetworkPartitionResponse">
+            <xs:element name="getClusterContext">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getNetworkPartition">
+            <xs:element name="getClusterContextResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:ClusterContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getNetworkPartitionResponse">
+            <xs:element name="getCartridges">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getCartridgesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:NetworkPartition"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getNetworkPartitions">
+            <xs:element name="CloudControllerServiceInvalidIaasProviderException">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax21:InvalidIaasProviderException"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getNetworkPartitionsResponse">
+            <xs:element name="startInstance">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:NetworkPartition"/>
+                        <xs:element minOccurs="0" name="instanceContext" nillable="true" type="ax29:InstanceContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceNetworkPartitionNotExistsException">
+            <xs:element name="startInstanceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="NetworkPartitionNotExistsException" nillable="true" type="ax21:NetworkPartitionNotExistsException"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:MemberContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeNetworkPartition">
+            <xs:element name="getIaasProviders">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getIaasProvidersResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeNetworkPartitionResponse">
+            <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax21:InvalidCartridgeDefinitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidCartridgeTypeException">
+            <xs:element name="CloudControllerServiceCartridgeAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/>
+                        <xs:element minOccurs="0" name="CartridgeAlreadyExistsException" nillable="true" type="ax21:CartridgeAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeCartridge">
+            <xs:element name="addCartridge">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax29:Cartridge"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeCartridgeResponse">
+            <xs:element name="addCartridgeResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
@@ -167,7 +179,7 @@
             <xs:element name="updateCartridge">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridge" nillable="true" type="ax26:Cartridge"/>
+                        <xs:element minOccurs="0" name="cartridge" nillable="true" type="ax29:Cartridge"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -178,31 +190,31 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidServiceGroupException">
+            <xs:element name="removeCartridge">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax21:InvalidServiceGroupException"/>
+                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroup">
+            <xs:element name="removeCartridgeResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupResponse">
+            <xs:element name="CloudControllerServiceInvalidServiceGroupException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax21:InvalidServiceGroupException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="addServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax26:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax29:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -213,547 +225,535 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeServiceGroup">
+            <xs:element name="CloudControllerServiceInvalidPartitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="InvalidPartitionException" nillable="true" type="ax21:InvalidPartitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeServiceGroupResponse">
+            <xs:element name="validatePartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="partition" nillable="true" type="ax29:Partition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridges">
+            <xs:element name="validatePartitionResponse">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgesResponse">
+            <xs:element name="removeServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getClusterContext">
+            <xs:element name="removeServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getClusterContextResponse">
+            <xs:element name="getServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ClusterContext"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceNonExistingKubernetesClusterException">
+            <xs:element name="getServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="NonExistingKubernetesClusterException" nillable="true" type="ax21:NonExistingKubernetesClusterException"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceKubernetesClusterAlreadyUsedException">
+            <xs:element name="getServiceGroupSubGroups">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="KubernetesClusterAlreadyUsedException" nillable="true" type="ax21:KubernetesClusterAlreadyUsedException"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeKubernetesCluster">
+            <xs:element name="getServiceGroupSubGroupsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeKubernetesClusterResponse">
+            <xs:element name="getServiceGroupCartridges">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceNonExistingKubernetesHostException">
+            <xs:element name="getServiceGroupCartridgesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="NonExistingKubernetesHostException" nillable="true" type="ax21:NonExistingKubernetesHostException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeKubernetesHost">
+            <xs:element name="getServiceGroupDependencies">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesHostId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeKubernetesHostResponse">
+            <xs:element name="getServiceGroupDependenciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:Dependencies"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidKubernetesClusterException">
+            <xs:element name="startInstances">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidKubernetesClusterException" nillable="true" type="ax21:InvalidKubernetesClusterException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="instanceContexts" nillable="true" type="ax29:InstanceContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceKubernetesClusterAlreadyExistsException">
+            <xs:element name="startInstancesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="KubernetesClusterAlreadyExistsException" nillable="true" type="ax21:KubernetesClusterAlreadyExistsException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:MemberContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesCluster">
+            <xs:element name="terminateInstanceForcefully">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesCluster" nillable="true" type="ax29:KubernetesCluster"/>
+                        <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesClusterResponse">
+            <xs:element name="terminateInstanceForcefullyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesCluster">
+            <xs:element name="CloudControllerServiceInvalidClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesCluster" nillable="true" type="ax29:KubernetesCluster"/>
+                        <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax21:InvalidClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesClusterResponse">
+            <xs:element name="terminateInstances">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getKubernetesCluster">
+            <xs:element name="terminateInstancesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getKubernetesClusterResponse">
+            <xs:element name="registerService">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:KubernetesCluster"/>
+                        <xs:element minOccurs="0" name="registrant" nillable="true" type="ax29:Registrant"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getKubernetesClusters">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getKubernetesClustersResponse">
+            <xs:element name="registerServiceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:KubernetesCluster"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getIaasProviders">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getIaasProvidersResponse">
+            <xs:element name="CloudControllerServiceUnregisteredClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="UnregisteredClusterException" nillable="true" type="ax21:UnregisteredClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceCloudControllerException">
+            <xs:element name="unregisterService">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CloudControllerException" nillable="true" type="ax21:CloudControllerException"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstance">
+            <xs:element name="unregisterServiceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="instanceContext" nillable="true" type="ax26:InstanceContext"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstanceResponse">
+            <xs:element name="validateDeploymentPolicyNetworkPartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/>
+                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidMemberException">
+            <xs:element name="validateDeploymentPolicyNetworkPartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax21:InvalidMemberException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstance">
+            <xs:element name="updateClusterStatus">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="status" nillable="true" type="ax212:ClusterStatus"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstanceResponse">
+            <xs:element name="updateClusterStatusResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidPartitionException">
+            <xs:element name="CloudControllerServiceApplicationClusterRegistrationException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidPartitionException" nillable="true" type="ax21:InvalidPartitionException"/>
+                        <xs:element minOccurs="0" name="ApplicationClusterRegistrationException" nillable="true" type="ax21:ApplicationClusterRegistrationException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validateDeploymentPolicyNetworkPartition">
+            <xs:element name="createApplicationClusters">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="appClustersContexts" nillable="true" type="ax29:ApplicationClusterContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validateDeploymentPolicyNetworkPartitionResponse">
+            <xs:element name="createApplicationClustersResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupSubGroups">
+            <xs:element name="CloudControllerServiceClusterInstanceCreationException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="ClusterInstanceCreationException" nillable="true" type="ax21:ClusterInstanceCreationException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupSubGroupsResponse">
+            <xs:element name="createClusterInstance">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="serviceType" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="partitionId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupCartridges">
+            <xs:element name="createClusterInstanceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupCartridgesResponse">
+            <xs:element name="getKubernetesClusters">
                 <xs:complexType>
-                    <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
-                    </xs:sequence>
+                    <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupDependencies">
+            <xs:element name="getKubernetesClustersResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:KubernetesCluster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupDependenciesResponse">
+            <xs:element name="getMasterForKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:Dependencies"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validatePartition">
+            <xs:element name="getMasterForKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="partition" nillable="true" type="ax26:Partition"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:KubernetesMaster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validatePartitionResponse">
+            <xs:element name="getHostsForKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="registerService">
+            <xs:element name="getHostsForKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="registrant" nillable="true" type="ax26:Registrant"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:KubernetesHost"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="registerServiceResponse">
+            <xs:element name="CloudControllerServiceInvalidKubernetesClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="InvalidKubernetesClusterException" nillable="true" type="ax21:InvalidKubernetesClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstances">
+            <xs:element name="CloudControllerServiceKubernetesClusterAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="instanceContexts" nillable="true" type="ax26:InstanceContext"/>
+                        <xs:element minOccurs="0" name="KubernetesClusterAlreadyExistsException" nillable="true" type="ax21:KubernetesClusterAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstancesResponse">
+            <xs:element name="addKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/>
+                        <xs:element minOccurs="0" name="kubernetesCluster" nillable="true" type="ax26:KubernetesCluster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstanceForcefully">
+            <xs:element name="addKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstanceForcefullyResponse">
+            <xs:element name="updateKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="kubernetesCluster" nillable="true" type="ax26:KubernetesCluster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidClusterException">
+            <xs:element name="updateKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax21:InvalidClusterException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstances">
+            <xs:element name="CloudControllerServiceInvalidKubernetesHostException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="InvalidKubernetesHostException" nillable="true" type="ax21:InvalidKubernetesHostException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstancesResponse">
+            <xs:element name="addKubernetesHost">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax26:KubernetesHost"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterStatus">
+            <xs:element name="addKubernetesHostResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="status" nillable="true" type="ax212:ClusterStatus"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterStatusResponse">
+            <xs:element name="CloudControllerServiceKubernetesClusterAlreadyUsedException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="KubernetesClusterAlreadyUsedException" nillable="true" type="ax21:KubernetesClusterAlreadyUsedException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceUnregisteredClusterException">
+            <xs:element name="removeKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="UnregisteredClusterException" nillable="true" type="ax21:UnregisteredClusterException"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="unregisterService">
+            <xs:element name="removeKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="unregisterServiceResponse">
+            <xs:element name="CloudControllerServiceNonExistingKubernetesHostException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="NonExistingKubernetesHostException" nillable="true" type="ax21:NonExistingKubernetesHostException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceApplicationClusterRegistrationException">
+            <xs:element name="removeKubernetesHost">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicationClusterRegistrationException" nillable="true" type="ax21:ApplicationClusterRegistrationException"/>
+                        <xs:element minOccurs="0" name="kubernetesHostId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="createApplicationClusters">
+            <xs:element name="removeKubernetesHostResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="appClustersContexts" nillable="true" type="ax26:ApplicationClusterContext"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="createApplicationClustersResponse">
+            <xs:element name="CloudControllerServiceInvalidKubernetesMasterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="InvalidKubernetesMasterException" nillable="true" type="ax21:InvalidKubernetesMasterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceClusterInstanceCreationException">
+            <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ClusterInstanceCreationException" nillable="true" type="ax21:ClusterInstanceCreationException"/>
+                        <xs:element minOccurs="0" name="NonExistingKubernetesMasterException" nillable="true" type="ax21:NonExistingKubernetesMasterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="createClusterInstance">
+            <xs:element name="updateKubernetesMaster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="serviceType" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="partitionId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax26:KubernetesMaster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="createClusterInstanceResponse">
+            <xs:element name="updateKubernetesMasterResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getMasterForKubernetesCluster">
+            <xs:element name="updateKubernetesHost">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax26:KubernetesHost"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getMasterForKubernetesClusterResponse">
+            <xs:element name="updateKubernetesHostResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:KubernetesMaster"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getHostsForKubernetesCluster">
+            <xs:element name="CloudControllerServiceNetworkPartitionAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="NetworkPartitionAlreadyExistsException" nillable="true" type="ax21:NetworkPartitionAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getHostsForKubernetesClusterResponse">
+            <xs:element name="CloudControllerServiceInvalidNetworkPartitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:KubernetesHost"/>
+                        <xs:element minOccurs="0" name="InvalidNetworkPartitionException" nillable="true" type="ax21:InvalidNetworkPartitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidKubernetesHostException">
+            <xs:element name="addNetworkPartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidKubernetesHostException" nillable="true" type="ax21:InvalidKubernetesHostException"/>
+                        <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax29:NetworkPartition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesHost">
+            <xs:element name="addNetworkPartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax29:KubernetesHost"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesHostResponse">
+            <xs:element name="CloudControllerServiceNetworkPartitionNotExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="NetworkPartitionNotExistsException" nillable="true" type="ax21:NetworkPartitionNotExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesHost">
+            <xs:element name="removeNetworkPartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax29:KubernetesHost"/>
+                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesHostResponse">
+            <xs:element name="removeNetworkPartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidKubernetesMasterException">
+            <xs:element name="updateNetworkPartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidKubernetesMasterException" nillable="true" type="ax21:InvalidKubernetesMasterException"/>
+                        <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax29:NetworkPartition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException">
+            <xs:element name="updateNetworkPartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="NonExistingKubernetesMasterException" nillable="true" type="ax21:NonExistingKubernetesMasterException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesMaster">
+            <xs:element name="getNetworkPartitions">
                 <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax29:KubernetesMaster"/>
-                    </xs:sequence>
+                    <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesMasterResponse">
+            <xs:element name="getNetworkPartitionsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:NetworkPartition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateNetworkPartition">
+            <xs:element name="getNetworkPartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax26:NetworkPartition"/>
+                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateNetworkPartitionResponse">
+            <xs:element name="getNetworkPartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:NetworkPartition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -783,42 +783,46 @@
             </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://exception.controller.cloud.stratos.apache.org/xsd">
-            <xs:complexType name="CartridgeNotFoundException">
+            <xs:complexType name="NonExistingKubernetesClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidCartridgeDefinitionException">
+            <xs:complexType name="InvalidMemberException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidIaasProviderException">
+            <xs:complexType name="InvalidCartridgeTypeException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="CartridgeAlreadyExistsException">
-                <xs:sequence/>
+            <xs:complexType name="CloudControllerException">
+                <xs:complexContent>
+                    <xs:extension base="xs:RuntimeException">
+                        <xs:sequence/>
+                    </xs:extension>
+                </xs:complexContent>
             </xs:complexType>
-            <xs:complexType name="NetworkPartitionAlreadyExistsException">
+            <xs:complexType name="CartridgeNotFoundException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidNetworkPartitionException">
+            <xs:complexType name="InvalidIaasProviderException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NetworkPartitionNotExistsException">
-                <xs:sequence/>
-            </xs:complexType>
-            <xs:complexType name="InvalidCartridgeTypeException">
+            <xs:complexType name="InvalidCartridgeDefinitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="CartridgeAlreadyExistsException">
+                <xs:sequence/>
+            </xs:complexType>
             <xs:complexType name="CartridgeDefinitionNotExistsException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
@@ -829,83 +833,79 @@
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NonExistingKubernetesClusterException">
+            <xs:complexType name="InvalidPartitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="KubernetesClusterAlreadyUsedException">
+            <xs:complexType name="InvalidClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NonExistingKubernetesHostException">
+            <xs:complexType name="UnregisteredClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidKubernetesClusterException">
+            <xs:complexType name="ApplicationClusterRegistrationException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="KubernetesClusterAlreadyExistsException">
+            <xs:complexType name="ClusterInstanceCreationException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="CloudControllerException">
-                <xs:complexContent>
-                    <xs:extension base="xs:RuntimeException">
-                        <xs:sequence/>
-                    </xs:extension>
-                </xs:complexContent>
-            </xs:complexType>
-            <xs:complexType name="InvalidMemberException">
+            <xs:complexType name="InvalidKubernetesClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidPartitionException">
+            <xs:complexType name="KubernetesClusterAlreadyExistsException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidClusterException">
+            <xs:complexType name="InvalidKubernetesHostException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="UnregisteredClusterException">
+            <xs:complexType name="KubernetesClusterAlreadyUsedException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ApplicationClusterRegistrationException">
+            <xs:complexType name="NonExistingKubernetesHostException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ClusterInstanceCreationException">
+            <xs:complexType name="InvalidKubernetesMasterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidKubernetesHostException">
+            <xs:complexType name="NonExistingKubernetesMasterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidKubernetesMasterException">
+            <xs:complexType name="NetworkPartitionAlreadyExistsException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NonExistingKubernetesMasterException">
+            <xs:complexType name="InvalidNetworkPartitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="NetworkPartitionNotExistsException">
+                <xs:sequence/>
+            </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.common.stratos.apache.org/xsd">
             <xs:complexType name="NameValuePair">
@@ -922,16 +922,16 @@
                 </xs:complexContent>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax28="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax25="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd">
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="KubernetesCluster">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="kubernetesHosts" nillable="true" type="ax27:KubernetesHost"/>
-                    <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax27:KubernetesMaster"/>
-                    <xs:element minOccurs="0" name="portRange" nillable="true" type="ax27:PortRange"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="kubernetesHosts" nillable="true" type="ax23:KubernetesHost"/>
+                    <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax23:KubernetesMaster"/>
+                    <xs:element minOccurs="0" name="portRange" nillable="true" type="ax23:PortRange"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="KubernetesHost">
@@ -939,13 +939,13 @@
                     <xs:element minOccurs="0" name="hostId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostname" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="privateIPAddress" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
                     <xs:element minOccurs="0" name="publicIPAddress" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="KubernetesMaster">
                 <xs:complexContent>
-                    <xs:extension base="ax27:KubernetesHost">
+                    <xs:extension base="ax23:KubernetesHost">
                         <xs:sequence/>
                     </xs:extension>
                 </xs:complexContent>
@@ -957,12 +957,12 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax25="http://common.stratos.apache.org/xsd" xmlns:ax211="http://domain.common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax28="http://common.stratos.apache.org/xsd" xmlns:ax211="http://domain.common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd">
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:import namespace="http://domain.common.stratos.apache.org/xsd"/>
             <xs:complexType name="Cartridge">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="appTypeMappings" nillable="true" type="ax23:AppType"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="appTypeMappings" nillable="true" type="ax27:AppType"/>
                     <xs:element minOccurs="0" name="baseDir" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="category" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="deploymentDirs" nillable="true" type="xs:string"/>
@@ -970,14 +970,14 @@
                     <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="exportingProperties" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="iaasConfigs" nillable="true" type="ax23:IaasConfig"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="iaasConfigs" nillable="true" type="ax27:IaasConfig"/>
                     <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/>
                     <xs:element minOccurs="0" name="loadBalancingIPType" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="metadataKeys" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="multiTenant" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax23:Persistence"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="portMappings" nillable="true" type="ax23:PortMapping"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax27:Persistence"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="portMappings" nillable="true" type="ax27:PortMapping"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
                     <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="tenantPartitions" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
@@ -997,29 +997,29 @@
                     <xs:element minOccurs="0" name="identity" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="imageId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="networkInterfaces" nillable="true" type="ax23:NetworkInterfaces"/>
+                    <xs:element minOccurs="0" name="networkInterfaces" nillable="true" type="ax27:NetworkInterfaces"/>
                     <xs:element minOccurs="0" name="payload" nillable="true" type="xs:base64Binary"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
                     <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="NetworkInterfaces">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkInterfaces" nillable="true" type="ax23:NetworkInterface"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkInterfaces" nillable="true" type="ax27:NetworkInterface"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="NetworkInterface">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="fixedIp" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="floatingNetworks" nillable="true" type="ax23:FloatingNetworks"/>
+                    <xs:element minOccurs="0" name="floatingNetworks" nillable="true" type="ax27:FloatingNetworks"/>
                     <xs:element minOccurs="0" name="networkUuid" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="portUuid" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="FloatingNetworks">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="floatingNetworks" nillable="true" type="ax23:FloatingNetwork"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="floatingNetworks" nillable="true" type="ax27:FloatingNetwork"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="FloatingNetwork">
@@ -1032,7 +1032,7 @@
             <xs:complexType name="Persistence">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="persistenceRequired" type="xs:boolean"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax27:Volume"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="Volume">
@@ -1056,41 +1056,6 @@
                     <xs:element minOccurs="0" name="proxyPort" type="xs:int"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NetworkPartition">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="activeByDefault" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="partitionAlgo" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="partitions" nillable="true" type="ax23:Partition"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
-                    <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="Partition">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="partitionMax" type="xs:int"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
-                    <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="ServiceGroup">
-                <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridges" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="dependencies" nillable="true" type="ax23:Dependencies"/>
-                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="subGroups" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="Dependencies">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="killBehaviour" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="startupOrders" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
             <xs:complexType name="ClusterContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
@@ -1099,10 +1064,10 @@
                     <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="lbCluster" type="xs:boolean"/>
                     <xs:element minOccurs="0" name="payload" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
                     <xs:element minOccurs="0" name="timeoutInMillis" type="xs:long"/>
                     <xs:element minOccurs="0" name="volumeRequired" type="xs:boolean"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax27:Volume"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="InstanceContext">
@@ -1113,10 +1078,21 @@
                     <xs:element minOccurs="0" name="initTime" type="xs:long"/>
                     <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="obsoleteExpiryTime" type="xs:long"/>
-                    <xs:element minOccurs="0" name="partition" nillable="true" type="ax23:Partition"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="partition" nillable="true" type="ax27:Partition"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
                     <xs:element minOccurs="0" name="volumeRequired" type="xs:boolean"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax27:Volume"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="Partition">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="partitionMax" type="xs:int"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
+                    <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="MemberContext">
@@ -1131,7 +1107,7 @@
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="dynamicPayload" nillable="true" type="ax210:NameValuePair"/>
                     <xs:element minOccurs="0" name="initTime" type="xs:long"/>
                     <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="instanceMetadata" nillable="true" type="ax23:InstanceMetadata"/>
+                    <xs:element minOccurs="0" name="instanceMetadata" nillable="true" type="ax27:InstanceMetadata"/>
                     <xs:element minOccurs="0" name="kubernetesPodId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="kubernetesPodName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="lbClusterId" nillable="true" type="xs:string"/>
@@ -1140,9 +1116,9 @@
                     <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="obsoleteExpiryTime" type="xs:long"/>
                     <xs:element minOccurs="0" name="obsoleteInitTime" type="xs:long"/>
-                    <xs:element minOccurs="0" name="partition" nillable="true" type="ax23:Partition"/>
+                    <xs:element minOccurs="0" name="partition" nillable="true" type="ax27:Partition"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="privateIPs" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="publicIPs" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
@@ -1160,6 +1136,20 @@
                     <xs:element minOccurs="0" name="ram" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="ServiceGroup">
+                <xs:sequence>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridges" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="dependencies" nillable="true" type="ax27:Dependencies"/>
+                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="subGroups" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="Dependencies">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="killBehaviour" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="startupOrders" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="Registrant">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="autoScalerPolicyName" nillable="true" type="xs:string"/>
@@ -1168,8 +1158,8 @@
                     <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="payload" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax23:Persistence"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax27:Persistence"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
                     <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
@@ -1182,11 +1172,21 @@
                     <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="lbCluster" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
                     <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="textPayload" nillable="true" type="xs:string"/>
               

<TRUNCATED>

[14/50] [abbrv] stratos git commit: Fixing line spaces added

Posted by ga...@apache.org.
Fixing line spaces added


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

Branch: refs/heads/master
Commit: 7cf63b3cf392dc26cb0ec281658e7962b0cdb2b9
Parents: 6aa4ab0
Author: Pubudu Gunatilaka <pu...@gmail.com>
Authored: Mon Nov 30 13:49:10 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Mon Nov 30 13:54:52 2015 +0530

----------------------------------------------------------------------
 .../cloud/controller/messaging/topology/TopologyBuilder.java   | 1 -
 .../apache/stratos/rest/endpoint/api/StratosApiV41Utils.java   | 6 ++----
 2 files changed, 2 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/7cf63b3c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
index 109cf30..6fe25f8 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
@@ -415,7 +415,6 @@ public class TopologyBuilder {
                 log.error("Invalid state transition from " + member.getStatus() + " to " +
                         MemberStatus.Initialized);
             } else {
-
                 Cluster cluster = service.getCluster(memberContext.getClusterId());
                 String clusterId = cluster.getClusterId();
                 ClusterContext clusterContext = CloudControllerContext.getInstance().getClusterContext(clusterId);

http://git-wip-us.apache.org/repos/asf/stratos/blob/7cf63b3c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 87aff60..ffe2a24 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -1578,8 +1578,6 @@ public class StratosApiV41Utils {
                 if (group.getCartridges() != null) {
                     if (group.getDeploymentPolicy() != null) {
                         groupParentHasDeploymentPolicy = true;
-                    } else {
-                        groupParentHasDeploymentPolicy = false;
                     }
                     validateCartridgesForDeploymentPolicy(group.getCartridges(), groupParentHasDeploymentPolicy);
                 }
@@ -1610,9 +1608,9 @@ public class StratosApiV41Utils {
      * @throws RestAPIException
      */
     private static void validateCartridgesForDeploymentPolicy(List<CartridgeReferenceBean> cartridgeReferenceBeans,
-            boolean hasDeploymentPolicy) throws RestAPIException {
+            boolean groupParentHasDeploymentPolicy) throws RestAPIException {
 
-        if (hasDeploymentPolicy) {
+        if (groupParentHasDeploymentPolicy) {
             for (CartridgeReferenceBean cartridge : cartridgeReferenceBeans) {
                 if (cartridge.getSubscribableInfo().getDeploymentPolicy() != null) {
                     String message = "Group deployment policy already exists. Remove deployment policy from " +


[33/50] [abbrv] stratos git commit: Update the thrift config of the lb extensions

Posted by ga...@apache.org.
Update the thrift config of the lb extensions


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

Branch: refs/heads/master
Commit: b330694fa777a56615568e4ce5525145e29520f2
Parents: 03b9716
Author: gayangunarathne <ga...@wso2.com>
Authored: Sun Dec 6 01:44:36 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Sun Dec 6 01:44:36 2015 +0530

----------------------------------------------------------------------
 .../src/main/conf/thrift-client-config.xml      | 24 ++++++++++++++++----
 .../src/main/conf/thrift-client-config.xml      | 24 ++++++++++++++++----
 .../src/main/conf/thrift-client-config.xml      | 24 ++++++++++++++++----
 .../src/main/conf/thrift-client-config.xml      | 24 +++++++++++++++-----
 4 files changed, 75 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/b330694f/extensions/load-balancer/modules/aws-extension/src/main/conf/thrift-client-config.xml
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/modules/aws-extension/src/main/conf/thrift-client-config.xml b/extensions/load-balancer/modules/aws-extension/src/main/conf/thrift-client-config.xml
index 5cacada..2e95c57 100644
--- a/extensions/load-balancer/modules/aws-extension/src/main/conf/thrift-client-config.xml
+++ b/extensions/load-balancer/modules/aws-extension/src/main/conf/thrift-client-config.xml
@@ -20,8 +20,22 @@
 
 <!-- Apache thrift client configuration for publishing statistics to WSO2 CEP -->
 <thriftClientConfiguration>
-    <username>admin</username>
-    <password>admin</password>
-    <ip>localhost</ip>
-    <port>7611</port>
-</thriftClientConfiguration>
\ No newline at end of file
+    <config>
+        <cep>
+            <node id="node-01">
+                <statsPublisherEnabled>true</statsPublisherEnabled>
+                <username>admin</username>
+                <password>admin</password>
+                <ip>localhost</ip>
+                <port>7611</port>
+            </node>
+            <!--<node id="node-02">
+                 <statsPublisherEnabled>true</statsPublisherEnabled>
+                 <username>admin</username>
+                 <password>admin</password>
+                 <ip>10.10.1.1</ip>
+                 <port>7714</port>
+            </node>-->
+        </cep>
+    </config>
+</thriftClientConfiguration>

http://git-wip-us.apache.org/repos/asf/stratos/blob/b330694f/extensions/load-balancer/modules/haproxy-extension/src/main/conf/thrift-client-config.xml
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/modules/haproxy-extension/src/main/conf/thrift-client-config.xml b/extensions/load-balancer/modules/haproxy-extension/src/main/conf/thrift-client-config.xml
index 5cacada..2e95c57 100644
--- a/extensions/load-balancer/modules/haproxy-extension/src/main/conf/thrift-client-config.xml
+++ b/extensions/load-balancer/modules/haproxy-extension/src/main/conf/thrift-client-config.xml
@@ -20,8 +20,22 @@
 
 <!-- Apache thrift client configuration for publishing statistics to WSO2 CEP -->
 <thriftClientConfiguration>
-    <username>admin</username>
-    <password>admin</password>
-    <ip>localhost</ip>
-    <port>7611</port>
-</thriftClientConfiguration>
\ No newline at end of file
+    <config>
+        <cep>
+            <node id="node-01">
+                <statsPublisherEnabled>true</statsPublisherEnabled>
+                <username>admin</username>
+                <password>admin</password>
+                <ip>localhost</ip>
+                <port>7611</port>
+            </node>
+            <!--<node id="node-02">
+                 <statsPublisherEnabled>true</statsPublisherEnabled>
+                 <username>admin</username>
+                 <password>admin</password>
+                 <ip>10.10.1.1</ip>
+                 <port>7714</port>
+            </node>-->
+        </cep>
+    </config>
+</thriftClientConfiguration>

http://git-wip-us.apache.org/repos/asf/stratos/blob/b330694f/extensions/load-balancer/modules/lvs-extension/src/main/conf/thrift-client-config.xml
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/modules/lvs-extension/src/main/conf/thrift-client-config.xml b/extensions/load-balancer/modules/lvs-extension/src/main/conf/thrift-client-config.xml
index 86a5fc6..1dffaa3 100644
--- a/extensions/load-balancer/modules/lvs-extension/src/main/conf/thrift-client-config.xml
+++ b/extensions/load-balancer/modules/lvs-extension/src/main/conf/thrift-client-config.xml
@@ -18,8 +18,22 @@
   -->
 
 <thriftClientConfiguration>
-    <username>admin</username>
-    <password>admin</password>
-    <ip>localhost</ip>
-    <port>7611</port>
-</thriftClientConfiguration>
\ No newline at end of file
+    <config>
+        <cep>
+            <node id="node-01">
+                <statsPublisherEnabled>true</statsPublisherEnabled>
+                <username>admin</username>
+                <password>admin</password>
+                <ip>localhost</ip>
+                <port>7611</port>
+            </node>
+            <!--<node id="node-02">
+                 <statsPublisherEnabled>true</statsPublisherEnabled>
+                 <username>admin</username>
+                 <password>admin</password>
+                 <ip>10.10.1.1</ip>
+                 <port>7714</port>
+            </node>-->
+        </cep>
+     </config>
+</thriftClientConfiguration>

http://git-wip-us.apache.org/repos/asf/stratos/blob/b330694f/extensions/load-balancer/modules/nginx-extension/src/main/conf/thrift-client-config.xml
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/modules/nginx-extension/src/main/conf/thrift-client-config.xml b/extensions/load-balancer/modules/nginx-extension/src/main/conf/thrift-client-config.xml
index 5cacada..e2de82e 100644
--- a/extensions/load-balancer/modules/nginx-extension/src/main/conf/thrift-client-config.xml
+++ b/extensions/load-balancer/modules/nginx-extension/src/main/conf/thrift-client-config.xml
@@ -19,9 +19,21 @@
   -->
 
 <!-- Apache thrift client configuration for publishing statistics to WSO2 CEP -->
-<thriftClientConfiguration>
-    <username>admin</username>
-    <password>admin</password>
-    <ip>localhost</ip>
-    <port>7611</port>
-</thriftClientConfiguration>
\ No newline at end of file
+<config>
+    <cep>
+        <node id="node-01">
+            <statsPublisherEnabled>true</statsPublisherEnabled>
+            <username>admin</username>
+            <password>admin</password>
+            <ip>localhost</ip>
+            <port>7611</port>
+        </node>
+        <!--<node id="node-02">
+             <statsPublisherEnabled>true</statsPublisherEnabled>
+             <username>admin</username>
+             <password>admin</password>
+             <ip>10.10.1.1</ip>
+             <port>7714</port>
+        </node>-->
+    </cep>
+</config>
\ No newline at end of file


[50/50] [abbrv] stratos git commit: Rebase the stratos 4.1.x branch

Posted by ga...@apache.org.
Rebase the stratos 4.1.x branch


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

Branch: refs/heads/master
Commit: 9d778a5edd3855162eff971ce684659ef72673e0
Parents: 1ae9bb3
Author: gayangunarathne <ga...@wso2.com>
Authored: Tue Dec 8 20:47:15 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Tue Dec 8 20:47:15 2015 +0530

----------------------------------------------------------------------
 .../services/impl/AutoscalerServiceImpl.java    |   14 +-
 .../stratos/cli/RestCommandLineService.java     |    3 +-
 .../status/ClusterStatusTopicReceiver.java      |    9 +
 .../status/InstanceStatusTopicReceiver.java     |    6 +-
 .../rest/endpoint/api/StratosApiV41.java        |   10 -
 .../src/test/resources/test-suite-all.xml       |    1 +
 .../src/main/resources/AutoscalerService.wsdl   |  628 +++++-----
 .../main/resources/CloudControllerService.wsdl  | 1098 +++++++++---------
 .../main/resources/StratosManagerService.wsdl   |  238 ++--
 9 files changed, 1006 insertions(+), 1001 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/9d778a5e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
index fbf6afc..0943de0 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -304,7 +304,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
      * @param clusterIds
      */
     private void addApplicationSignUp(ApplicationContext applicationContext, String applicationKey,
-                                      List<String> clusterIds) {
+            List<String> clusterIds) {
 
         try {
             if (log.isInfoEnabled()) {
@@ -430,7 +430,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     }
 
     private void updateArtifactRepositoryList(List<ArtifactRepository> artifactRepositoryList,
-                                              CartridgeContext[] cartridgeContexts) {
+            CartridgeContext[] cartridgeContexts) {
 
         if (cartridgeContexts == null) {
             return;
@@ -457,7 +457,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
 
     public boolean undeployApplication(String applicationId, boolean force)
             throws RemoteException, StratosManagerServiceApplicationSignUpExceptionException,
-            UnremovableApplicationException {
+                   UnremovableApplicationException {
 
         AutoscalerContext asCtx = AutoscalerContext.getInstance();
         ApplicationMonitor appMonitor = asCtx.getAppMonitor(applicationId);
@@ -1158,7 +1158,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     @Override
     public boolean updateDeploymentPolicy(DeploymentPolicy deploymentPolicy)
             throws RemoteException, InvalidDeploymentPolicyException, DeploymentPolicyNotExistsException,
-            InvalidPolicyException, CloudControllerConnectionException {
+                   InvalidPolicyException, CloudControllerConnectionException {
 
         validateDeploymentPolicy(deploymentPolicy);
 
@@ -1230,7 +1230,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     }
 
     private void removeOldPartitionsFromClusterMonitor(NetworkPartitionContext clusterLevelNetworkPartitionContext,
-                                                       NetworkPartitionRef networkPartition) {
+            NetworkPartitionRef networkPartition) {
 
         for (InstanceContext instanceContext : clusterLevelNetworkPartitionContext.getInstanceIdToInstanceContextMap()
                 .values()) {
@@ -1265,9 +1265,9 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     }
 
     private void addNewPartitionsToClusterMonitor(NetworkPartitionContext clusterLevelNetworkPartitionContext,
-                                                  NetworkPartitionRef networkPartitionRef, String deploymentPolicyID, String cartridgeType)
+            NetworkPartitionRef networkPartitionRef, String deploymentPolicyID, String cartridgeType)
             throws RemoteException, CloudControllerServiceInvalidPartitionExceptionException,
-            CloudControllerServiceInvalidCartridgeTypeExceptionException {
+                   CloudControllerServiceInvalidCartridgeTypeExceptionException {
 
         boolean validationOfNetworkPartitionRequired = false;
         for (PartitionRef partition : networkPartitionRef.getPartitionRefs()) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/9d778a5e/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
index a06cb3b..1b26592 100644
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
@@ -50,6 +50,7 @@ import org.apache.stratos.common.beans.partition.NetworkPartitionBean;
 import org.apache.stratos.common.beans.policy.autoscale.AutoscalePolicyBean;
 import org.apache.stratos.common.beans.policy.deployment.ApplicationPolicyBean;
 import org.apache.stratos.common.beans.policy.deployment.DeploymentPolicyBean;
+import org.apache.stratos.common.beans.topology.ApplicationInfoBean;
 import org.apache.stratos.common.beans.topology.ClusterBean;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -1601,7 +1602,7 @@ public class RestCommandLineService {
      */
     public void describeApplicationRuntime(String applicationId) throws CommandException {
         try {
-            ApplicationBean application = (ApplicationBean) restClient
+	        ApplicationInfoBean application = (ApplicationInfoBean) restClient
                     .getEntity(ENDPOINT_GET_APPLICATION_RUNTIME, ApplicationBean.class, "{applicationId}", applicationId,
                             "application");
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/9d778a5e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/cluster/status/ClusterStatusTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/cluster/status/ClusterStatusTopicReceiver.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/cluster/status/ClusterStatusTopicReceiver.java
index d1d269a..daa6bf5 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/cluster/status/ClusterStatusTopicReceiver.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/cluster/status/ClusterStatusTopicReceiver.java
@@ -33,6 +33,7 @@ public class ClusterStatusTopicReceiver {
     private static final Log log = LogFactory.getLog(ClusterStatusTopicReceiver.class);
 
     private ClusterStatusEventReceiver statusEventReceiver;
+    private boolean terminated;
     private ExecutorService executorService;
 
     public ClusterStatusTopicReceiver() {
@@ -115,6 +116,14 @@ public class ClusterStatusTopicReceiver {
         });
     }
 
+    public void setTerminated(boolean terminated) {
+        this.terminated = terminated;
+    }
+
+    public ExecutorService getExecutorService() {
+        return executorService;
+    }
+
     public void setExecutorService(ExecutorService executorService) {
         this.executorService = executorService;
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/9d778a5e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/instance/status/InstanceStatusTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/instance/status/InstanceStatusTopicReceiver.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/instance/status/InstanceStatusTopicReceiver.java
index 5934c81..1f012b3 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/instance/status/InstanceStatusTopicReceiver.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/instance/status/InstanceStatusTopicReceiver.java
@@ -31,7 +31,6 @@ import org.apache.stratos.messaging.listener.instance.status.InstanceMaintenance
 import org.apache.stratos.messaging.listener.instance.status.InstanceReadyToShutdownEventListener;
 import org.apache.stratos.messaging.listener.instance.status.InstanceStartedEventListener;
 import org.apache.stratos.messaging.message.receiver.instance.status.InstanceStatusEventReceiver;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
 
 import java.util.concurrent.ExecutorService;
 
@@ -42,6 +41,7 @@ public class InstanceStatusTopicReceiver {
     private static final Log log = LogFactory.getLog(InstanceStatusTopicReceiver.class);
 
     private InstanceStatusEventReceiver statusEventReceiver;
+    private boolean terminated;
     private ExecutorService executorService;
 
     public InstanceStatusTopicReceiver() {
@@ -131,6 +131,10 @@ public class InstanceStatusTopicReceiver {
 
     }
 
+    public ExecutorService getExecutorService() {
+        return executorService;
+    }
+
     public void setExecutorService(ExecutorService executorService) {
         this.executorService = executorService;
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/9d778a5e/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
index 5eb1dac..1dad693 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
@@ -1305,16 +1305,6 @@ public class StratosApiV41 extends AbstractApi {
         }
     }
 
-    @POST
-    @Path("/reponotification")
-    @Produces("application/json")
-    @Consumes("application/json")
-    @AuthorizationAction("/permission/admin/stratos/applicationSignUps/manage")
-    public void getRepoNotification(GitNotificationPayloadBean payload) throws RestAPIException {
-
-        StratosApiV41Utils.notifyArtifactUpdatedEvent(payload);
-
-    }
     /**
      * Delete an application.
      *

http://git-wip-us.apache.org/repos/asf/stratos/blob/9d778a5e/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-all.xml
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-all.xml b/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-all.xml
index 5a73f7c..ae1e6bf 100644
--- a/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-all.xml
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-all.xml
@@ -34,6 +34,7 @@
             <run>
                 <exclude name="failed"/>
                 <exclude name="disabled"/>
+                <include name="policies"/>
             </run>
         </groups>
 


[21/50] [abbrv] stratos git commit: Renaming cep-310 extension artifact id

Posted by ga...@apache.org.
Renaming cep-310 extension artifact id


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

Branch: refs/heads/master
Commit: 85036eb9c42c1248bcc7dd48420f94cce86edccc
Parents: cd06c7b
Author: Thanuja <th...@wso2.com>
Authored: Mon Nov 30 13:30:30 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Tue Dec 1 08:57:54 2015 +0530

----------------------------------------------------------------------
 extensions/cep/modules/distribution/pom.xml                        | 2 +-
 extensions/cep/modules/distribution/src/assembly/bin.xml           | 2 +-
 extensions/cep/modules/stratos-cep-extension/wso2cep-3.1.0/pom.xml | 2 +-
 pom.xml                                                            | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/85036eb9/extensions/cep/modules/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/cep/modules/distribution/pom.xml b/extensions/cep/modules/distribution/pom.xml
index 1b2fbc5..5c4364e 100644
--- a/extensions/cep/modules/distribution/pom.xml
+++ b/extensions/cep/modules/distribution/pom.xml
@@ -70,7 +70,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.stratos</groupId>
-            <artifactId>org.apache.stratos.cep.310.extension</artifactId>
+            <artifactId>org.apache.stratos.cep310.extension</artifactId>
         </dependency>
     </dependencies>
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/85036eb9/extensions/cep/modules/distribution/src/assembly/bin.xml
----------------------------------------------------------------------
diff --git a/extensions/cep/modules/distribution/src/assembly/bin.xml b/extensions/cep/modules/distribution/src/assembly/bin.xml
index 8706de0..ee6c14b 100755
--- a/extensions/cep/modules/distribution/src/assembly/bin.xml
+++ b/extensions/cep/modules/distribution/src/assembly/bin.xml
@@ -61,7 +61,7 @@
             <outputDirectory>${project.artifactId}-${project.version}/lib</outputDirectory>
             <includes>
                 <include>org.apache.stratos:org.apache.stratos.cep300.extension:jar</include>
-                <include>org.apache.stratos:org.apache.stratos.cep.310.extension:jar</include>
+                <include>org.apache.stratos:org.apache.stratos.cep310.extension:jar</include>
             </includes>
         </dependencySet>
     </dependencySets>

http://git-wip-us.apache.org/repos/asf/stratos/blob/85036eb9/extensions/cep/modules/stratos-cep-extension/wso2cep-3.1.0/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/cep/modules/stratos-cep-extension/wso2cep-3.1.0/pom.xml b/extensions/cep/modules/stratos-cep-extension/wso2cep-3.1.0/pom.xml
index 3d47615..8208571 100644
--- a/extensions/cep/modules/stratos-cep-extension/wso2cep-3.1.0/pom.xml
+++ b/extensions/cep/modules/stratos-cep-extension/wso2cep-3.1.0/pom.xml
@@ -21,7 +21,7 @@
         <relativePath>../../../pom.xml</relativePath>
     </parent>
 
-    <artifactId>org.apache.stratos.cep.310.extension</artifactId>
+    <artifactId>org.apache.stratos.cep310.extension</artifactId>
     <name>Apache Stratos - CEP Extensions</name>
     <description>Apache Stratos CEP Extensions</description>
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/85036eb9/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2c62945..50dd47a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1033,7 +1033,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.stratos</groupId>
-                <artifactId>org.apache.stratos.cep.310.extension</artifactId>
+                <artifactId>org.apache.stratos.cep310.extension</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>


[11/50] [abbrv] stratos git commit: Remove the clean when generating the car files

Posted by ga...@apache.org.
Remove the clean when generating the car files


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

Branch: refs/heads/master
Commit: c0200ed1f356067ee2197846e5cb79cc386f45b5
Parents: e9bef7d
Author: gayangunarathne <ga...@wso2.com>
Authored: Mon Nov 30 10:50:40 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Mon Nov 30 11:15:26 2015 +0530

----------------------------------------------------------------------
 .../artifacts/metering-dashboard/capps/pom.xml        | 14 +-------------
 .../artifacts/monitoring-dashboard/capps/pom.xml      | 12 ------------
 2 files changed, 1 insertion(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/c0200ed1/extensions/das/modules/artifacts/metering-dashboard/capps/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/das/modules/artifacts/metering-dashboard/capps/pom.xml b/extensions/das/modules/artifacts/metering-dashboard/capps/pom.xml
index 105d4b1..dacc1da 100644
--- a/extensions/das/modules/artifacts/metering-dashboard/capps/pom.xml
+++ b/extensions/das/modules/artifacts/metering-dashboard/capps/pom.xml
@@ -37,19 +37,7 @@
 
     <build>
         <plugins>
-            <plugin>
-                <artifactId>maven-clean-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>auto-clean</id>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>clean</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
+             <plugin>
                 <artifactId>maven-antrun-plugin</artifactId>
                 <executions>
                     <execution>

http://git-wip-us.apache.org/repos/asf/stratos/blob/c0200ed1/extensions/das/modules/artifacts/monitoring-dashboard/capps/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/das/modules/artifacts/monitoring-dashboard/capps/pom.xml b/extensions/das/modules/artifacts/monitoring-dashboard/capps/pom.xml
index cdcde5a..18c375e 100644
--- a/extensions/das/modules/artifacts/monitoring-dashboard/capps/pom.xml
+++ b/extensions/das/modules/artifacts/monitoring-dashboard/capps/pom.xml
@@ -38,18 +38,6 @@
     <build>
         <plugins>
             <plugin>
-                <artifactId>maven-clean-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>auto-clean</id>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>clean</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
                 <artifactId>maven-antrun-plugin</artifactId>
                 <executions>
                     <execution>


[06/50] [abbrv] stratos git commit: Increase executor thread pool size to 20 to compensate for event receivers

Posted by ga...@apache.org.
Increase executor thread pool size to 20 to compensate for event receivers


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

Branch: refs/heads/master
Commit: 179120ddc4a46a95bc08fcb3399c895919d6a509
Parents: 87b4471
Author: Akila Perera <ra...@gmail.com>
Authored: Mon Nov 30 00:19:25 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Mon Nov 30 00:33:47 2015 +0530

----------------------------------------------------------------------
 .../cloud/controller/internal/CloudControllerServiceComponent.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/179120dd/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
index 808ac5c..3a0b1e3 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
@@ -75,7 +75,7 @@ public class CloudControllerServiceComponent {
     private static final String CLOUD_CONTROLLER_COORDINATOR_LOCK = "cloud.controller.coordinator.lock";
     private static final String THREAD_POOL_ID = "cloud.controller.thread.pool";
     private static final String SCHEDULER_THREAD_POOL_ID = "cloud.controller.scheduler.thread.pool";
-    private static final int THREAD_POOL_SIZE = 10;
+    private static final int THREAD_POOL_SIZE = 20;
     private static final int SCHEDULER_THREAD_POOL_SIZE = 5;
 
     private ClusterStatusTopicReceiver clusterStatusTopicReceiver;


[22/50] [abbrv] stratos git commit: Fixing the issue of data publishers are created for nodes which has false value set to statsPublisherEnabled in thrift-client-config.xml

Posted by ga...@apache.org.
Fixing the issue of data publishers are created for nodes which has false value set to statsPublisherEnabled in thrift-client-config.xml


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

Branch: refs/heads/master
Commit: f726ea8c22207e7f0ae4c99cc7a622e71f16687d
Parents: 81b72de
Author: Thanuja <th...@wso2.com>
Authored: Mon Nov 30 01:42:30 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Tue Dec 1 08:57:54 2015 +0530

----------------------------------------------------------------------
 .../statistics/publisher/ThriftStatisticsPublisher.java | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/f726ea8c/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
index 95c0478..f86293a 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
@@ -85,11 +85,13 @@ public class ThriftStatisticsPublisher implements StatisticsPublisher {
         ArrayList<ReceiverGroup> receiverGroups = new ArrayList<ReceiverGroup>();
 
         for (ThriftClientInfo thriftClientInfo : thriftClientInfoList) {
-            ArrayList<DataPublisherHolder> dataPublisherHolders = new ArrayList<DataPublisherHolder>();
-            DataPublisherHolder aNode = new DataPublisherHolder(null, buildUrl(thriftClientInfo), thriftClientInfo.getUsername(), thriftClientInfo.getPassword());
-            dataPublisherHolders.add(aNode);
-            ReceiverGroup group = new ReceiverGroup(dataPublisherHolders);
-            receiverGroups.add(group);
+            if (thriftClientInfo.isStatsPublisherEnabled()) {
+                ArrayList<DataPublisherHolder> dataPublisherHolders = new ArrayList<DataPublisherHolder>();
+                DataPublisherHolder aNode = new DataPublisherHolder(null, buildUrl(thriftClientInfo), thriftClientInfo.getUsername(), thriftClientInfo.getPassword());
+                dataPublisherHolders.add(aNode);
+                ReceiverGroup group = new ReceiverGroup(dataPublisherHolders);
+                receiverGroups.add(group);
+            }
         }
         return receiverGroups;
 


[27/50] [abbrv] stratos git commit: Adding ThriftStatisticsPublisherTest and updating ThriftStatisticsPublisher and ThiriftClientConfigParserTest

Posted by ga...@apache.org.
Adding ThriftStatisticsPublisherTest and updating ThriftStatisticsPublisher and ThiriftClientConfigParserTest


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

Branch: refs/heads/master
Commit: 5435bffd21f21aa26a61f6cf3df345af453e20f6
Parents: 85036eb
Author: Thanuja <th...@wso2.com>
Authored: Mon Nov 30 16:12:45 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Tue Dec 1 08:57:55 2015 +0530

----------------------------------------------------------------------
 .../publisher/ThriftStatisticsPublisher.java    | 20 +++---
 .../test/ThriftClientConfigParserTest.java      | 73 +++++++++++---------
 .../test/ThriftStatisticsPublisherTest.java     | 60 ++++++++++++++++
 .../src/test/resources/thrift-client-config.xml | 53 ++++++++------
 4 files changed, 142 insertions(+), 64 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/5435bffd/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
index c26c6d3..bf0db61 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
@@ -43,6 +43,8 @@ public class ThriftStatisticsPublisher implements StatisticsPublisher {
     private LoadBalancingDataPublisher loadBalancingDataPublisher;
     private List<ThriftClientInfo> thriftClientInfoList;
     private boolean enabled = false;
+    private ArrayList<ReceiverGroup> receiverGroups;
+    private ArrayList<DataPublisherHolder> dataPublisherHolders;
 
     /**
      * Credential information stored inside thrift-client-config.xml file
@@ -58,6 +60,8 @@ public class ThriftStatisticsPublisher implements StatisticsPublisher {
 
         if (isPublisherEnabled()) {
             this.enabled = true;
+            receiverGroups = new ArrayList<ReceiverGroup>();
+            dataPublisherHolders = new ArrayList<DataPublisherHolder>();
             init();
         }
     }
@@ -82,23 +86,17 @@ public class ThriftStatisticsPublisher implements StatisticsPublisher {
 
     private ArrayList<ReceiverGroup> getReceiverGroups() {
 
-        ArrayList<ReceiverGroup> receiverGroups = new ArrayList<ReceiverGroup>();
-        ArrayList<DataPublisherHolder> dataPublisherHolders = new ArrayList<DataPublisherHolder>();
-        DataPublisherHolder aNode;
-
         for (ThriftClientInfo thriftClientInfo : thriftClientInfoList) {
             if (thriftClientInfo.isStatsPublisherEnabled()) {
-                aNode = new DataPublisherHolder(null, buildUrl(thriftClientInfo), thriftClientInfo.getUsername(),
-                        thriftClientInfo.getPassword());
-                dataPublisherHolders.add(aNode);
+                dataPublisherHolders.add(new DataPublisherHolder(null, buildUrl(thriftClientInfo), thriftClientInfo.getUsername(),
+                        thriftClientInfo.getPassword()));
                 if (log.isDebugEnabled()) {
                     log.debug(String.format("Thrift client [id] %s [ip] %s [port] %s is added to data publisher holder",
                             thriftClientInfo.getId(), thriftClientInfo.getIp(), thriftClientInfo.getPort()));
                 }
             }
         }
-        ReceiverGroup group = new ReceiverGroup(dataPublisherHolders);
-        receiverGroups.add(group);
+        receiverGroups.add(new ReceiverGroup(dataPublisherHolders));
         return receiverGroups;
 
     }
@@ -107,6 +105,10 @@ public class ThriftStatisticsPublisher implements StatisticsPublisher {
         return String.format("tcp://%s:%s", thriftClientInfo.getIp(), thriftClientInfo.getPort());
     }
 
+    public ArrayList<DataPublisherHolder> getDataPublisherHolders() {
+        return dataPublisherHolders;
+    }
+
     @Override
     public void setEnabled(boolean enabled) {
         this.enabled = enabled;

http://git-wip-us.apache.org/repos/asf/stratos/blob/5435bffd/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftClientConfigParserTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftClientConfigParserTest.java b/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftClientConfigParserTest.java
index ae7e059..26cba9f 100644
--- a/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftClientConfigParserTest.java
+++ b/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftClientConfigParserTest.java
@@ -20,7 +20,6 @@
 package org.apache.stratos.common.test;
 
 import junit.framework.TestCase;
-
 import org.apache.stratos.common.statistics.publisher.ThriftClientConfig;
 import org.apache.stratos.common.statistics.publisher.ThriftClientInfo;
 import org.junit.Test;
@@ -44,48 +43,58 @@ public class ThriftClientConfigParserTest extends TestCase {
         URL configFileUrl = ThriftClientConfigParserTest.class.getResource("/thrift-client-config.xml");
         System.setProperty(ThriftClientConfig.THRIFT_CLIENT_CONFIG_FILE_PATH, configFileUrl.getPath());
         ThriftClientConfig thriftClientConfig = ThriftClientConfig.getInstance();
-        List <ThriftClientInfo> cepList = thriftClientConfig.getThriftClientInfo(
+        List<ThriftClientInfo> cepList = thriftClientConfig.getThriftClientInfo(
                 ThriftClientConfig.CEP_THRIFT_CLIENT_NAME);
-        List <ThriftClientInfo> dasList = thriftClientConfig.getThriftClientInfo(
+        List<ThriftClientInfo> dasList = thriftClientConfig.getThriftClientInfo(
                 ThriftClientConfig.DAS_THRIFT_CLIENT_NAME);
         ThriftClientInfo cepNode1 = null;
         ThriftClientInfo cepNode2 = null;
         ThriftClientInfo dasNode1 = null;
-        
+        ThriftClientInfo dasNode2 = null;
+
         for (ThriftClientInfo cepNodeInfo : cepList) {
-			if(cepNodeInfo.getId().equals("node-01")) {
-				cepNode1 = cepNodeInfo;
-			}else if(cepNodeInfo.getId().equals("node-02")) {
-				cepNode2 = cepNodeInfo;
-			}
-		}
-                
+            if (cepNodeInfo.getId().equals("node-01")) {
+                cepNode1 = cepNodeInfo;
+            } else if (cepNodeInfo.getId().equals("node-02")) {
+                cepNode2 = cepNodeInfo;
+            }
+        }
+
         for (ThriftClientInfo dasNodeInfo : dasList) {
-			if(dasNodeInfo.getId().equals("node-01")) {
-				dasNode1 = dasNodeInfo;
-			}
-		}
+            if (dasNodeInfo.getId().equals("node-01")) {
+                dasNode1 = dasNodeInfo;
+            } else if (dasNodeInfo.getId().equals("node-02")) {
+                dasNode2 = dasNodeInfo;
+            }
+        }
 
         // CEP-node1
-        assertEquals("CEP Stats Publisher not enabled",true,cepNode1.isStatsPublisherEnabled());        
-        assertEquals("Incorrect Username", "admincep1", cepNode1.getUsername());
-        assertEquals("Incorrect Password", "1234cep1", cepNode1.getPassword());
-        assertEquals("Incorrect IP", "192.168.10.10", cepNode1.getIp());
-        assertEquals("Incorrect Port", "9300", cepNode1.getPort());
-        
+        assertEquals("CEP stats publisher is not enabled", true, cepNode1.isStatsPublisherEnabled());
+        assertEquals("Incorrect username", "admincep1", cepNode1.getUsername());
+        assertEquals("Incorrect password", "1234cep1", cepNode1.getPassword());
+        assertEquals("Incorrect ip", "192.168.10.10", cepNode1.getIp());
+        assertEquals("Incorrect port", "9300", cepNode1.getPort());
+
         // CEP-node2
-        assertEquals("CEP Stats Publisher not enabled",true,cepNode2.isStatsPublisherEnabled());        
-        assertEquals("Incorrect Username", "admincep2", cepNode2.getUsername());
-        assertEquals("Incorrect Password", "1234cep2", cepNode2.getPassword());
-        assertEquals("Incorrect IP", "192.168.10.20", cepNode2.getIp());
-        assertEquals("Incorrect Port", "9300", cepNode2.getPort());
+        assertEquals("CEP stats publisher is not enabled", true, cepNode2.isStatsPublisherEnabled());
+        assertEquals("Incorrect username", "admincep2", cepNode2.getUsername());
+        assertEquals("Incorrect password", "1234cep2", cepNode2.getPassword());
+        assertEquals("Incorrect ip", "192.168.10.20", cepNode2.getIp());
+        assertEquals("Incorrect port", "9300", cepNode2.getPort());
 
         // DAS node 1
-        assertEquals("DAS Stats Publisher not enabled",true, dasNode1.isStatsPublisherEnabled());
-        assertEquals("Incorrect Username", "admindas1", dasNode1.getUsername());
-        assertEquals("Incorrect Password", "1234das1", dasNode1.getPassword());
-        assertEquals("Incorrect IP", "192.168.10.11", dasNode1.getIp());
-        assertEquals("Incorrect Port", "9301", dasNode1.getPort());
-       
+        assertEquals("DAS stats publisher is not enabled", true, dasNode1.isStatsPublisherEnabled());
+        assertEquals("Incorrect username", "admindas1", dasNode1.getUsername());
+        assertEquals("Incorrect password", "1234das1", dasNode1.getPassword());
+        assertEquals("Incorrect ip", "192.168.10.11", dasNode1.getIp());
+        assertEquals("Incorrect port", "9301", dasNode1.getPort());
+
+        // DAS node 2
+        assertEquals("DAS stats publisher is enabled", false, dasNode2.isStatsPublisherEnabled());
+        assertEquals("Incorrect username", "admindas2", dasNode2.getUsername());
+        assertEquals("Incorrect password", "1234das2", dasNode2.getPassword());
+        assertEquals("Incorrect ip", "192.168.10.21", dasNode2.getIp());
+        assertEquals("Incorrect port", "9301", dasNode2.getPort());
+
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/5435bffd/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftStatisticsPublisherTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftStatisticsPublisherTest.java b/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftStatisticsPublisherTest.java
new file mode 100644
index 0000000..43cd4c1
--- /dev/null
+++ b/components/org.apache.stratos.common/src/test/java/org/apache/stratos/common/test/ThriftStatisticsPublisherTest.java
@@ -0,0 +1,60 @@
+/*
+* 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.
+*/
+
+package org.apache.stratos.common.test;
+
+import org.apache.stratos.common.statistics.publisher.ThriftClientConfig;
+import org.apache.stratos.common.statistics.publisher.ThriftStatisticsPublisher;
+import org.junit.Test;
+import org.wso2.carbon.databridge.commons.StreamDefinition;
+
+import java.net.URL;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * ThriftStatisticsPublisherTest
+ */
+public class ThriftStatisticsPublisherTest {
+    /**
+     * Checking whether LoadBalancingDataPublisher is created for cep and das according to thrift-client-config.xml
+     *
+     * @throws Exception
+     */
+    @Test
+    public void createLoadBalancingDataPublisher() throws Exception {
+        URL configFileUrl = ThriftClientConfigParserTest.class.getResource("/thrift-client-config.xml");
+        System.setProperty(ThriftClientConfig.THRIFT_CLIENT_CONFIG_FILE_PATH, configFileUrl.getPath());
+
+        StreamDefinition streamDefinition = new StreamDefinition("Test", "1.0.0");
+
+        ThriftStatisticsPublisher thriftStatisticsPublisher = new ThriftStatisticsPublisher(streamDefinition,
+                ThriftClientConfig.CEP_THRIFT_CLIENT_NAME);
+        assertEquals("CEP stats publisher is not enabled", true, thriftStatisticsPublisher.isEnabled());
+        assertEquals("No of CEP nodes enabled for stats publishing is not equal to two", 2,
+                thriftStatisticsPublisher.getDataPublisherHolders().size());
+
+        thriftStatisticsPublisher = new ThriftStatisticsPublisher(streamDefinition,
+                ThriftClientConfig.DAS_THRIFT_CLIENT_NAME);
+        assertEquals("DAS stats publisher is not enabled", true, thriftStatisticsPublisher.isEnabled());
+        assertEquals("More than one DAS node is enabled for stats publishing", 1,
+                thriftStatisticsPublisher.getDataPublisherHolders().size());
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5435bffd/components/org.apache.stratos.common/src/test/resources/thrift-client-config.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/test/resources/thrift-client-config.xml b/components/org.apache.stratos.common/src/test/resources/thrift-client-config.xml
index f828e0d..0d46ae6 100644
--- a/components/org.apache.stratos.common/src/test/resources/thrift-client-config.xml
+++ b/components/org.apache.stratos.common/src/test/resources/thrift-client-config.xml
@@ -20,31 +20,38 @@
 
 <!-- Apache thrift client configuration for publishing statistics to WSO2 CEP and WSO2 DAS -->
 <thriftClientConfiguration>
-     <config>
+    <config>
         <cep>
-             <node id="node-01">
-                  <statsPublisherEnabled>true</statsPublisherEnabled>
-                  <username>admincep1</username>
-                  <password>1234cep1</password>
-                  <ip>192.168.10.10</ip>
-                  <port>9300</port>
-             </node>
-             <node id="node-02">
-                  <statsPublisherEnabled>true</statsPublisherEnabled>
-                  <username>admincep2</username>
-                  <password>1234cep2</password>
-                  <ip>192.168.10.20</ip>
-                  <port>9300</port>
-             </node>
+            <node id="node-01">
+                <statsPublisherEnabled>true</statsPublisherEnabled>
+                <username>admincep1</username>
+                <password>1234cep1</password>
+                <ip>192.168.10.10</ip>
+                <port>9300</port>
+            </node>
+            <node id="node-02">
+                <statsPublisherEnabled>true</statsPublisherEnabled>
+                <username>admincep2</username>
+                <password>1234cep2</password>
+                <ip>192.168.10.20</ip>
+                <port>9300</port>
+            </node>
         </cep>
         <das>
-             <node id="node-01">
-                  <statsPublisherEnabled>true</statsPublisherEnabled>
-                  <username>admindas1</username>
-                  <password>1234das1</password>
-                  <ip>192.168.10.11</ip>
-                  <port>9301</port>
-             </node>
+            <node id="node-01">
+                <statsPublisherEnabled>true</statsPublisherEnabled>
+                <username>admindas1</username>
+                <password>1234das1</password>
+                <ip>192.168.10.11</ip>
+                <port>9301</port>
+            </node>
+            <node id="node-02">
+                <statsPublisherEnabled>false</statsPublisherEnabled>
+                <username>admindas2</username>
+                <password>1234das2</password>
+                <ip>192.168.10.21</ip>
+                <port>9301</port>
+            </node>
         </das>
-    </config>  
+    </config>
 </thriftClientConfiguration>
\ No newline at end of file


[38/50] [abbrv] stratos git commit: Changing cep and das distibution name

Posted by ga...@apache.org.
Changing cep and das distibution name


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

Branch: refs/heads/master
Commit: 13c613e4646beccdf0a465ee4d567bc18bda672e
Parents: a6665bb
Author: Thanuja <th...@wso2.com>
Authored: Sun Dec 6 14:14:09 2015 +0530
Committer: Thanuja <th...@wso2.com>
Committed: Sun Dec 6 14:14:09 2015 +0530

----------------------------------------------------------------------
 extensions/cep/modules/distribution/pom.xml | 6 +++---
 extensions/das/modules/distribution/pom.xml | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/13c613e4/extensions/cep/modules/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/cep/modules/distribution/pom.xml b/extensions/cep/modules/distribution/pom.xml
index 5c4364e..b1266f9 100644
--- a/extensions/cep/modules/distribution/pom.xml
+++ b/extensions/cep/modules/distribution/pom.xml
@@ -27,10 +27,10 @@
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
-    <artifactId>apache-stratos-cep-artifacts</artifactId>
+    <artifactId>apache-stratos-cep-extension</artifactId>
     <packaging>pom</packaging>
-    <name>Apache Stratos - CEP Artifacts</name>
-    <description>Apache Stratos CEP artifacts</description>
+    <name>Apache Stratos - CEP Extension</name>
+    <description>Apache Stratos CEP Extension</description>
 
     <profiles>
         <profile>

http://git-wip-us.apache.org/repos/asf/stratos/blob/13c613e4/extensions/das/modules/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/das/modules/distribution/pom.xml b/extensions/das/modules/distribution/pom.xml
index cea5a28..43e6b8a 100644
--- a/extensions/das/modules/distribution/pom.xml
+++ b/extensions/das/modules/distribution/pom.xml
@@ -27,10 +27,10 @@
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
-    <artifactId>apache-stratos-das-artifacts</artifactId>
+    <artifactId>apache-stratos-das-extension</artifactId>
     <packaging>pom</packaging>
-    <name>Apache Stratos - DAS Artifacts</name>
-    <description>Apache Stratos DAS Artifacts</description>
+    <name>Apache Stratos - DAS Extension</name>
+    <description>Apache Stratos DAS Extension</description>
 
     <profiles>
         <profile>


[07/50] [abbrv] stratos git commit: Set parallel false at suite level in testng configuration file

Posted by ga...@apache.org.
Set parallel false at suite level in testng configuration file


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

Branch: refs/heads/master
Commit: e9bef7da5fcd7cf8cde2335904b3b5188bf05f6c
Parents: 9700dec
Author: Akila Perera <ra...@gmail.com>
Authored: Mon Nov 30 00:29:47 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Mon Nov 30 00:33:48 2015 +0530

----------------------------------------------------------------------
 .../test-integration/src/test/resources/test-suite-all.xml       | 4 ++--
 .../test-integration/src/test/resources/test-suite-smoke.xml     | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/e9bef7da/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-all.xml
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-all.xml b/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-all.xml
index be687f2..5a73f7c 100644
--- a/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-all.xml
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-all.xml
@@ -20,7 +20,7 @@
 
 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
 
-<suite name="StratosIntegrationSuite">
+<suite name="StratosIntegrationSuite" parallel="false">
     <listeners>
         <listener class-name="org.wso2.carbon.automation.engine.testlisteners.TestExecutionListener"/>
         <listener class-name="org.wso2.carbon.automation.engine.testlisteners.TestSuiteListener"/>
@@ -41,4 +41,4 @@
             <package name="org.apache.stratos.integration.tests.*"/>
         </packages>
     </test>
-</suite>
\ No newline at end of file
+</suite>

http://git-wip-us.apache.org/repos/asf/stratos/blob/e9bef7da/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-smoke.xml
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-smoke.xml b/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-smoke.xml
index 0f388d7..0e2fbf0 100644
--- a/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-smoke.xml
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/test-suite-smoke.xml
@@ -20,7 +20,7 @@
 
 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
 
-<suite name="StratosIntegrationSuite">
+<suite name="StratosIntegrationSuite" parallel="false">
     <listeners>
         <listener class-name="org.wso2.carbon.automation.engine.testlisteners.TestExecutionListener"/>
         <listener class-name="org.wso2.carbon.automation.engine.testlisteners.TestSuiteListener"/>


[13/50] [abbrv] stratos git commit: PCA - STRATOS-1634 and STRATOS-1635 - Log displays passworded git URL, PCA doesn't validate app_path

Posted by ga...@apache.org.
PCA  - STRATOS-1634 and STRATOS-1635 - Log displays passworded git URL, PCA doesn't validate app_path


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

Branch: refs/heads/master
Commit: 6aa4ab012e0474940c8529745baba04d1b0c9120
Parents: e21fb5a
Author: Chamila de Alwis <ch...@apache.org>
Authored: Mon Nov 30 12:33:57 2015 +0530
Committer: Chamila de Alwis <ch...@apache.org>
Committed: Mon Nov 30 12:33:57 2015 +0530

----------------------------------------------------------------------
 .../modules/artifactmgt/git/agentgithandler.py  |   7 +-
 .../modules/event/eventhandler.py               |  12 ++
 .../modules/util/cartridgeagentutils.py         |   4 +-
 .../plugins/DefaultArtifactCheckout.py          |   4 +-
 .../tests/ADCValidationTestCase.java            | 176 +++++++++++++++++++
 .../resources/ADCValidationTestCase/agent.conf  |  46 +++++
 .../resources/ADCValidationTestCase/logging.ini |  52 ++++++
 .../ADCValidationTestCase/payload/launch-params |   1 +
 8 files changed, 296 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/6aa4ab01/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
index c283011..2170a33 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
@@ -152,7 +152,7 @@ class AgentGitHandler:
             # clone the repo to a temporary location first to avoid conflicts
             AgentGitHandler.log.debug(
                 "Cloning artifacts from URL: %s to temp location: %s" % (git_repo.repo_url, temp_repo_path))
-            Repo.clone_from(git_repo.repo_url, temp_repo_path)
+            Repo.clone_from(git_repo.auth_url, temp_repo_path)
 
             # move the cloned dir to application path
             copy_tree(temp_repo_path, git_repo.local_repo_path)
@@ -216,7 +216,8 @@ class AgentGitHandler:
         git_repo = GitRepository()
         git_repo.tenant_id = repo_info.tenant_id
         git_repo.local_repo_path = repo_info.repo_path
-        git_repo.repo_url = AgentGitHandler.create_auth_url(repo_info)
+        git_repo.repo_url = repo_info.repo_url
+        git_repo.auth_url = AgentGitHandler.create_auth_url(repo_info)
         git_repo.repo_username = repo_info.repo_username
         git_repo.repo_password = repo_info.repo_password
         git_repo.commit_enabled = repo_info.commit_enabled
@@ -378,6 +379,8 @@ class GitRepository:
     def __init__(self):
         self.repo_url = None
         """ :type : str  """
+        self.auth_url = None
+        """ :type : str """
         self.local_repo_path = None
         """ :type : str  """
         self.cloned = False

http://git-wip-us.apache.org/repos/asf/stratos/blob/6aa4ab01/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
index 85624ae..6e2aa4f 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
@@ -90,6 +90,11 @@ class EventHandler:
             self.__log.error("Repository path is empty. Failed to process artifact updated event.")
             return
 
+        if not EventHandler.validate_repo_path(Config.app_path):
+            self.__log.error(
+                "Repository path cannot be accessed, or is invalid. Failed to process artifact updated event.")
+            return
+
         repo_username = artifacts_updated_event.repo_username
         tenant_id = artifacts_updated_event.tenant_id
         is_multitenant = Config.is_multiTenant
@@ -633,6 +638,13 @@ class EventHandler:
 
         return tenant.tenant_domain
 
+    @staticmethod
+    def validate_repo_path(app_path):
+        # app path would be ex: /var/www, or /opt/server/data
+        return os.access(app_path, os.W_OK)
+
+
+
 
 class PluginExecutor(Thread):
     """ Executes a given plugin on a separate thread, passing the given dictionary of values to the plugin entry method

http://git-wip-us.apache.org/repos/asf/stratos/blob/6aa4ab01/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
index ebd6889..79bc6c5 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
@@ -59,8 +59,8 @@ def decrypt_password(pass_str, secret):
 
     # remove nonprintable characters that are padded in the decrypted password
     dec_pass = filter(lambda x: x in string.printable, dec_pass)
-    dec_pass_md5 = hashlib.md5(dec_pass.encode('utf-8')).hexdigest()
-    log.debug("Decrypted password md5sum: [%r]" % dec_pass_md5)
+    # dec_pass_md5 = hashlib.md5(dec_pass.encode('utf-8')).hexdigest()
+    # log.debug("Decrypted password md5sum: [%r]" % dec_pass_md5)
     return dec_pass
 
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/6aa4ab01/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
index c25d0e8..27cf99c 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
@@ -72,8 +72,8 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
                 self.log.debug("Executing git pull: [tenant-id] %s [repo-url] %s",
                                git_repo.tenant_id, git_repo.repo_url)
                 updated = AgentGitHandler.pull(git_repo)
-                self.log.debug("Git pull executed: [tenant-id] %s [repo-url] %s",
-                               git_repo.tenant_id, git_repo.repo_url)
+                self.log.debug("Git pull executed: [tenant-id] %s [repo-url] %s [SUCCESS] %s",
+                               git_repo.tenant_id, git_repo.repo_url, updated)
             else:
                 # not a valid repository, might've been corrupted. do a re-clone
                 self.log.debug("Local repository is not valid. Doing a re-clone to purify.")

http://git-wip-us.apache.org/repos/asf/stratos/blob/6aa4ab01/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java
new file mode 100644
index 0000000..5148992
--- /dev/null
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java
@@ -0,0 +1,176 @@
+/*
+ * 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.
+ */
+
+package org.apache.stratos.python.cartridge.agent.integration.tests;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.common.domain.LoadBalancingIPType;
+import org.apache.stratos.messaging.domain.topology.*;
+import org.apache.stratos.messaging.event.instance.notifier.ArtifactUpdatedEvent;
+import org.apache.stratos.messaging.event.topology.CompleteTopologyEvent;
+import org.apache.stratos.messaging.event.topology.MemberInitializedEvent;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * Test validation for application path input on the PCA
+ */
+public class ADCValidationTestCase extends PythonAgentIntegrationTest {
+    private static final int ADC_TEST_TIMEOUT = 300000;
+    private final Log log = LogFactory.getLog(ADCValidationTestCase.class);
+//    private final String INVALID_APP_PATH = "ddd/ffs/ss";
+    private static final String CLUSTER_ID = "tomcat.domain";
+    private static final String DEPLOYMENT_POLICY_NAME = "deployment-policy-2";
+    private static final String AUTOSCALING_POLICY_NAME = "autoscaling-policy-2";
+    private static final String APP_ID = "application-2";
+    private static final String MEMBER_ID = "tomcat.member-1";
+    private static final String INSTANCE_ID = "instance-1";
+    private static final String CLUSTER_INSTANCE_ID = "cluster-1-instance-1";
+    private static final String NETWORK_PARTITION_ID = "network-partition-1";
+    private static final String PARTITION_ID = "partition-1";
+    private static final String TENANT_ID = "-1234";
+    private static final String SERVICE_NAME = "tomcat";
+
+    private boolean logDetected = false;
+
+    public ADCValidationTestCase() throws IOException {
+    }
+
+    @BeforeMethod(alwaysRun = true)
+    public void setUp() throws Exception {
+        log.info("Setting up ADCTestCase");
+        // Set jndi.properties.dir system property for initializing event publishers and receivers
+        System.setProperty("jndi.properties.dir", getCommonResourcesPath());
+
+        super.setup(ADC_TEST_TIMEOUT);
+        startServerSocket(8080);
+
+    }
+
+    @AfterMethod(alwaysRun = true)
+    public void tearDownADC(){
+        tearDown();
+    }
+
+    @Test(timeOut = ADC_TEST_TIMEOUT, groups = {"adddddd"})
+    public void testAppPathValidation(){
+        log.info("Testing app path validation for ADC");
+        startCommunicatorThread();
+
+        Thread startupTestThread = new Thread(new Runnable() {
+            @Override
+            public void run() {
+                while (!eventReceiverInitialized) {
+                    sleep(1000);
+                }
+                List<String> outputLines = new ArrayList<>();
+                while (!outputStream.isClosed()) {
+                    List<String> newLines = getNewLines(outputLines, outputStream.toString());
+                    if (newLines.size() > 0) {
+                        for (String line : newLines) {
+                            if (line.contains("Subscribed to 'topology/#'")) {
+                                sleep(2000);
+                                // Send complete topology event
+                                log.info("Publishing complete topology event...");
+                                Topology topology = createTestTopology();
+                                CompleteTopologyEvent completeTopologyEvent = new CompleteTopologyEvent(topology);
+                                publishEvent(completeTopologyEvent);
+                                log.info("Complete topology event published");
+
+                                // Publish member initialized event
+                                log.info("Publishing member initialized event...");
+                                MemberInitializedEvent memberInitializedEvent = new MemberInitializedEvent(SERVICE_NAME,
+                                        CLUSTER_ID, CLUSTER_INSTANCE_ID, MEMBER_ID, NETWORK_PARTITION_ID, PARTITION_ID,
+                                        INSTANCE_ID);
+                                publishEvent(memberInitializedEvent);
+                                log.info("Member initialized event published");
+                            }
+
+                            // Send artifact updated event to activate the instance first
+                            if (line.contains("Artifact repository found")) {
+                                publishEvent(getArtifactUpdatedEventForPrivateRepo());
+                                log.info("Artifact updated event published");
+                            }
+
+                            if (line.contains("Repository path cannot be accessed, or is invalid.")){
+                                logDetected = true;
+                                log.info("PCA Event handler failed validation for an invalid app path.");
+                            }
+                        }
+                    }
+                    sleep(1000);
+                }
+            }
+        });
+        startupTestThread.start();
+
+        while (!logDetected) {
+            sleep(1000);
+        }
+    }
+
+    public static ArtifactUpdatedEvent getArtifactUpdatedEventForPrivateRepo() {
+        ArtifactUpdatedEvent privateRepoEvent = createTestArtifactUpdatedEvent();
+        privateRepoEvent.setRepoURL("https://bitbucket.org/testapache2211/testrepo.git");
+        privateRepoEvent.setRepoUserName("testapache2211");
+        privateRepoEvent.setRepoPassword("+to2qVW16jzy+Xb/zuafQQ==");
+        return privateRepoEvent;
+    }
+
+    private static ArtifactUpdatedEvent createTestArtifactUpdatedEvent() {
+        ArtifactUpdatedEvent artifactUpdatedEvent = new ArtifactUpdatedEvent();
+        artifactUpdatedEvent.setClusterId(CLUSTER_ID);
+        artifactUpdatedEvent.setTenantId(TENANT_ID);
+        return artifactUpdatedEvent;
+    }
+
+    /**
+     * Create test topology
+     *
+     * @return Topology object with mock information
+     */
+    private Topology createTestTopology() {
+        Topology topology = new Topology();
+        Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant);
+        topology.addService(service);
+
+        Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME,
+                AUTOSCALING_POLICY_NAME, APP_ID);
+        service.addCluster(cluster);
+
+        Member member = new Member(service.getServiceName(), cluster.getClusterId(), MEMBER_ID, CLUSTER_INSTANCE_ID,
+                NETWORK_PARTITION_ID, PARTITION_ID, LoadBalancingIPType.Private, System.currentTimeMillis());
+
+        member.setDefaultPrivateIP("10.0.0.1");
+        member.setDefaultPublicIP("20.0.0.1");
+        Properties properties = new Properties();
+        properties.setProperty("prop1", "value1");
+        member.setProperties(properties);
+        member.setStatus(MemberStatus.Created);
+        cluster.addMember(member);
+        return topology;
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/6aa4ab01/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/agent.conf
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/agent.conf b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/agent.conf
new file mode 100755
index 0000000..d8363e7
--- /dev/null
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/agent.conf
@@ -0,0 +1,46 @@
+# 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.
+
+[agent]
+mb.urls                               =localhost:1885
+mb.username                           =system
+mb.password                           =manager
+mb.publisher.timeout                  =900
+listen.address                        =localhost
+thrift.receiver.urls                  =localhost:7712
+thrift.server.admin.username          =admin
+thrift.server.admin.password          =admin
+cep.stats.publisher.enabled           =true
+lb.private.ip                         =
+lb.public.ip                          =
+enable.artifact.update                =true
+auto.commit                           =true
+auto.checkout                         =true
+artifact.update.interval              =15
+artifact.clone.retries                =5
+artifact.clone.interval               =10
+port.check.timeout                    =600000
+enable.data.publisher                 =false
+monitoring.server.ip                  =localhost
+monitoring.server.port                =7612
+monitoring.server.secure.port         =7712
+monitoring.server.admin.username      =admin
+monitoring.server.admin.password      =admin
+log.file.paths                        =/tmp/agent.screen-adc-test.log
+metadata.service.url                  =https://localhost:9443
+super.tenant.repository.path          =/repository/deployment/server/
+tenant.repository.path                =/repository/tenants/

http://git-wip-us.apache.org/repos/asf/stratos/blob/6aa4ab01/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/logging.ini
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/logging.ini b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/logging.ini
new file mode 100755
index 0000000..15cad9b
--- /dev/null
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/logging.ini
@@ -0,0 +1,52 @@
+# 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.
+
+
+[formatters]
+keys=default
+
+[formatter_default]
+format=[%(asctime)s] %(levelname)s {%(filename)s:%(funcName)s} - %(message)s
+class=logging.Formatter
+
+[handlers]
+keys=console, error_file, log_file
+
+[handler_console]
+class=logging.StreamHandler
+formatter=default
+args=tuple()
+
+[handler_log_file]
+class=logging.FileHandler
+level=DEBUG
+formatter=default
+args=("agent.log", "w")
+
+[handler_error_file]
+class=logging.FileHandler
+level=ERROR
+formatter=default
+args=("error.log", "w")
+
+[loggers]
+keys=root
+
+[logger_root]
+level=DEBUG
+formatter=default
+handlers=console,error_file,log_file
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/6aa4ab01/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/payload/launch-params
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/payload/launch-params b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/payload/launch-params
new file mode 100755
index 0000000..375ff6a
--- /dev/null
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/ADCValidationTestCase/payload/launch-params
@@ -0,0 +1 @@
+APPLICATION_ID=application1,SERVICE_NAME=tomcat,HOST_NAME=tomcat.stratos.org,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=tomcat,CLUSTER_ID=tomcat.domain,CLUSTER_INSTANCE_ID=cluster-1-instance-1,CARTRIDGE_KEY=PUjpXCLujDhYr5A6,DEPLOYMENT=default,REPO_URL=https://github.com/imesh/stratos-php-applications.git,PORTS=8080,PUPPET_IP=127.0.0.1,PUPPET_HOSTNAME=puppet.apache.stratos.org,PUPPET_ENV=false,MEMBER_ID=tomcat.member-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=network-p1,PARTITION_ID=p1,APPLICATION_PATH=ddd/ffs/ss,MIN_COUNT=1,INTERNAL=false,CLUSTERING_PRIMARY_KEY=A,LOG_FILE_PATHS=/tmp/temp.log,PERSISTENCE_MAPPING=null
\ No newline at end of file


[48/50] [abbrv] stratos git commit: Rebase the stratos 4.1.x branch

Posted by ga...@apache.org.
http://git-wip-us.apache.org/repos/asf/stratos/blob/9d778a5e/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
index 33a38ed..8f086ac 100644
--- a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
+++ b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
@@ -1,364 +1,380 @@
-<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://impl.services.controller.cloud.stratos.apache.org" xmlns:ax27="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax23="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax24="http://common.stratos.apache.org/xsd" xmlns:ax21="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax212="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax210="http://domain.common.stratos.apache.org/xsd" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
+<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://impl.services.controller.cloud.stratos.apache.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax240="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax236="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ax237="http://common.stratos.apache.org/xsd" xmlns:ax234="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:ax245="http://domain.common.stratos.apache.org/xsd" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ax243="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
     <wsdl:types>
-        <xs:schema xmlns:ax29="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax213="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:ax26="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax22="http://exception.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
+        <xs:schema xmlns:ax239="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax235="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:ax242="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax244="http://topology.domain.messaging.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
             <xs:import namespace="http://exception.controller.cloud.stratos.apache.org/xsd"/>
             <xs:import namespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"/>
             <xs:import namespace="http://domain.controller.cloud.stratos.apache.org/xsd"/>
             <xs:import namespace="http://topology.domain.messaging.stratos.apache.org/xsd"/>
-            <xs:element name="CloudControllerServiceNonExistingKubernetesClusterException">
+            <xs:element name="CloudControllerServiceInvalidKubernetesMasterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="NonExistingKubernetesClusterException" nillable="true" type="ax21:NonExistingKubernetesClusterException"/>
+                        <xs:element minOccurs="0" name="InvalidKubernetesMasterException" nillable="true" type="ax234:InvalidKubernetesMasterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getKubernetesCluster">
+            <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="NonExistingKubernetesMasterException" nillable="true" type="ax234:NonExistingKubernetesMasterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getKubernetesClusterResponse">
+            <xs:element name="updateKubernetesMaster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:KubernetesCluster"/>
+                        <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax236:KubernetesMaster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidMemberException">
+            <xs:element name="updateKubernetesMasterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax21:InvalidMemberException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidCartridgeTypeException">
+            <xs:element name="CloudControllerServiceInvalidKubernetesHostException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/>
+                        <xs:element minOccurs="0" name="InvalidKubernetesHostException" nillable="true" type="ax234:InvalidKubernetesHostException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceCloudControllerException">
+            <xs:element name="CloudControllerServiceNonExistingKubernetesHostException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CloudControllerException" nillable="true" type="ax21:CloudControllerException"/>
+                        <xs:element minOccurs="0" name="NonExistingKubernetesHostException" nillable="true" type="ax234:NonExistingKubernetesHostException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstance">
+            <xs:element name="updateKubernetesHost">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax236:KubernetesHost"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstanceResponse">
+            <xs:element name="updateKubernetesHostResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceCartridgeNotFoundException">
+            <xs:element name="CloudControllerServiceNetworkPartitionAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax21:CartridgeNotFoundException"/>
+                        <xs:element minOccurs="0" name="NetworkPartitionAlreadyExistsException" nillable="true" type="ax234:NetworkPartitionAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridge">
+            <xs:element name="CloudControllerServiceInvalidNetworkPartitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="InvalidNetworkPartitionException" nillable="true" type="ax234:InvalidNetworkPartitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgeResponse">
+            <xs:element name="addNetworkPartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:Cartridge"/>
+                        <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax240:NetworkPartition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getClusterContext">
+            <xs:element name="addNetworkPartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getClusterContextResponse">
+            <xs:element name="CloudControllerServiceNetworkPartitionNotExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:ClusterContext"/>
+                        <xs:element minOccurs="0" name="NetworkPartitionNotExistsException" nillable="true" type="ax234:NetworkPartitionNotExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridges">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getCartridgesResponse">
+            <xs:element name="removeNetworkPartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidIaasProviderException">
+            <xs:element name="removeNetworkPartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax21:InvalidIaasProviderException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstance">
+            <xs:element name="updateNetworkPartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="instanceContext" nillable="true" type="ax29:InstanceContext"/>
+                        <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax240:NetworkPartition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstanceResponse">
+            <xs:element name="updateNetworkPartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:MemberContext"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getIaasProviders">
+            <xs:element name="getNetworkPartitions">
                 <xs:complexType>
                     <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getIaasProvidersResponse">
+            <xs:element name="getNetworkPartitionsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax240:NetworkPartition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException">
+            <xs:element name="getNetworkPartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax21:InvalidCartridgeDefinitionException"/>
+                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceCartridgeAlreadyExistsException">
+            <xs:element name="getNetworkPartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CartridgeAlreadyExistsException" nillable="true" type="ax21:CartridgeAlreadyExistsException"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax240:NetworkPartition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addCartridge">
+            <xs:element name="updateClusterStatus">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax29:Cartridge"/>
+                        <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="status" nillable="true" type="ax244:ClusterStatus"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addCartridgeResponse">
+            <xs:element name="updateClusterStatusResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceCartridgeDefinitionNotExistsException">
+            <xs:element name="CloudControllerServiceApplicationClusterRegistrationException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CartridgeDefinitionNotExistsException" nillable="true" type="ax21:CartridgeDefinitionNotExistsException"/>
+                        <xs:element minOccurs="0" name="ApplicationClusterRegistrationException" nillable="true" type="ax234:ApplicationClusterRegistrationException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateCartridge">
+            <xs:element name="createApplicationClusters">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridge" nillable="true" type="ax29:Cartridge"/>
+                        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="appClustersContexts" nillable="true" type="ax240:ApplicationClusterContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateCartridgeResponse">
+            <xs:element name="createApplicationClustersResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeCartridge">
+            <xs:element name="CloudControllerServiceCartridgeNotFoundException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax234:CartridgeNotFoundException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeCartridgeResponse">
+            <xs:element name="CloudControllerServiceInvalidIaasProviderException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax234:InvalidIaasProviderException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidServiceGroupException">
+            <xs:element name="CloudControllerServiceCloudControllerException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax21:InvalidServiceGroupException"/>
+                        <xs:element minOccurs="0" name="CloudControllerException" nillable="true" type="ax234:CloudControllerException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addServiceGroup">
+            <xs:element name="startInstance">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax29:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="instanceContext" nillable="true" type="ax240:InstanceContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addServiceGroupResponse">
+            <xs:element name="startInstanceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax240:MemberContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidPartitionException">
+            <xs:element name="CloudControllerServiceInvalidClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidPartitionException" nillable="true" type="ax21:InvalidPartitionException"/>
+                        <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax234:InvalidClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validatePartition">
+            <xs:element name="terminateInstances">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="partition" nillable="true" type="ax29:Partition"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validatePartitionResponse">
+            <xs:element name="terminateInstancesResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeServiceGroup">
+            <xs:element name="CloudControllerServiceUnregisteredClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="UnregisteredClusterException" nillable="true" type="ax234:UnregisteredClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeServiceGroupResponse">
+            <xs:element name="unregisterService">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="unregisterServiceResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroup">
+            <xs:element name="getCartridge">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupResponse">
+            <xs:element name="getCartridgeResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax240:Cartridge"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupSubGroups">
+            <xs:element name="CloudControllerServiceClusterInstanceCreationException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="ClusterInstanceCreationException" nillable="true" type="ax234:ClusterInstanceCreationException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupSubGroupsResponse">
+            <xs:element name="createClusterInstance">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="serviceType" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="partitionId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupCartridges">
+            <xs:element name="createClusterInstanceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupCartridgesResponse">
+            <xs:element name="getKubernetesClusters">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getKubernetesClustersResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax236:KubernetesCluster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupDependencies">
+            <xs:element name="CloudControllerServiceNonExistingKubernetesClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="NonExistingKubernetesClusterException" nillable="true" type="ax234:NonExistingKubernetesClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupDependenciesResponse">
+            <xs:element name="getMasterForKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:Dependencies"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstances">
+            <xs:element name="getMasterForKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="instanceContexts" nillable="true" type="ax29:InstanceContext"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax236:KubernetesMaster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstancesResponse">
+            <xs:element name="getHostsForKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:MemberContext"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstanceForcefully">
+            <xs:element name="getHostsForKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax236:KubernetesHost"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstanceForcefullyResponse">
+            <xs:element name="CloudControllerServiceInvalidKubernetesClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="InvalidKubernetesClusterException" nillable="true" type="ax234:InvalidKubernetesClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidClusterException">
+            <xs:element name="CloudControllerServiceKubernetesClusterAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax21:InvalidClusterException"/>
+                        <xs:element minOccurs="0" name="KubernetesClusterAlreadyExistsException" nillable="true" type="ax234:KubernetesClusterAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstances">
+            <xs:element name="addKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="kubernetesCluster" nillable="true" type="ax236:KubernetesCluster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstancesResponse">
+            <xs:element name="addKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
@@ -368,7 +384,7 @@
             <xs:element name="registerService">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="registrant" nillable="true" type="ax29:Registrant"/>
+                        <xs:element minOccurs="0" name="registrant" nillable="true" type="ax240:Registrant"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -379,381 +395,365 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceUnregisteredClusterException">
+            <xs:element name="updateKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="UnregisteredClusterException" nillable="true" type="ax21:UnregisteredClusterException"/>
+                        <xs:element minOccurs="0" name="kubernetesCluster" nillable="true" type="ax236:KubernetesCluster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="unregisterService">
+            <xs:element name="updateKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="unregisterServiceResponse">
+            <xs:element name="CloudControllerServiceInvalidServiceGroupException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax234:InvalidServiceGroupException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validateDeploymentPolicyNetworkPartition">
+            <xs:element name="removeServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validateDeploymentPolicyNetworkPartitionResponse">
+            <xs:element name="removeServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterStatus">
+            <xs:element name="getServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="status" nillable="true" type="ax212:ClusterStatus"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterStatusResponse">
+            <xs:element name="getServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax240:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceApplicationClusterRegistrationException">
+            <xs:element name="CloudControllerServiceInvalidCartridgeTypeException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicationClusterRegistrationException" nillable="true" type="ax21:ApplicationClusterRegistrationException"/>
+                        <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax234:InvalidCartridgeTypeException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="createApplicationClusters">
+            <xs:element name="removeCartridge">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="appClustersContexts" nillable="true" type="ax29:ApplicationClusterContext"/>
+                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="createApplicationClustersResponse">
+            <xs:element name="removeCartridgeResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceClusterInstanceCreationException">
+            <xs:element name="getServiceGroupSubGroups">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ClusterInstanceCreationException" nillable="true" type="ax21:ClusterInstanceCreationException"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="createClusterInstance">
+            <xs:element name="getServiceGroupSubGroupsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="serviceType" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="partitionId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="createClusterInstanceResponse">
+            <xs:element name="getServiceGroupCartridges">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getKubernetesClusters">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getKubernetesClustersResponse">
+            <xs:element name="getServiceGroupCartridgesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:KubernetesCluster"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getMasterForKubernetesCluster">
+            <xs:element name="getServiceGroupDependencies">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getMasterForKubernetesClusterResponse">
+            <xs:element name="getServiceGroupDependenciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:KubernetesMaster"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax240:Dependencies"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getHostsForKubernetesCluster">
+            <xs:element name="startInstances">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="instanceContexts" nillable="true" type="ax240:InstanceContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getHostsForKubernetesClusterResponse">
+            <xs:element name="startInstancesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:KubernetesHost"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax240:MemberContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidKubernetesClusterException">
+            <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidKubernetesClusterException" nillable="true" type="ax21:InvalidKubernetesClusterException"/>
+                        <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax234:InvalidCartridgeDefinitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceKubernetesClusterAlreadyExistsException">
+            <xs:element name="CloudControllerServiceCartridgeAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="KubernetesClusterAlreadyExistsException" nillable="true" type="ax21:KubernetesClusterAlreadyExistsException"/>
+                        <xs:element minOccurs="0" name="CartridgeAlreadyExistsException" nillable="true" type="ax234:CartridgeAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesCluster">
+            <xs:element name="addCartridge">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesCluster" nillable="true" type="ax26:KubernetesCluster"/>
+                        <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax240:Cartridge"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesClusterResponse">
+            <xs:element name="addCartridgeResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesCluster">
+            <xs:element name="terminateInstanceForcefully">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesCluster" nillable="true" type="ax26:KubernetesCluster"/>
+                        <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesClusterResponse">
+            <xs:element name="terminateInstanceForcefullyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidKubernetesHostException">
+            <xs:element name="getIaasProviders">
                 <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidKubernetesHostException" nillable="true" type="ax21:InvalidKubernetesHostException"/>
-                    </xs:sequence>
+                    <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesHost">
+            <xs:element name="getIaasProvidersResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax26:KubernetesHost"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesHostResponse">
+            <xs:element name="CloudControllerServiceInvalidMemberException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax234:InvalidMemberException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceKubernetesClusterAlreadyUsedException">
+            <xs:element name="terminateInstance">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="KubernetesClusterAlreadyUsedException" nillable="true" type="ax21:KubernetesClusterAlreadyUsedException"/>
+                        <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeKubernetesCluster">
+            <xs:element name="terminateInstanceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeKubernetesClusterResponse">
+            <xs:element name="getClusterContext">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceNonExistingKubernetesHostException">
+            <xs:element name="getClusterContextResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="NonExistingKubernetesHostException" nillable="true" type="ax21:NonExistingKubernetesHostException"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax240:ClusterContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeKubernetesHost">
+            <xs:element name="addServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesHostId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax240:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeKubernetesHostResponse">
+            <xs:element name="addServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidKubernetesMasterException">
+            <xs:element name="addKubernetesHost">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidKubernetesMasterException" nillable="true" type="ax21:InvalidKubernetesMasterException"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax236:KubernetesHost"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException">
+            <xs:element name="addKubernetesHostResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="NonExistingKubernetesMasterException" nillable="true" type="ax21:NonExistingKubernetesMasterException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesMaster">
+            <xs:element name="CloudControllerServiceKubernetesClusterAlreadyUsedException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax26:KubernetesMaster"/>
+                        <xs:element minOccurs="0" name="KubernetesClusterAlreadyUsedException" nillable="true" type="ax234:KubernetesClusterAlreadyUsedException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesMasterResponse">
+            <xs:element name="removeKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesHost">
+            <xs:element name="removeKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax26:KubernetesHost"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesHostResponse">
+            <xs:element name="removeKubernetesHost">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="kubernetesHostId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceNetworkPartitionAlreadyExistsException">
+            <xs:element name="removeKubernetesHostResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="NetworkPartitionAlreadyExistsException" nillable="true" type="ax21:NetworkPartitionAlreadyExistsException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidNetworkPartitionException">
+            <xs:element name="getCartridges">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getCartridgesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidNetworkPartitionException" nillable="true" type="ax21:InvalidNetworkPartitionException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addNetworkPartition">
+            <xs:element name="getKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax29:NetworkPartition"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addNetworkPartitionResponse">
+            <xs:element name="getKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax236:KubernetesCluster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceNetworkPartitionNotExistsException">
+            <xs:element name="CloudControllerServiceInvalidPartitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="NetworkPartitionNotExistsException" nillable="true" type="ax21:NetworkPartitionNotExistsException"/>
+                        <xs:element minOccurs="0" name="InvalidPartitionException" nillable="true" type="ax234:InvalidPartitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeNetworkPartition">
+            <xs:element name="validateDeploymentPolicyNetworkPartition">
                 <xs:complexType>
                     <xs:sequence>
+                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
                         <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeNetworkPartitionResponse">
+            <xs:element name="validateDeploymentPolicyNetworkPartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateNetworkPartition">
+            <xs:element name="CloudControllerServiceCartridgeDefinitionNotExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax29:NetworkPartition"/>
+                        <xs:element minOccurs="0" name="CartridgeDefinitionNotExistsException" nillable="true" type="ax234:CartridgeDefinitionNotExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateNetworkPartitionResponse">
+            <xs:element name="updateCartridge">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="cartridge" nillable="true" type="ax240:Cartridge"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getNetworkPartitions">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getNetworkPartitionsResponse">
+            <xs:element name="updateCartridgeResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:NetworkPartition"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getNetworkPartition">
+            <xs:element name="validatePartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="partition" nillable="true" type="ax240:Partition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getNetworkPartitionResponse">
+            <xs:element name="validatePartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:NetworkPartition"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -772,7 +772,7 @@
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://common.stratos.apache.org/xsd">
             <xs:complexType name="Properties">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax24:Property"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax237:Property"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="Property">
@@ -783,61 +783,61 @@
             </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://exception.controller.cloud.stratos.apache.org/xsd">
-            <xs:complexType name="NonExistingKubernetesClusterException">
+            <xs:complexType name="InvalidKubernetesMasterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidMemberException">
+            <xs:complexType name="NonExistingKubernetesMasterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidCartridgeTypeException">
+            <xs:complexType name="InvalidKubernetesHostException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="CloudControllerException">
-                <xs:complexContent>
-                    <xs:extension base="xs:RuntimeException">
-                        <xs:sequence/>
-                    </xs:extension>
-                </xs:complexContent>
-            </xs:complexType>
-            <xs:complexType name="CartridgeNotFoundException">
+            <xs:complexType name="NonExistingKubernetesHostException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidIaasProviderException">
+            <xs:complexType name="NetworkPartitionAlreadyExistsException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidCartridgeDefinitionException">
+            <xs:complexType name="InvalidNetworkPartitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="CartridgeAlreadyExistsException">
+            <xs:complexType name="NetworkPartitionNotExistsException">
                 <xs:sequence/>
             </xs:complexType>
-            <xs:complexType name="CartridgeDefinitionNotExistsException">
+            <xs:complexType name="ApplicationClusterRegistrationException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidServiceGroupException">
+            <xs:complexType name="CartridgeNotFoundException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidPartitionException">
+            <xs:complexType name="InvalidIaasProviderException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="CloudControllerException">
+                <xs:complexContent>
+                    <xs:extension base="xs:RuntimeException">
+                        <xs:sequence/>
+                    </xs:extension>
+                </xs:complexContent>
+            </xs:complexType>
             <xs:complexType name="InvalidClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
@@ -848,12 +848,12 @@
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ApplicationClusterRegistrationException">
+            <xs:complexType name="ClusterInstanceCreationException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ClusterInstanceCreationException">
+            <xs:complexType name="NonExistingKubernetesClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
@@ -868,44 +868,44 @@
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidKubernetesHostException">
+            <xs:complexType name="InvalidServiceGroupException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="KubernetesClusterAlreadyUsedException">
+            <xs:complexType name="InvalidCartridgeTypeException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NonExistingKubernetesHostException">
+            <xs:complexType name="InvalidCartridgeDefinitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidKubernetesMasterException">
+            <xs:complexType name="CartridgeAlreadyExistsException">
+                <xs:sequence/>
+            </xs:complexType>
+            <xs:complexType name="InvalidMemberException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NonExistingKubernetesMasterException">
+            <xs:complexType name="KubernetesClusterAlreadyUsedException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NetworkPartitionAlreadyExistsException">
+            <xs:complexType name="InvalidPartitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidNetworkPartitionException">
+            <xs:complexType name="CartridgeDefinitionNotExistsException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NetworkPartitionNotExistsException">
-                <xs:sequence/>
-            </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.common.stratos.apache.org/xsd">
             <xs:complexType name="NameValuePair">
@@ -922,34 +922,34 @@
                 </xs:complexContent>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax25="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax238="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd">
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
-            <xs:complexType name="KubernetesCluster">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="kubernetesHosts" nillable="true" type="ax23:KubernetesHost"/>
-                    <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax23:KubernetesMaster"/>
-                    <xs:element minOccurs="0" name="portRange" nillable="true" type="ax23:PortRange"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
-                </xs:sequence>
-            </xs:complexType>
             <xs:complexType name="KubernetesHost">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="hostId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostname" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="privateIPAddress" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax238:Properties"/>
                     <xs:element minOccurs="0" name="publicIPAddress" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="KubernetesMaster">
                 <xs:complexContent>
-                    <xs:extension base="ax23:KubernetesHost">
+                    <xs:extension base="ax236:KubernetesHost">
                         <xs:sequence/>
                     </xs:extension>
                 </xs:complexContent>
             </xs:complexType>
+            <xs:complexType name="KubernetesCluster">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="kubernetesHosts" nillable="true" type="ax236:KubernetesHost"/>
+                    <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax236:KubernetesMaster"/>
+                    <xs:element minOccurs="0" name="portRange" nillable="true" type="ax236:PortRange"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax238:Properties"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="PortRange">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="lower" type="xs:int"/>
@@ -957,12 +957,116 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax28="http://common.stratos.apache.org/xsd" xmlns:ax211="http://domain.common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax246="http://domain.common.stratos.apache.org/xsd" xmlns:ax241="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd">
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:import namespace="http://domain.common.stratos.apache.org/xsd"/>
+            <xs:complexType name="NetworkPartition">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="activeByDefault" type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="partitionAlgo" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="partitions" nillable="true" type="ax240:Partition"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax237:Properties"/>
+                    <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="Partition">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="partitionMax" type="xs:int"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax237:Properties"/>
+                    <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="ApplicationClusterContext">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="autoscalePolicyName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="dependencyClusterIds" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="lbCluster" type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax237:Properties"/>
+                    <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="textPayload" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="volumeRequired" type="xs:boolean"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax240:Volume"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="Volume">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="device" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="iaasType" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="mappingPath" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="removeOntermination" type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="size" type="xs:int"/>
+                    <xs:element minOccurs="0" name="snapshotId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="volumeId" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="InstanceContext">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="clusterInstanceId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="initTime" type="xs:long"/>
+                    <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="obsoleteExpiryTime" type="xs:long"/>
+                    <xs:element minOccurs="0" name="partition" nillable="true" type="ax240:Partition"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax237:Properties"/>
+                    <xs:element minOccurs="0" name="volumeRequired" type="xs:boolean"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax240:Volume"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="MemberContext">
+                <xs:sequence>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="allocatedIPs" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="clusterInstanceId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="defaultPrivateIP" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="defaultPublicIP" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="dynamicPayload" nillable="true" type="ax246:NameValuePair"/>
+                    <xs:element minOccurs="0" name="initTime" type="xs:long"/>
+                    <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="instanceMetadata" nillable="true" type="ax240:InstanceMetadata"/>
+                    <xs:element minOccurs="0" name="kubernetesPodId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="kubernetesPodName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="lbClusterId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="loadBalancingIPType" nillable="true" type="ax246:LoadBalancingIPType"/>
+                    <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="obsoleteExpiryTime" type="xs:long"/>
+                    <xs:element minOccurs="0" name="obsoleteInitTime" type="xs:long"/>
+                    <xs:element minOccurs="0" name="partition" nillable="true" type="ax240:Partition"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="privateIPs" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax237:Properties"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="publicIPs" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="InstanceMetadata">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="cpu" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="hostname" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="hypervisor" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="imageId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="loginPort" type="xs:int"/>
+                    <xs:element minOccurs="0" name="operatingSystem64bit" type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="operatingSystemArchitecture" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="operatingSystemName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="operatingSystemVersion" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="ram" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="Cartridge">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="appTypeMappings" nillable="true" type="ax27:AppType"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="appTypeMappings" nillable="true" type="ax240:AppType"/>
                     <xs:element minOccurs="0" name="baseDir" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="category" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="deploymentDirs" nillable="true" type="xs:string"/>
@@ -970,14 +1074,14 @@
                     <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="exportingProperties" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="iaasConfigs" nillable="true" type="ax27:IaasConfig"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="iaasConfigs" nillable="true" type="ax240:IaasConfig"/>
                     <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/>
                     <xs:element minOccurs="0" name="loadBalancingIPType" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="metadataKeys" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="multiTenant" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax27:Persistence"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="portMappings" nillable="true" type="ax27:PortMapping"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
+                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax240:Persistence"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="portMappings" nillable="true" type="ax240:PortMapping"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax237:Properties"/>
                     <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="tenantPartitions" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
@@ -997,29 +1101,29 @@
                     <xs:element minOccurs="0" name="identity" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="imageId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="networkInterfaces" nillable="true" type="ax27:NetworkInterfaces"/>
+                    <xs:element minOccurs="0" name="networkInterfaces" nillable="true" type="ax240:NetworkInterfaces"/>
                     <xs:element minOccurs="0" name="payload" nillable="true" type="xs:base64Binary"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax237:Properties"/>
                     <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="NetworkInterfaces">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkInterfaces" nillable="true" type="ax27:NetworkInterface"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkInterfaces" nillable="true" type="ax240:NetworkInterface"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="NetworkInterface">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="fixedIp" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="floatingNetworks" nillable="true" type="ax27:FloatingNetworks"/>
+                    <xs:element minOccurs="0" name="floatingNetworks" nillable="true" type="ax240:FloatingNetworks"/>
                     <xs:element minOccurs="0" name="networkUuid" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="portUuid" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="FloatingNetworks">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="floatingNetworks" nillable="true" type="ax27:FloatingNetwork"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="floatingNetworks" nillable="true" type="ax240:FloatingNetwork"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="FloatingNetwork">
@@ -1032,19 +1136,7 @@
             <xs:complexType name="Persistence">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="persistenceRequired" type="xs:boolean"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax27:Volume"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="Volume">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="device" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="iaasType" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="mappingPath" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="removeOntermination" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="size" type="xs:int"/>
-                    <xs:element minOccurs="0" name="snapshotId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="volumeId" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax240:Volume"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="PortMapping">
@@ -1056,90 +1148,23 @@
                     <xs:el

<TRUNCATED>

[16/50] [abbrv] stratos git commit: PCA - Publish MB events using a thread and timeout after 5 seconds. Improved PCA structure and removed unnecessary threading PCA Live Test - Improved logging, improved MB HA test case

Posted by ga...@apache.org.
http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
index 6e25b6b..08042b7 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
@@ -48,7 +48,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 
-public class PythonAgentIntegrationTest {
+public abstract class PythonAgentIntegrationTest {
 
     public static final String PATH_SEP = File.separator;
     public static final String NEW_LINE = System.getProperty("line.separator");
@@ -219,6 +219,10 @@ public class PythonAgentIntegrationTest {
         this.topologyEventReceiver.terminate();
         this.initializerEventReceiver.terminate();
 
+        this.instanceStatusEventReceiver = null;
+        this.topologyEventReceiver = null;
+        this.initializerEventReceiver = null;
+
         this.instanceActivated = false;
         this.instanceStarted = false;
 
@@ -319,7 +323,7 @@ public class PythonAgentIntegrationTest {
                                     log.error("ERROR found in PCA log", e);
                                 }
                             }
-                            log.debug("[PCA] " + line);
+                            log.debug("[" + getClassName() + "] [PCA] " + line);
                         }
                     }
                     sleep(100);
@@ -330,6 +334,12 @@ public class PythonAgentIntegrationTest {
     }
 
     /**
+     * Return concrete class name
+     * @return
+     */
+    protected abstract String getClassName();
+
+    /**
      * Start server socket
      *
      * @param port Port number of server socket to be started

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/MessageBrokerHATestCase/agent.conf
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/MessageBrokerHATestCase/agent.conf b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/MessageBrokerHATestCase/agent.conf
index c6c55f3..770a548 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/MessageBrokerHATestCase/agent.conf
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/MessageBrokerHATestCase/agent.conf
@@ -19,7 +19,7 @@
 mb.urls                               =localhost:1885,localhost:1886,localhost:1887
 mb.username                           =system
 mb.password                           =manager
-mb.publisher.timeout                  =20
+mb.publisher.timeout                  =200
 listen.address                        =localhost
 thrift.receiver.urls                  =localhost:7712
 thrift.server.admin.username          =admin

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/log4j.properties b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/log4j.properties
index 759bbb4..74b61aa 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/log4j.properties
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/log4j.properties
@@ -31,7 +31,7 @@ log4j.additivity.org.apache.stratos.python.cartridge.agent.integration.tests.Pyt
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 #log4j.appender.stdout.Target=System.out
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p {%c}:%L - %m%n
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p {%c{1}}:%L - %m%n
 log4j.appender.stdout.threshold=DEBUG
 
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-suite-all.xml
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-suite-all.xml b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-suite-all.xml
index d8e342f..0e87501 100755
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-suite-all.xml
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-suite-all.xml
@@ -24,6 +24,7 @@
     <test name="all" preserve-order="true" parallel="false">
         <groups>
             <run>
+                <exclude name="ha"/>
                 <exclude name="failed"/>
                 <exclude name="disabled"/>
             </run>

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-suite-smoke.xml
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-suite-smoke.xml b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-suite-smoke.xml
index bcac412..77aeb2d 100755
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-suite-smoke.xml
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-suite-smoke.xml
@@ -25,6 +25,8 @@
         <groups>
             <run>
                 <include name="smoke"/>
+                <!--<include name="ha"/>-->
+                <exclude name="ha"/>
                 <exclude name="failed"/>
                 <exclude name="disabled"/>
             </run>


[46/50] [abbrv] stratos git commit: Rebase with stratos 4.1.x

Posted by ga...@apache.org.
Rebase with stratos 4.1.x


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

Branch: refs/heads/master
Commit: 1ae9bb392761f5353cd8c50579a27a0362db6c64
Parents: 8772221
Author: gayangunarathne <ga...@wso2.com>
Authored: Tue Dec 8 19:03:09 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Tue Dec 8 19:03:09 2015 +0530

----------------------------------------------------------------------
 .../messaging/topology/TopologyHolder.java      |  14 +
 .../rest/endpoint/api/StratosApiV41Utils.java   |   4 +-
 .../src/main/resources/AutoscalerService.wsdl   | 622 ++++++++---------
 .../main/resources/CloudControllerService.wsdl  | 698 +++++++++----------
 .../main/resources/StratosManagerService.wsdl   | 384 +++++-----
 5 files changed, 898 insertions(+), 824 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/1ae9bb39/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java
index ae939c8..d183ca0 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java
@@ -40,6 +40,20 @@ public class TopologyHolder {
     private TopologyHolder() {
     }
 
+    public static void acquireReadLock() {
+        lock.acquireReadLock();
+        if (log.isDebugEnabled()) {
+            log.debug("Read lock acquired");
+        }
+    }
+
+    public static void releaseReadLock() {
+        lock.releaseReadLock();
+        if (log.isDebugEnabled()) {
+            log.debug("Read lock released");
+        }
+    }
+
     public static void acquireWriteLock() {
         lock.acquireWriteLock();
         if (log.isDebugEnabled()) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/1ae9bb39/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 4c6eb1e..ffe2a24 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -1844,7 +1844,7 @@ public class StratosApiV41Utils {
                         if (applicationDefinition.isMultiTenant()) {
                             int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
                             boolean hasSignUps = StratosManagerServiceClient.getInstance().
-                                    applicationSignUpsExist(applicationDefinition.getApplicationId());
+                                    applicationSignUpExist(applicationDefinition.getApplicationId(), tenantId);
                             applicationDefinition.setSignUpsExist(hasSignUps);
                         }
                         applicationDefinitions.add(applicationDefinition);
@@ -2065,7 +2065,7 @@ public class StratosApiV41Utils {
      * @param group             Group
      * @param groupInstanceBean GroupInstanceBean
      */
-    private static void setSubGroupInstances(Group group, GroupInstanceBean groupInstanceBean) throws RestAPIException {
+    private static void setSubGroupInstances(Group group, GroupInstanceBean groupInstanceBean) {
         Collection<Group> subgroups = group.getGroups();
         addClustersInstancesToGroupInstanceBean(groupInstanceBean, group);
         if (subgroups != null && !subgroups.isEmpty()) {


[29/50] [abbrv] stratos git commit: Remove init() call in setEnaled method in ThriftStatisticsPublisher since it is invoked from the constructor. Remove setEnabled(true) call in MockHealthStatisticsNotifier since it is read from thrift-client-config.xml

Posted by ga...@apache.org.
Remove init() call in setEnaled method in ThriftStatisticsPublisher since it is invoked from the constructor. Remove setEnabled(true) call in MockHealthStatisticsNotifier since it is read from thrift-client-config.xml


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

Branch: refs/heads/master
Commit: 74ec78006f56adb80ca0141f67940205e8dd85f1
Parents: a242b52
Author: Akila Perera <ra...@gmail.com>
Authored: Tue Dec 1 18:07:28 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Tue Dec 1 18:07:54 2015 +0530

----------------------------------------------------------------------
 .../publisher/ThriftStatisticsPublisher.java           | 13 +++++--------
 .../publisher/MockHealthStatisticsNotifier.java        |  2 --
 2 files changed, 5 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/74ec7800/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
index bf0db61..7af804b 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
@@ -88,8 +88,9 @@ public class ThriftStatisticsPublisher implements StatisticsPublisher {
 
         for (ThriftClientInfo thriftClientInfo : thriftClientInfoList) {
             if (thriftClientInfo.isStatsPublisherEnabled()) {
-                dataPublisherHolders.add(new DataPublisherHolder(null, buildUrl(thriftClientInfo), thriftClientInfo.getUsername(),
-                        thriftClientInfo.getPassword()));
+                dataPublisherHolders
+                        .add(new DataPublisherHolder(null, buildUrl(thriftClientInfo), thriftClientInfo.getUsername(),
+                                thriftClientInfo.getPassword()));
                 if (log.isDebugEnabled()) {
                     log.debug(String.format("Thrift client [id] %s [ip] %s [port] %s is added to data publisher holder",
                             thriftClientInfo.getId(), thriftClientInfo.getIp(), thriftClientInfo.getPort()));
@@ -112,9 +113,6 @@ public class ThriftStatisticsPublisher implements StatisticsPublisher {
     @Override
     public void setEnabled(boolean enabled) {
         this.enabled = enabled;
-        if (this.enabled) {
-            init();
-        }
     }
 
     @Override
@@ -134,8 +132,8 @@ public class ThriftStatisticsPublisher implements StatisticsPublisher {
 
         try {
             if (log.isDebugEnabled()) {
-                log.debug(String.format("Publishing thrift event: [stream] %s [version] %s",
-                        streamDefinition.getName(), streamDefinition.getVersion()));
+                log.debug(String.format("Publishing thrift event: [stream] %s [version] %s", streamDefinition.getName(),
+                        streamDefinition.getVersion()));
             }
             loadBalancingDataPublisher.publish(streamDefinition.getName(), streamDefinition.getVersion(), event);
             if (log.isDebugEnabled()) {
@@ -143,7 +141,6 @@ public class ThriftStatisticsPublisher implements StatisticsPublisher {
                         streamDefinition.getName(), streamDefinition.getVersion()));
             }
 
-
         } catch (AgentException e) {
             if (log.isErrorEnabled()) {
                 log.error(String.format("Could not publish thrift event: [stream] %s [version] %s",

http://git-wip-us.apache.org/repos/asf/stratos/blob/74ec7800/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsNotifier.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsNotifier.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsNotifier.java
index 4f3de51..637e4bf 100644
--- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsNotifier.java
+++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsNotifier.java
@@ -44,11 +44,9 @@ public class MockHealthStatisticsNotifier implements Runnable {
         this.mockMemberContext = mockMemberContext;
         this.healthStatisticsPublisher = HealthStatisticsPublisherFactory
                 .createHealthStatisticsPublisher(StatisticsPublisherType.WSO2CEP);
-        this.healthStatisticsPublisher.setEnabled(true);
 
         this.inFlightRequestPublisher = InFlightRequestPublisherFactory
                 .createInFlightRequestPublisher(StatisticsPublisherType.WSO2CEP);
-        this.inFlightRequestPublisher.setEnabled(true);
     }
 
     @Override


[35/50] [abbrv] stratos git commit: Update the AS registry manager

Posted by ga...@apache.org.
Update the AS registry manager


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

Branch: refs/heads/master
Commit: fcaaa1bed6107d95a31d3d125a748eb1fa28b1bb
Parents: a6665bb
Author: gayangunarathne <ga...@wso2.com>
Authored: Sun Dec 6 10:30:37 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Sun Dec 6 13:22:38 2015 +0530

----------------------------------------------------------------------
 .../apache/stratos/autoscaler/registry/RegistryManager.java    | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/fcaaa1be/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
index 925c4ff..343b76a 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
@@ -85,7 +85,7 @@ public class RegistryManager {
         return instance;
     }
 
-    private Object retrieve(String resourcePath) {
+    private synchronized Object retrieve(String resourcePath) {
         try {
             Resource resource = registryService.get(resourcePath);
             return resource.getContent();
@@ -99,7 +99,7 @@ public class RegistryManager {
         }
     }
 
-    private void delete(String resourcePath) {
+    private synchronized void delete(String resourcePath) {
         try {
             registryService.beginTransaction();
             registryService.delete(resourcePath);
@@ -138,7 +138,7 @@ public class RegistryManager {
      * @param dataObj      object to be persisted.
      * @param resourcePath resource path to be persisted.
      */
-    private void persist(Object dataObj, String resourcePath) throws AutoScalerException {
+    private synchronized void persist(Object dataObj, String resourcePath) throws AutoScalerException {
 
         try {
             registryService.beginTransaction();


[25/50] [abbrv] stratos git commit: Formatting ThriftStatisticsPublisher class

Posted by ga...@apache.org.
Formatting ThriftStatisticsPublisher class


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

Branch: refs/heads/master
Commit: cd06c7b0c4fb8051b78590fe3e7a6fa085b386b7
Parents: e129b80
Author: Thanuja <th...@wso2.com>
Authored: Mon Nov 30 13:28:54 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Tue Dec 1 08:57:54 2015 +0530

----------------------------------------------------------------------
 .../publisher/ThriftStatisticsPublisher.java    | 21 ++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/cd06c7b0/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
index f86293a..c26c6d3 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/ThriftStatisticsPublisher.java
@@ -83,27 +83,28 @@ public class ThriftStatisticsPublisher implements StatisticsPublisher {
     private ArrayList<ReceiverGroup> getReceiverGroups() {
 
         ArrayList<ReceiverGroup> receiverGroups = new ArrayList<ReceiverGroup>();
+        ArrayList<DataPublisherHolder> dataPublisherHolders = new ArrayList<DataPublisherHolder>();
+        DataPublisherHolder aNode;
 
         for (ThriftClientInfo thriftClientInfo : thriftClientInfoList) {
             if (thriftClientInfo.isStatsPublisherEnabled()) {
-                ArrayList<DataPublisherHolder> dataPublisherHolders = new ArrayList<DataPublisherHolder>();
-                DataPublisherHolder aNode = new DataPublisherHolder(null, buildUrl(thriftClientInfo), thriftClientInfo.getUsername(), thriftClientInfo.getPassword());
+                aNode = new DataPublisherHolder(null, buildUrl(thriftClientInfo), thriftClientInfo.getUsername(),
+                        thriftClientInfo.getPassword());
                 dataPublisherHolders.add(aNode);
-                ReceiverGroup group = new ReceiverGroup(dataPublisherHolders);
-                receiverGroups.add(group);
+                if (log.isDebugEnabled()) {
+                    log.debug(String.format("Thrift client [id] %s [ip] %s [port] %s is added to data publisher holder",
+                            thriftClientInfo.getId(), thriftClientInfo.getIp(), thriftClientInfo.getPort()));
+                }
             }
         }
+        ReceiverGroup group = new ReceiverGroup(dataPublisherHolders);
+        receiverGroups.add(group);
         return receiverGroups;
 
     }
 
     private String buildUrl(ThriftClientInfo thriftClientInfo) {
-        String url = new StringBuilder()
-                .append("tcp://")
-                .append(thriftClientInfo.getIp())
-                .append(":")
-                .append(thriftClientInfo.getPort()).toString();
-        return url;
+        return String.format("tcp://%s:%s", thriftClientInfo.getIp(), thriftClientInfo.getPort());
     }
 
     @Override


[47/50] [abbrv] stratos git commit: Rebase the stratos 4.1.x branch

Posted by ga...@apache.org.
http://git-wip-us.apache.org/repos/asf/stratos/blob/9d778a5e/service-stubs/org.apache.stratos.manager.service.stub/src/main/resources/StratosManagerService.wsdl
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.manager.service.stub/src/main/resources/StratosManagerService.wsdl b/service-stubs/org.apache.stratos.manager.service.stub/src/main/resources/StratosManagerService.wsdl
index cc33797..514f492 100644
--- a/service-stubs/org.apache.stratos.manager.service.stub/src/main/resources/StratosManagerService.wsdl
+++ b/service-stubs/org.apache.stratos.manager.service.stub/src/main/resources/StratosManagerService.wsdl
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://impl.services.manager.stratos.apache.org" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ax23="http://signup.application.domain.messaging.stratos.apache.org/xsd" xmlns:ax21="http://exception.manager.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.manager.stratos.apache.org">
+<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://impl.services.manager.stratos.apache.org" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ax249="http://signup.application.domain.messaging.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ax247="http://exception.manager.stratos.apache.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.manager.stratos.apache.org">
     <wsdl:types>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://signup.application.domain.messaging.stratos.apache.org/xsd">
             <xs:complexType name="ApplicationSignUp">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="artifactRepositories" nillable="true" type="ax23:ArtifactRepository"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="artifactRepositories" nillable="true" type="ax249:ArtifactRepository"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="clusterIds" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="domainMappings" nillable="true" type="ax23:DomainMapping"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="domainMappings" nillable="true" type="ax249:DomainMapping"/>
                     <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                 </xs:sequence>
             </xs:complexType>
@@ -31,32 +31,33 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax24="http://signup.application.domain.messaging.stratos.apache.org/xsd" xmlns:ax22="http://exception.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.manager.stratos.apache.org">
+        <xs:schema xmlns:ax250="http://signup.application.domain.messaging.stratos.apache.org/xsd" xmlns:ax248="http://exception.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.manager.stratos.apache.org">
             <xs:import namespace="http://exception.manager.stratos.apache.org/xsd"/>
             <xs:import namespace="http://signup.application.domain.messaging.stratos.apache.org/xsd"/>
-            <xs:element name="StratosManagerServiceApplicationSignUpException">
+            <xs:element name="addUsedCartridgeGroupsInCartridgeSubGroups">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicationSignUpException" nillable="true" type="ax21:ApplicationSignUpException"/>
+                        <xs:element minOccurs="0" name="cartridgeSubGroupName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplicationSignUp">
+            <xs:element name="removeUsedCartridgeGroupsInApplications">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationSignUp" nillable="true" type="ax23:ApplicationSignUp"/>
+                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeApplicationSignUp">
+            <xs:element name="StratosManagerServiceArtifactDistributionCoordinatorException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
+                        <xs:element minOccurs="0" name="ArtifactDistributionCoordinatorException" nillable="true" type="ax248:ArtifactDistributionCoordinatorException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationSignUp">
+            <xs:element name="notifyArtifactUpdatedEventForSignUp">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
@@ -64,64 +65,68 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationSignUpResponse">
+            <xs:element name="removeUsedCartridgesInCartridgeGroups">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax23:ApplicationSignUp"/>
+                        <xs:element minOccurs="0" name="cartridgeGroupName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="applicationSignUpExist">
+            <xs:element name="removeUsedCartridgeGroupsInCartridgeSubGroups">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
+                        <xs:element minOccurs="0" name="cartridgeSubGroupName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="applicationSignUpExistResponse">
+            <xs:element name="notifyArtifactUpdatedEventForRepository">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="repoUrl" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="applicationSignUpsExist">
+            <xs:element name="addUsedCartridgeGroupsInApplications">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="applicationSignUpsExistResponse">
+            <xs:element name="addUsedCartridgesInApplications">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationSignUps">
+            <xs:element name="addUsedCartridgesInCartridgeGroups">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="cartridgeGroupName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationSignUpsResponse">
+            <xs:element name="StratosManagerServiceApplicationSignUpException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax23:ApplicationSignUp"/>
+                        <xs:element minOccurs="0" name="ApplicationSignUpException" nillable="true" type="ax248:ApplicationSignUpException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="StratosManagerServiceArtifactDistributionCoordinatorException">
+            <xs:element name="addApplicationSignUp">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ArtifactDistributionCoordinatorException" nillable="true" type="ax21:ArtifactDistributionCoordinatorException"/>
+                        <xs:element minOccurs="0" name="applicationSignUp" nillable="true" type="ax250:ApplicationSignUp"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="notifyArtifactUpdatedEventForSignUp">
+            <xs:element name="removeApplicationSignUp">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
@@ -129,28 +134,22 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="notifyArtifactUpdatedEventForRepository">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="repoUrl" nillable="true" type="xs:string"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="StratosManagerServiceDomainMappingException">
+            <xs:element name="getApplicationSignUp">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="DomainMappingException" nillable="true" type="ax21:DomainMappingException"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addDomainMapping">
+            <xs:element name="getApplicationSignUpResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="domainMapping" nillable="true" type="ax23:DomainMapping"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax250:ApplicationSignUp"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDomainMappings">
+            <xs:element name="applicationSignUpExist">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
@@ -158,97 +157,90 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDomainMappingsResponse">
+            <xs:element name="applicationSignUpExistResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax23:DomainMapping"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeDomainMapping">
+            <xs:element name="applicationSignUpsExist">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
-                        <xs:element minOccurs="0" name="domainName" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addUsedCartridgesInCartridgeGroups">
+            <xs:element name="applicationSignUpsExistResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeGroupName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeUsedCartridgesInCartridgeGroups">
+            <xs:element name="getApplicationSignUps">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeGroupName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addUsedCartridgesInApplications">
+            <xs:element name="getApplicationSignUpsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax250:ApplicationSignUp"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeUsedCartridgesInApplications">
+            <xs:element name="StratosManagerServiceDomainMappingException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="DomainMappingException" nillable="true" type="ax248:DomainMappingException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="canCartridgeBeRemoved">
+            <xs:element name="addDomainMapping">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="domainMapping" nillable="true" type="ax250:DomainMapping"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="canCartridgeBeRemovedResponse">
+            <xs:element name="getDomainMappings">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addUsedCartridgeGroupsInCartridgeSubGroups">
+            <xs:element name="getDomainMappingsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeSubGroupName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax250:DomainMapping"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeUsedCartridgeGroupsInCartridgeSubGroups">
+            <xs:element name="removeDomainMapping">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeSubGroupName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
+                        <xs:element minOccurs="0" name="domainName" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addUsedCartridgeGroupsInApplications">
+            <xs:element name="canCartridgeBeRemoved">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="cartridgeName" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeUsedCartridgeGroupsInApplications">
+            <xs:element name="canCartridgeBeRemovedResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -266,12 +258,20 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
+            <xs:element name="removeUsedCartridgesInApplications">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://exception.manager.stratos.apache.org/xsd">
-            <xs:complexType name="ApplicationSignUpException">
+            <xs:complexType name="ArtifactDistributionCoordinatorException">
                 <xs:sequence/>
             </xs:complexType>
-            <xs:complexType name="ArtifactDistributionCoordinatorException">
+            <xs:complexType name="ApplicationSignUpException">
                 <xs:sequence/>
             </xs:complexType>
             <xs:complexType name="DomainMappingException">
@@ -279,9 +279,6 @@
             </xs:complexType>
         </xs:schema>
     </wsdl:types>
-    <wsdl:message name="addUsedCartridgeGroupsInApplicationsRequest">
-        <wsdl:part name="parameters" element="ns:addUsedCartridgeGroupsInApplications"/>
-    </wsdl:message>
     <wsdl:message name="canCartridgeBeRemovedRequest">
         <wsdl:part name="parameters" element="ns:canCartridgeBeRemoved"/>
     </wsdl:message>
@@ -297,6 +294,9 @@
     <wsdl:message name="StratosManagerServiceApplicationSignUpException">
         <wsdl:part name="parameters" element="ns:StratosManagerServiceApplicationSignUpException"/>
     </wsdl:message>
+    <wsdl:message name="addUsedCartridgeGroupsInApplicationsRequest">
+        <wsdl:part name="parameters" element="ns:addUsedCartridgeGroupsInApplications"/>
+    </wsdl:message>
     <wsdl:message name="getApplicationSignUpsRequest">
         <wsdl:part name="parameters" element="ns:getApplicationSignUps"/>
     </wsdl:message>
@@ -321,12 +321,12 @@
     <wsdl:message name="removeUsedCartridgesInApplicationsRequest">
         <wsdl:part name="parameters" element="ns:removeUsedCartridgesInApplications"/>
     </wsdl:message>
-    <wsdl:message name="removeUsedCartridgeGroupsInCartridgeSubGroupsRequest">
-        <wsdl:part name="parameters" element="ns:removeUsedCartridgeGroupsInCartridgeSubGroups"/>
-    </wsdl:message>
     <wsdl:message name="addUsedCartridgesInCartridgeGroupsRequest">
         <wsdl:part name="parameters" element="ns:addUsedCartridgesInCartridgeGroups"/>
     </wsdl:message>
+    <wsdl:message name="removeUsedCartridgeGroupsInCartridgeSubGroupsRequest">
+        <wsdl:part name="parameters" element="ns:removeUsedCartridgeGroupsInCartridgeSubGroups"/>
+    </wsdl:message>
     <wsdl:message name="removeUsedCartridgeGroupsInApplicationsRequest">
         <wsdl:part name="parameters" element="ns:removeUsedCartridgeGroupsInApplications"/>
     </wsdl:message>
@@ -373,9 +373,6 @@
         <wsdl:part name="parameters" element="ns:addApplicationSignUp"/>
     </wsdl:message>
     <wsdl:portType name="StratosManagerServicePortType">
-        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
-            <wsdl:input message="ns:addUsedCartridgeGroupsInApplicationsRequest" wsaw:Action="urn:addUsedCartridgeGroupsInApplications"/>
-        </wsdl:operation>
         <wsdl:operation name="canCartridgeBeRemoved">
             <wsdl:input message="ns:canCartridgeBeRemovedRequest" wsaw:Action="urn:canCartridgeBeRemoved"/>
             <wsdl:output message="ns:canCartridgeBeRemovedResponse" wsaw:Action="urn:canCartridgeBeRemovedResponse"/>
@@ -385,6 +382,9 @@
             <wsdl:output message="ns:applicationSignUpExistResponse" wsaw:Action="urn:applicationSignUpExistResponse"/>
             <wsdl:fault message="ns:StratosManagerServiceApplicationSignUpException" name="StratosManagerServiceApplicationSignUpException" wsaw:Action="urn:applicationSignUpExistStratosManagerServiceApplicationSignUpException"/>
         </wsdl:operation>
+        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
+            <wsdl:input message="ns:addUsedCartridgeGroupsInApplicationsRequest" wsaw:Action="urn:addUsedCartridgeGroupsInApplications"/>
+        </wsdl:operation>
         <wsdl:operation name="getApplicationSignUps">
             <wsdl:input message="ns:getApplicationSignUpsRequest" wsaw:Action="urn:getApplicationSignUps"/>
             <wsdl:output message="ns:getApplicationSignUpsResponse" wsaw:Action="urn:getApplicationSignUpsResponse"/>
@@ -403,12 +403,12 @@
         <wsdl:operation name="removeUsedCartridgesInApplications">
             <wsdl:input message="ns:removeUsedCartridgesInApplicationsRequest" wsaw:Action="urn:removeUsedCartridgesInApplications"/>
         </wsdl:operation>
-        <wsdl:operation name="removeUsedCartridgeGroupsInCartridgeSubGroups">
-            <wsdl:input message="ns:removeUsedCartridgeGroupsInCartridgeSubGroupsRequest" wsaw:Action="urn:removeUsedCartridgeGroupsInCartridgeSubGroups"/>
-        </wsdl:operation>
         <wsdl:operation name="addUsedCartridgesInCartridgeGroups">
             <wsdl:input message="ns:addUsedCartridgesInCartridgeGroupsRequest" wsaw:Action="urn:addUsedCartridgesInCartridgeGroups"/>
         </wsdl:operation>
+        <wsdl:operation name="removeUsedCartridgeGroupsInCartridgeSubGroups">
+            <wsdl:input message="ns:removeUsedCartridgeGroupsInCartridgeSubGroupsRequest" wsaw:Action="urn:removeUsedCartridgeGroupsInCartridgeSubGroups"/>
+        </wsdl:operation>
         <wsdl:operation name="removeUsedCartridgeGroupsInApplications">
             <wsdl:input message="ns:removeUsedCartridgeGroupsInApplicationsRequest" wsaw:Action="urn:removeUsedCartridgeGroupsInApplications"/>
         </wsdl:operation>
@@ -463,6 +463,12 @@
     </wsdl:portType>
     <wsdl:binding name="StratosManagerServiceSoap11Binding" type="ns:StratosManagerServicePortType">
         <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
+            <soap:operation soapAction="urn:addUsedCartridgeGroupsInApplications" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
         <wsdl:operation name="applicationSignUpExist">
             <soap:operation soapAction="urn:applicationSignUpExist" style="document"/>
             <wsdl:input>
@@ -484,12 +490,6 @@
                 <soap:body use="literal"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
-            <soap:operation soapAction="urn:addUsedCartridgeGroupsInApplications" style="document"/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-            </wsdl:input>
-        </wsdl:operation>
         <wsdl:operation name="getApplicationSignUps">
             <soap:operation soapAction="urn:getApplicationSignUps" style="document"/>
             <wsdl:input>
@@ -532,14 +532,14 @@
                 <soap:body use="literal"/>
             </wsdl:input>
         </wsdl:operation>
-        <wsdl:operation name="addUsedCartridgesInCartridgeGroups">
-            <soap:operation soapAction="urn:addUsedCartridgesInCartridgeGroups" style="document"/>
+        <wsdl:operation name="removeUsedCartridgeGroupsInCartridgeSubGroups">
+            <soap:operation soapAction="urn:removeUsedCartridgeGroupsInCartridgeSubGroups" style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
         </wsdl:operation>
-        <wsdl:operation name="removeUsedCartridgeGroupsInCartridgeSubGroups">
-            <soap:operation soapAction="urn:removeUsedCartridgeGroupsInCartridgeSubGroups" style="document"/>
+        <wsdl:operation name="addUsedCartridgesInCartridgeGroups">
+            <soap:operation soapAction="urn:addUsedCartridgesInCartridgeGroups" style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
@@ -664,6 +664,12 @@
     </wsdl:binding>
     <wsdl:binding name="StratosManagerServiceSoap12Binding" type="ns:StratosManagerServicePortType">
         <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
+            <soap12:operation soapAction="urn:addUsedCartridgeGroupsInApplications" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
         <wsdl:operation name="applicationSignUpExist">
             <soap12:operation soapAction="urn:applicationSignUpExist" style="document"/>
             <wsdl:input>
@@ -685,12 +691,6 @@
                 <soap12:body use="literal"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
-            <soap12:operation soapAction="urn:addUsedCartridgeGroupsInApplications" style="document"/>
-            <wsdl:input>
-                <soap12:body use="literal"/>
-            </wsdl:input>
-        </wsdl:operation>
         <wsdl:operation name="getApplicationSignUps">
             <soap12:operation soapAction="urn:getApplicationSignUps" style="document"/>
             <wsdl:input>
@@ -733,14 +733,14 @@
                 <soap12:body use="literal"/>
             </wsdl:input>
         </wsdl:operation>
-        <wsdl:operation name="addUsedCartridgesInCartridgeGroups">
-            <soap12:operation soapAction="urn:addUsedCartridgesInCartridgeGroups" style="document"/>
+        <wsdl:operation name="removeUsedCartridgeGroupsInCartridgeSubGroups">
+            <soap12:operation soapAction="urn:removeUsedCartridgeGroupsInCartridgeSubGroups" style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
         </wsdl:operation>
-        <wsdl:operation name="removeUsedCartridgeGroupsInCartridgeSubGroups">
-            <soap12:operation soapAction="urn:removeUsedCartridgeGroupsInCartridgeSubGroups" style="document"/>
+        <wsdl:operation name="addUsedCartridgesInCartridgeGroups">
+            <soap12:operation soapAction="urn:addUsedCartridgesInCartridgeGroups" style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
@@ -865,6 +865,12 @@
     </wsdl:binding>
     <wsdl:binding name="StratosManagerServiceHttpBinding" type="ns:StratosManagerServicePortType">
         <http:binding verb="POST"/>
+        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
+            <http:operation location="addUsedCartridgeGroupsInApplications"/>
+            <wsdl:input>
+                <mime:content type="application/xml" part="parameters"/>
+            </wsdl:input>
+        </wsdl:operation>
         <wsdl:operation name="applicationSignUpExist">
             <http:operation location="applicationSignUpExist"/>
             <wsdl:input>
@@ -883,12 +889,6 @@
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
-            <http:operation location="addUsedCartridgeGroupsInApplications"/>
-            <wsdl:input>
-                <mime:content type="application/xml" part="parameters"/>
-            </wsdl:input>
-        </wsdl:operation>
         <wsdl:operation name="getApplicationSignUps">
             <http:operation location="getApplicationSignUps"/>
             <wsdl:input>
@@ -922,14 +922,14 @@
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
-        <wsdl:operation name="addUsedCartridgesInCartridgeGroups">
-            <http:operation location="addUsedCartridgesInCartridgeGroups"/>
+        <wsdl:operation name="removeUsedCartridgeGroupsInCartridgeSubGroups">
+            <http:operation location="removeUsedCartridgeGroupsInCartridgeSubGroups"/>
             <wsdl:input>
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
-        <wsdl:operation name="removeUsedCartridgeGroupsInCartridgeSubGroups">
-            <http:operation location="removeUsedCartridgeGroupsInCartridgeSubGroups"/>
+        <wsdl:operation name="addUsedCartridgesInCartridgeGroups">
+            <http:operation location="addUsedCartridgesInCartridgeGroups"/>
             <wsdl:input>
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>


[45/50] [abbrv] stratos git commit: Rebase with stratos 4.1.x

Posted by ga...@apache.org.
http://git-wip-us.apache.org/repos/asf/stratos/blob/1ae9bb39/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl b/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
index 4197e8e..097f5a8 100644
--- a/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
+++ b/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
@@ -1,10 +1,10 @@
-<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://impl.services.autoscaler.stratos.apache.org" xmlns:ax27="http://rmi.java/xsd" xmlns:ax28="http://io.java/xsd" xmlns:ax23="http://common.stratos.apache.org/xsd" xmlns:ax21="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax22="http://partition.common.stratos.apache.org/xsd" xmlns:ax228="http://exceptions.stub.service.manager.stratos.apache.org/xsd" xmlns:ax219="http://pojo.applications.autoscaler.stratos.apache.org/xsd" xmlns:ax227="http://impl.stub.service.manager.stratos.apache.org/xsd" xmlns:ax215="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax222="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax213="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://sc
 hemas.xmlsoap.org/wsdl/http/" xmlns:ax224="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax211="http://policy.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax226="http://stub.service.manager.stratos.apache.org/xsd" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
+<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://impl.services.autoscaler.stratos.apache.org" xmlns:ax25="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax26="http://partition.common.stratos.apache.org/xsd" xmlns:ax21="http://pojo.applications.autoscaler.stratos.apache.org/xsd" xmlns:ax217="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:ax22="http://common.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax219="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax232="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax215="http://policy.exception.autoscaler.stratos.apache.org/xsd" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax212="http://io.java/xsd" xmlns:ax222="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
 xmlns:ax224="http://stub.service.manager.stratos.apache.org/xsd" xmlns:ax211="http://rmi.java/xsd" xmlns:ax225="http://impl.stub.service.manager.stratos.apache.org/xsd" xmlns:ax226="http://exceptions.stub.service.manager.stratos.apache.org/xsd" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
     <wsdl:types>
-        <xs:schema xmlns:ax29="http://io.java/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://rmi.java/xsd">
+        <xs:schema xmlns:ax213="http://io.java/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://rmi.java/xsd">
             <xs:import namespace="http://io.java/xsd"/>
             <xs:complexType name="RemoteException">
                 <xs:complexContent>
-                    <xs:extension base="ax29:IOException">
+                    <xs:extension base="ax212:IOException">
                         <xs:sequence>
                             <xs:element minOccurs="0" name="cause" nillable="true" type="xs:anyType"/>
                             <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
@@ -21,7 +21,7 @@
                     <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="instanceRoundingFactor" type="xs:float"/>
                     <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="loadThresholds" nillable="true" type="ax224:LoadThresholds"/>
+                    <xs:element minOccurs="0" name="loadThresholds" nillable="true" type="ax219:LoadThresholds"/>
                     <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                 </xs:sequence>
             </xs:complexType>
@@ -33,13 +33,13 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax220="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax23="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd">
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="ApplicationContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="components" nillable="true" type="ax219:ComponentContext"/>
+                    <xs:element minOccurs="0" name="components" nillable="true" type="ax21:ComponentContext"/>
                     <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="multiTenant" type="xs:boolean"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
@@ -52,10 +52,10 @@
             </xs:complexType>
             <xs:complexType name="ComponentContext">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="applicationClusterContexts" nillable="true" type="ax219:ApplicationClusterContext"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax219:CartridgeContext"/>
-                    <xs:element minOccurs="0" name="dependencyContext" nillable="true" type="ax219:DependencyContext"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax219:GroupContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="applicationClusterContexts" nillable="true" type="ax21:ApplicationClusterContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax21:CartridgeContext"/>
+                    <xs:element minOccurs="0" name="dependencyContext" nillable="true" type="ax21:DependencyContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax21:GroupContext"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="ApplicationClusterContext">
@@ -66,7 +66,7 @@
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="dependencyClusterIds" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax219:PersistenceContext"/>
+                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax21:PersistenceContext"/>
                     <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
                     <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="textPayload" nillable="true" type="xs:string"/>
@@ -75,7 +75,7 @@
             <xs:complexType name="PersistenceContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="persistenceRequired" type="xs:boolean"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax219:VolumeContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax21:VolumeContext"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="VolumeContext">
@@ -94,21 +94,21 @@
                 <xs:sequence>
                     <xs:element minOccurs="0" name="cartridgeMax" type="xs:int"/>
                     <xs:element minOccurs="0" name="cartridgeMin" type="xs:int"/>
-                    <xs:element minOccurs="0" name="subscribableInfoContext" nillable="true" type="ax219:SubscribableInfoContext"/>
+                    <xs:element minOccurs="0" name="subscribableInfoContext" nillable="true" type="ax21:SubscribableInfoContext"/>
                     <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="SubscribableInfoContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="artifactRepositoryContext" nillable="true" type="ax219:ArtifactRepositoryContext"/>
+                    <xs:element minOccurs="0" name="artifactRepositoryContext" nillable="true" type="ax21:ArtifactRepositoryContext"/>
                     <xs:element minOccurs="0" name="autoscalingPolicy" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="dependencyAliases" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="lvsVirtualIP" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="maxMembers" type="xs:int"/>
                     <xs:element minOccurs="0" name="minMembers" type="xs:int"/>
-                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax219:PersistenceContext"/>
+                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax21:PersistenceContext"/>
                     <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
                 </xs:sequence>
             </xs:complexType>
@@ -131,9 +131,9 @@
             <xs:complexType name="GroupContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax219:CartridgeContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax21:CartridgeContext"/>
                     <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax219:GroupContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax21:GroupContext"/>
                     <xs:element minOccurs="0" name="groupMaxInstances" type="xs:int"/>
                     <xs:element minOccurs="0" name="groupMinInstances" type="xs:int"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
@@ -144,8 +144,8 @@
             <xs:complexType name="ServiceGroup">
                 <xs:sequence>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridges" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="dependencies" nillable="true" type="ax222:Dependencies"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groups" nillable="true" type="ax222:ServiceGroup"/>
+                    <xs:element minOccurs="0" name="dependencies" nillable="true" type="ax232:Dependencies"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groups" nillable="true" type="ax232:ServiceGroup"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
@@ -157,227 +157,222 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax26="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax216="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax221="http://pojo.applications.autoscaler.stratos.apache.org/xsd" xmlns:ax223="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax225="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax214="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:ax233="http://common.stratos.apache.org/xsd" xmlns:ax212="http://policy.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax231="http://stub.service.manager.stratos.apache.org/xsd" xmlns:ax210="http://rmi.java/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
+        <xs:schema xmlns:ax29="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax24="http://pojo.applications.autoscaler.stratos.apache.org/xsd" xmlns:ax216="http://policy.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax218="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:ax220="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax223="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax229="http://stub.service.manager.stratos.apache.org/xsd" xmlns:ax214="http://rmi.java/xsd" xmlns:ax233="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax231="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
+            <xs:import namespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://rmi.java/xsd"/>
             <xs:import namespace="http://policy.exception.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://application.exception.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://pojo.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
+            <xs:import namespace="http://application.exception.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://stub.service.manager.stratos.apache.org/xsd"/>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
-            <xs:element name="getDeploymentPolicies">
+            <xs:import namespace="http://pojo.autoscaler.stratos.apache.org/xsd"/>
+            <xs:element name="getApplications">
                 <xs:complexType>
                     <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDeploymentPoliciesResponse">
+            <xs:element name="getApplicationsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:DeploymentPolicy"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax24:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceRemoteException">
+            <xs:element name="getApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="RemoteException" nillable="true" type="ax27:RemoteException"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidDeploymentPolicyException">
+            <xs:element name="getApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidDeploymentPolicyException" nillable="true" type="ax212:InvalidDeploymentPolicyException"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax24:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceDeploymentPolicyNotExistsException">
+            <xs:element name="getDeploymentPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="DeploymentPolicyNotExistsException" nillable="true" type="ax212:DeploymentPolicyNotExistsException"/>
+                        <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidPolicyException">
+            <xs:element name="getDeploymentPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidPolicyException" nillable="true" type="ax212:InvalidPolicyException"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceCloudControllerConnectionException">
+            <xs:element name="getApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CloudControllerConnectionException" nillable="true" type="ax214:CloudControllerConnectionException"/>
+                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateDeploymentPolicy">
+            <xs:element name="getApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax26:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateDeploymentPolicyResponse">
+            <xs:element name="AutoscalerServiceRemoteException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="RemoteException" nillable="true" type="ax214:RemoteException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidApplicationPolicyException">
+            <xs:element name="AutoscalerServiceInvalidDeploymentPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidApplicationPolicyException" nillable="true" type="ax216:InvalidApplicationPolicyException"/>
+                        <xs:element minOccurs="0" name="InvalidDeploymentPolicyException" nillable="true" type="ax216:InvalidDeploymentPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceApplicationPolicyAlreadyExistsException">
+            <xs:element name="AutoscalerServiceDeploymentPolicyAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicationPolicyAlreadyExistsException" nillable="true" type="ax212:ApplicationPolicyAlreadyExistsException"/>
+                        <xs:element minOccurs="0" name="DeploymentPolicyAlreadyExistsException" nillable="true" type="ax216:DeploymentPolicyAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplicationPolicy">
+            <xs:element name="addDeployementPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax26:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax29:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplicationPolicyResponse">
+            <xs:element name="addDeployementPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceUnremovablePolicyException">
+            <xs:element name="AutoscalerServiceDeploymentPolicyNotExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="UnremovablePolicyException" nillable="true" type="ax212:UnremovablePolicyException"/>
+                        <xs:element minOccurs="0" name="DeploymentPolicyNotExistsException" nillable="true" type="ax216:DeploymentPolicyNotExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeApplicationPolicy">
+            <xs:element name="AutoscalerServiceInvalidPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="InvalidPolicyException" nillable="true" type="ax216:InvalidPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeApplicationPolicyResponse">
+            <xs:element name="AutoscalerServiceCloudControllerConnectionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="CloudControllerConnectionException" nillable="true" type="ax217:CloudControllerConnectionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceApplicatioinPolicyNotExistsException">
+            <xs:element name="updateDeploymentPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicatioinPolicyNotExistsException" nillable="true" type="ax212:ApplicatioinPolicyNotExistsException"/>
+                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax29:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplicationPolicy">
+            <xs:element name="updateDeploymentPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax26:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplicationPolicyResponse">
+            <xs:element name="updateAutoScalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax219:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationPolicies">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getApplicationPoliciesResponse">
+            <xs:element name="updateAutoScalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplication">
+            <xs:element name="AutoscalerServiceUnremovablePolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="UnremovablePolicyException" nillable="true" type="ax216:UnremovablePolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationResponse">
+            <xs:element name="AutoscalerServicePolicyDoesNotExistException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax219:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="PolicyDoesNotExistException" nillable="true" type="ax216:PolicyDoesNotExistException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceApplicationDefinitionException">
+            <xs:element name="removeAutoScalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicationDefinitionException" nillable="true" type="ax216:ApplicationDefinitionException"/>
+                        <xs:element minOccurs="0" name="autoscalePolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceCartridgeGroupNotFoundException">
+            <xs:element name="removeAutoScalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CartridgeGroupNotFoundException" nillable="true" type="ax214:CartridgeGroupNotFoundException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceCartridgeNotFoundException">
+            <xs:element name="getAutoscalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax214:CartridgeNotFoundException"/>
+                        <xs:element minOccurs="0" name="autoscalingPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplication">
+            <xs:element name="getAutoscalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax219:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax219:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplicationResponse">
+            <xs:element name="AutoscalerServiceApplicationDefinitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="ApplicationDefinitionException" nillable="true" type="ax222:ApplicationDefinitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deleteApplication">
+            <xs:element name="AutoscalerServiceCartridgeGroupNotFoundException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="CartridgeGroupNotFoundException" nillable="true" type="ax217:CartridgeGroupNotFoundException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deleteApplicationResponse">
+            <xs:element name="AutoscalerServiceCartridgeNotFoundException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax217:CartridgeNotFoundException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="addApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax219:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax24:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -388,348 +383,355 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplications">
+            <xs:element name="updateApplication">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax24:ApplicationContext"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationsResponse">
+            <xs:element name="updateApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax219:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroup">
+            <xs:element name="existApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupResponse">
+            <xs:element name="existApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax222:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoscalingPolicy">
+            <xs:element name="deployApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalingPolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoscalingPolicyResponse">
+            <xs:element name="deployApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax224:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDeploymentPolicy">
+            <xs:element name="AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="StratosManagerServiceApplicationSignUpExceptionException" nillable="true" type="ax224:StratosManagerServiceApplicationSignUpExceptionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDeploymentPolicyResponse">
+            <xs:element name="AutoscalerServiceUnremovableApplicationException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="UnremovableApplicationException" nillable="true" type="ax222:UnremovableApplicationException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidServiceGroupException">
+            <xs:element name="undeployApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax216:InvalidServiceGroupException"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="force" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateServiceGroup">
+            <xs:element name="undeployApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeGroup" nillable="true" type="ax222:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateServiceGroupResponse">
+            <xs:element name="deleteApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="serviceGroupExist">
+            <xs:element name="deleteApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="serviceGroupExistResponse">
+            <xs:element name="AutoscalerServiceInvalidArgumentException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="InvalidArgumentException" nillable="true" type="ax217:InvalidArgumentException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceAutoScalerException">
+            <xs:element name="updateClusterMonitor">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="AutoScalerException" nillable="true" type="ax214:AutoScalerException"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="properties" nillable="true" type="ax22:Properties"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroups">
+            <xs:element name="updateClusterMonitorResponse">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupsResponse">
+            <xs:element name="AutoscalerServiceInvalidServiceGroupException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax222:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax222:InvalidServiceGroupException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeServiceGroup">
+            <xs:element name="addServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="groupName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax232:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeServiceGroupResponse">
+            <xs:element name="addServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationPolicy">
+            <xs:element name="updateServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="cartridgeGroup" nillable="true" type="ax232:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationPolicyResponse">
+            <xs:element name="updateServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoScalingPolicies">
+            <xs:element name="removeServiceGroup">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="groupName" nillable="true" type="xs:string"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoScalingPoliciesResponse">
+            <xs:element name="removeServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax224:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateAutoScalingPolicy">
+            <xs:element name="getServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax224:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateAutoScalingPolicyResponse">
+            <xs:element name="getServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax232:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServicePolicyDoesNotExistException">
+            <xs:element name="findClusterId">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="PolicyDoesNotExistException" nillable="true" type="ax212:PolicyDoesNotExistException"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeAutoScalingPolicy">
+            <xs:element name="findClusterIdResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeAutoScalingPolicyResponse">
+            <xs:element name="AutoscalerServiceAutoScalerException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="AutoScalerException" nillable="true" type="ax217:AutoScalerException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="existApplication">
+            <xs:element name="getServiceGroups">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getServiceGroupsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax232:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="existApplicationResponse">
+            <xs:element name="serviceGroupExist">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceAutoScalingPolicyAlreadyExistException">
+            <xs:element name="serviceGroupExistResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="AutoScalingPolicyAlreadyExistException" nillable="true" type="ax214:AutoScalingPolicyAlreadyExistException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addAutoScalingPolicy">
+            <xs:element name="undeployServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax224:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addAutoScalingPolicyResponse">
+            <xs:element name="undeployServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deployApplication">
+            <xs:element name="getApplicationNetworkPartitions">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deployApplicationResponse">
+            <xs:element name="getApplicationNetworkPartitionsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException">
+            <xs:element name="AutoscalerServiceInvalidApplicationPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="StratosManagerServiceApplicationSignUpExceptionException" nillable="true" type="ax226:StratosManagerServiceApplicationSignUpExceptionException"/>
+                        <xs:element minOccurs="0" name="InvalidApplicationPolicyException" nillable="true" type="ax222:InvalidApplicationPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceUnremovableApplicationException">
+            <xs:element name="AutoscalerServiceApplicationPolicyAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="UnremovableApplicationException" nillable="true" type="ax216:UnremovableApplicationException"/>
+                        <xs:element minOccurs="0" name="ApplicationPolicyAlreadyExistsException" nillable="true" type="ax216:ApplicationPolicyAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployApplication">
+            <xs:element name="addApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="force" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax29:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployApplicationResponse">
+            <xs:element name="addApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidArgumentException">
+            <xs:element name="removeApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidArgumentException" nillable="true" type="ax214:InvalidArgumentException"/>
+                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterMonitor">
+            <xs:element name="removeApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterMonitorResponse">
+            <xs:element name="AutoscalerServiceApplicatioinPolicyNotExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="ApplicatioinPolicyNotExistsException" nillable="true" type="ax216:ApplicatioinPolicyNotExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addServiceGroup">
+            <xs:element name="updateApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax222:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax29:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addServiceGroupResponse">
+            <xs:element name="updateApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="findClusterId">
+            <xs:element name="getApplicationPolicies">
                 <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
-                    </xs:sequence>
+                    <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="findClusterIdResponse">
+            <xs:element name="getApplicationPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationNetworkPartitions">
+            <xs:element name="getAutoScalingPolicies">
                 <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                    </xs:sequence>
+                    <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationNetworkPartitionsResponse">
+            <xs:element name="getAutoScalingPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax219:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceDeploymentPolicyAlreadyExistsException">
+            <xs:element name="AutoscalerServiceAutoScalingPolicyAlreadyExistException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="DeploymentPolicyAlreadyExistsException" nillable="true" type="ax212:DeploymentPolicyAlreadyExistsException"/>
+                        <xs:element minOccurs="0" name="AutoScalingPolicyAlreadyExistException" nillable="true" type="ax217:AutoScalingPolicyAlreadyExistException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addDeployementPolicy">
+            <xs:element name="addAutoScalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax26:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax219:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addDeployementPolicyResponse">
+            <xs:element name="addAutoScalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
@@ -750,28 +752,26 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployServiceGroup">
+            <xs:element name="getDeploymentPolicies">
                 <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
-                    </xs:sequence>
+                    <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployServiceGroupResponse">
+            <xs:element name="getDeploymentPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
         </xs:schema>
-        <xs:schema xmlns:ax25="http://partition.common.stratos.apache.org/xsd" xmlns:ax217="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax28="http://partition.common.stratos.apache.org/xsd" xmlns:ax210="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd">
             <xs:import namespace="http://partition.common.stratos.apache.org/xsd"/>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="DeploymentPolicy">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitionRefs" nillable="true" type="ax25:NetworkPartitionRef"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitionRefs" nillable="true" type="ax28:NetworkPartitionRef"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="ApplicationPolicy">
@@ -780,26 +780,26 @@
                     <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitionGroups" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitions" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax22:Properties"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax229="http://exceptions.stub.service.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.stub.service.manager.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax227="http://exceptions.stub.service.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.stub.service.manager.stratos.apache.org/xsd">
             <xs:import namespace="http://exceptions.stub.service.manager.stratos.apache.org/xsd"/>
             <xs:complexType name="StratosManagerServiceApplicationSignUpException">
                 <xs:sequence>
-                    <xs:element minOccurs="0" name="applicationSignUpException" nillable="true" type="ax229:ApplicationSignUpException"/>
+                    <xs:element minOccurs="0" name="applicationSignUpException" nillable="true" type="ax227:ApplicationSignUpException"/>
                     <xs:element minOccurs="0" name="applicationSignUpExceptionSpecified" type="xs:boolean"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax24="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://partition.common.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax27="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://partition.common.stratos.apache.org/xsd">
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="NetworkPartitionRef">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="partitionAlgo" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="partitionRefs" nillable="true" type="ax22:PartitionRef"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="partitionRefs" nillable="true" type="ax26:PartitionRef"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="PartitionRef">
@@ -808,47 +808,47 @@
                     <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="partitionMax" type="xs:int"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax27:Properties"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax230="http://impl.stub.service.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://stub.service.manager.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax228="http://impl.stub.service.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://stub.service.manager.stratos.apache.org/xsd">
             <xs:import namespace="http://impl.stub.service.manager.stratos.apache.org/xsd"/>
             <xs:complexType name="StratosManagerServiceApplicationSignUpExceptionException">
                 <xs:sequence>
-                    <xs:element minOccurs="0" name="faultMessage" nillable="true" type="ax227:StratosManagerServiceApplicationSignUpException"/>
+                    <xs:element minOccurs="0" name="faultMessage" nillable="true" type="ax228:StratosManagerServiceApplicationSignUpException"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax232="http://exception.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://application.exception.autoscaler.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax230="http://exception.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://application.exception.autoscaler.stratos.apache.org/xsd">
             <xs:import namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
-            <xs:complexType name="InvalidApplicationPolicyException">
+            <xs:complexType name="ApplicationDefinitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ApplicationDefinitionException">
+            <xs:complexType name="UnremovableApplicationException">
+                <xs:complexContent>
+                    <xs:extension base="ax217:AutoScalerException">
+                        <xs:sequence/>
+                    </xs:extension>
+                </xs:complexContent>
+            </xs:complexType>
+            <xs:complexType name="InvalidServiceGroupException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidServiceGroupException">
+            <xs:complexType name="InvalidApplicationPolicyException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="UnremovableApplicationException">
-                <xs:complexContent>
-                    <xs:extension base="ax232:AutoScalerException">
-                        <xs:sequence/>
-                    </xs:extension>
-                </xs:complexContent>
-            </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://common.stratos.apache.org/xsd">
             <xs:complexType name="Properties">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax23:Property"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax22:Property"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="Property">
@@ -863,13 +863,16 @@
                 <xs:sequence/>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax218="http://exception.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://policy.exception.autoscaler.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax221="http://exception.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://policy.exception.autoscaler.stratos.apache.org/xsd">
             <xs:import namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
             <xs:complexType name="InvalidDeploymentPolicyException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="DeploymentPolicyAlreadyExistsException">
+                <xs:sequence/>
+            </xs:complexType>
             <xs:complexType name="DeploymentPolicyNotExistsException">
                 <xs:sequence/>
             </xs:complexType>
@@ -878,31 +881,28 @@
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ApplicationPolicyAlreadyExistsException">
-                <xs:sequence/>
-            </xs:complexType>
             <xs:complexType name="UnremovablePolicyException">
                 <xs:complexContent>
-                    <xs:extension base="ax218:AutoScalerException">
+                    <xs:extension base="ax217:AutoScalerException">
                         <xs:sequence/>
                     </xs:extension>
                 </xs:complexContent>
             </xs:complexType>
-            <xs:complexType name="ApplicatioinPolicyNotExistsException">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
             <xs:complexType name="PolicyDoesNotExistException">
                 <xs:complexContent>
-                    <xs:extension base="ax218:AutoScalerException">
+                    <xs:extension base="ax217:AutoScalerException">
                         <xs:sequence/>
                     </xs:extension>
                 </xs:complexContent>
             </xs:complexType>
-            <xs:complexType name="DeploymentPolicyAlreadyExistsException">
+            <xs:complexType name="ApplicationPolicyAlreadyExistsException">
                 <xs:sequence/>
             </xs:complexType>
+            <xs:complexType name="ApplicatioinPolicyNotExistsException">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://io.java/xsd">
             <xs:complexType name="IOException">
@@ -930,16 +930,22 @@
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="AutoScalingPolicyAlreadyExistException">
-                <xs:sequence/>
-            </xs:complexType>
             <xs:complexType name="InvalidArgumentException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="AutoScalingPolicyAlreadyExistException">
+                <xs:sequence/>
+            </xs:complexType>
         </xs:schema>
     </wsdl:types>
+    <wsdl:message name="getAutoScalingPoliciesRequest">
+        <wsdl:part name="parameters" element="ns:getAutoScalingPolicies"/>
+    </wsdl:message>
+    <wsdl:message name="getAutoScalingPoliciesResponse">
+        <wsdl:part name="parameters" element="ns:getAutoScalingPoliciesResponse"/>
+    </wsdl:message>
     <wsdl:message name="removeAutoScalingPolicyRequest">
         <wsdl:part name="parameters" element="ns:removeAutoScalingPolicy"/>
     </wsdl:message>
@@ -952,11 +958,11 @@
     <wsdl:message name="AutoscalerServicePolicyDoesNotExistException">
         <wsdl:part name="parameters" element="ns:AutoscalerServicePolicyDoesNotExistException"/>
     </wsdl:message>
-    <wsdl:message name="getAutoScalingPoliciesRequest">
-        <wsdl:part name="parameters" element="ns:getAutoScalingPolicies"/>
+    <wsdl:message name="getDeploymentPoliciesRequest">
+        <wsdl:part name="parameters" element="ns:getDeploymentPolicies"/>
     </wsdl:message>
-    <wsdl:message name="getAutoScalingPoliciesResponse">
-        <wsdl:part name="parameters" element="ns:getAutoScalingPoliciesResponse"/>
+    <wsdl:message name="getDeploymentPoliciesResponse">
+        <wsdl:part name="parameters" element="ns:getDeploymentPoliciesResponse"/>
     </wsdl:message>
     <wsdl:message name="getApplicationPoliciesRequest">
         <wsdl:part name="parameters" element="ns:getApplicationPolicies"/>
@@ -979,12 +985,6 @@
     <wsdl:message name="AutoscalerServiceApplicationPolicyAlreadyExistsException">
         <wsdl:part name="parameters" element="ns:AutoscalerServiceApplicationPolicyAlreadyExistsException"/>
     </wsdl:message>
-    <wsdl:message name="getDeploymentPoliciesRequest">
-        <wsdl:part name="parameters" element="ns:getDeploymentPolicies"/>
-    </wsdl:message>
-    <wsdl:message name="getDeploymentPoliciesResponse">
-        <wsdl:part name="parameters" element="ns:getDeploymentPoliciesResponse"/>
-    </wsdl:message>
     <wsdl:message name="getServiceGroupsRequest">
         <wsdl:part name="parameters" element="ns:getServiceGroups"/>
     </wsdl:message>
@@ -1186,28 +1186,32 @@
     <wsdl:message name="removeServiceGroupResponse">
         <wsdl:part name="parameters" element="ns:removeServiceGroupResponse"/>
     </wsdl:message>
-    <wsdl:message name="getApplicationPolicyRequest">
-        <wsdl:part name="parameters" element="ns:getApplicationPolicy"/>
-    </wsdl:message>
-    <wsdl:message name="getApplicationPolicyResponse">
-        <wsdl:part name="parameters" element="ns:getApplicationPolicyResponse"/>
-    </wsdl:message>
     <wsdl:message name="updateApplicationRequest">
         <wsdl:part name="parameters" element="ns:updateApplication"/>
     </wsdl:message>
     <wsdl:message name="updateApplicationResponse">
         <wsdl:part name="parameters" element="ns:updateApplicationResponse"/>
     </wsdl:message>
+    <wsdl:message name="getApplicationPolicyRequest">
+        <wsdl:part name="parameters" element="ns:getApplicationPolicy"/>
+    </wsdl:message>
+    <wsdl:message name="getApplicationPolicyResponse">
+        <wsdl:part name="parameters" element="ns:getApplicationPolicyResponse"/>
+    </wsdl:message>
     <wsdl:portType name="AutoscalerServicePortType">
+        <wsdl:operation name="getAutoScalingPolicies">
+            <wsdl:input message="ns:getAutoScalingPoliciesRequest" wsaw:Action="urn:getAutoScalingPolicies"/>
+            <wsdl:output message="ns:getAutoScalingPoliciesResponse" wsaw:Action="urn:getAutoScalingPoliciesResponse"/>
+        </wsdl:operation>
         <wsdl:operation name="removeAutoScalingPolicy">
             <wsdl:input message="ns:removeAutoScalingPolicyRequest" wsaw:Action="urn:removeAutoScalingPolicy"/>
             <wsdl:output message="ns:removeAutoScalingPolicyResponse" wsaw:Action="urn:removeAutoScalingPolicyResponse"/>
             <wsdl:fault message="ns:AutoscalerServiceUnremovablePolicyException" name="AutoscalerServiceUnremovablePolicyException" wsaw:Action="urn:removeAutoScalingPolicyAutoscalerServiceUnremovablePolicyException"/>
             <wsdl:fault message="ns:AutoscalerServicePolicyDoesNotExistException" name="AutoscalerServicePolicyDoesNotExistException" wsaw:Action="urn:removeAutoScalingPolicyAutoscalerServicePolicyDoesNotExistException"/>
         </wsdl:operation>
-        <wsdl:operation name="getAutoScalingPolicies">
-            <wsdl:input message="ns:getAutoScalingPoliciesRequest" wsaw:Action="urn:getAutoScalingPolicies"/>
-            <wsdl:output message="ns:getAutoScalingPoliciesResponse" wsaw:Action="urn:getAutoScalingPoliciesResponse"/>
+        <wsdl:operation name="getDeploymentPolicies">
+            <wsdl:input message="ns:getDeploymentPoliciesRequest" wsaw:Action="urn:getDeploymentPolicies"/>
+            <wsdl:output message="ns:getDeploymentPoliciesResponse" wsaw:Action="urn:getDeploymentPoliciesResponse"/>
         </wsdl:operation>
         <wsdl:operation name="getApplicationPolicies">
             <wsdl:input message="ns:getApplicationPoliciesRequest" wsaw:Action="urn:getApplicationPolicies"/>
@@ -1220,10 +1224,6 @@
             <wsdl:fault message="ns:AutoscalerServiceInvalidApplicationPolicyException" name="AutoscalerServiceInvalidApplicationPolicyException" wsaw:Action="urn:addApplicationPolicyAutoscalerServiceInvalidApplicationPolicyException"/>
             <wsdl:fault message="ns:AutoscalerServiceApplicationPolicyAlreadyExistsException" name="AutoscalerServiceApplicationPolicyAlreadyExistsException" wsaw:Action="urn:addApplicationPolicyAutoscalerServiceApplicationPolicyAlreadyExistsException"/>
         </wsdl:operation>
-        <wsdl:operation name="getDeploymentPolicies">
-            <wsdl:input message="ns:getDeploymentPoliciesRequest" wsaw:Action="urn:getDeploymentPolicies"/>
-            <wsdl:output message="ns:getDeploymentPoliciesResponse" wsaw:Action="urn:getDeploymentPoliciesResponse"/>
-        </wsdl:operation>
         <wsdl:operation name="getServiceGroups">
             <wsdl:input message="ns:getServiceGroupsRequest" wsaw:Action="urn:getServiceGroups"/>
             <wsdl:output message="ns:getServiceGroupsResponse" wsaw:Action="urn:getServiceGroupsResponse"/>
@@ -1359,10 +1359,6 @@
             <wsdl:output message="ns:removeServiceGroupResponse" wsaw:Action="urn:removeServiceGroupResponse"/>
             <wsdl:fault message="ns:AutoscalerServiceCartridgeGroupNotFoundException" name="AutoscalerServiceCartridgeGroupNotFoundException" wsaw:Action="urn:removeServiceGroupAutoscalerServiceCartridgeGroupNotFoundException"/>
         </wsdl:operation>
-        <wsdl:operation name="getApplicationPolicy">
-            <wsdl:input message="ns:getApplicationPolicyRequest" wsaw:Action="urn:getApplicationPolicy"/>
-            <wsdl:output message="ns:getApplicationPolicyResponse" wsaw:Action="urn:getApplicationPolicyResponse"/>
-        </wsdl:operation>
         <wsdl:operation name="updateApplication">
             <wsdl:input message="ns:updateApplicationRequest" wsaw:Action="urn:updateApplication"/>
             <wsdl:output message="ns:updateApplicationResponse" wsaw:Action="urn:updateApplicationResponse"/>
@@ -1370,18 +1366,13 @@
             <wsdl:fault message="ns:AutoscalerServiceCartridgeGroupNotFoundException" name="AutoscalerServiceCartridgeGroupNotFoundException" wsaw:Action="urn:updateApplicationAutoscalerServiceCartridgeGroupNotFoundException"/>
             <wsdl:fault message="ns:AutoscalerServiceCartridgeNotFoundException" name="AutoscalerServiceCartridgeNotFoundException" wsaw:Action="urn:updateApplicationAutoscalerServiceCartridgeNotFoundException"/>
         </wsdl:operation>
+        <wsdl:operation name="getApplicationPolicy">
+            <wsdl:input message="ns:getApplicationPolicyRequest" wsaw:Action="urn:getApplicationPolicy"/>
+            <wsdl:output message="ns:getApplicationPolicyResponse" wsaw:Action="urn:getApplicationPolicyResponse"/>
+        </wsdl:operation>
     </wsdl:portType>
     <wsdl:binding name="AutoscalerServiceSoap11Binding" type="ns:AutoscalerServicePortType">
         <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
-        <wsdl:operation name="getAutoScalingPolicies">
-            <soap:operation soapAction="urn:getAutoScalingPolicies" style="document"/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="removeAutoScalingPolicy">
             <soap:operation soapAction="urn:removeAutoScalingPolicy" style="document"/>
             <wsdl:input>
@@ -1397,8 +1388,8 @@
                 <soap:fault use="literal" name="AutoscalerServiceUnremovablePolicyException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getDeploymentPolicies">
-            <soap:operation soapAction="urn:getDeploymentPolicies" style="document"/>
+        <wsdl:operation name="getAutoScalingPolicies">
+            <soap:operation soapAction="urn:getAutoScalingPolicies" style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
@@ -1433,6 +1424,15 @@
                 <soap:body use="literal"/>
             </wsdl:output>
         </wsdl:operation>
+        <wsdl:operation name="getDeploymentPolicies">
+            <soap:operation soapAction="urn:getDeploymentPolicies" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="getServiceGroups">
             <soap:operation soapAction="urn:getServiceGroups" style="document"/>
             <wsdl:input>
@@ -1760,6 +1760,15 @@
                 <soap:fault use="literal" name="AutoscalerServiceCartridgeGroupNotFoundException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="getApplicationPolicy">
+            <soap:operation soapAction="urn:getApplicationPolicy" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="updateApplication">
             <soap:operation soapAction="urn:updateApplication" style="document"/>
             <wsdl:input>
@@ -1778,27 +1787,9 @@
                 <soap:fault use="literal" name="AutoscalerServiceCartridgeGroupNotFoundException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getApplicationPolicy">
-            <soap:operation soapAction="urn:getApplicationPolicy" style="document"/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
     </wsdl:binding>
     <wsdl:binding name="AutoscalerServiceSoap12Binding" type="ns:AutoscalerServicePortType">
         <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
-        <wsdl:operation name="getAutoScalingPolicies">
-            <soap12:operation soapAction="urn:getAutoScalingPolicies" style="document"/>
-            <wsdl:input>
-                <soap12:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap12:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="removeAutoScalingPolicy">
             <soap12:operation soapAction="urn:removeAutoScalingPolicy" style="document"/>
             <wsdl:input>
@@ -1814,8 +1805,8 @@
                 <soap12:fault use="literal" name="AutoscalerServiceUnremovablePolicyException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getDeploymentPolicies">
-            <soap12:operation soapAction="urn:getDeploymentPolicies" style="document"/>
+        <wsdl:operation name="getAutoScalingPolicies">
+            <soap12:operation soapAction="urn:getAutoScalingPolicies" style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
@@ -1850,6 +1841,15 @@
                 <soap12:body use="literal"/>
             </wsdl:output>
         </wsdl:operation>
+        <wsdl:operation name="getDeploymentPolicies">
+            <soap12:operation soapAction="urn:getDeploymentPolicies" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="getServiceGroups">
             <soap12:operation soapAction="urn:getServiceGroups" style="document"/>
             <wsdl:input>
@@ -2177,6 +2177,15 @@
                 <soap12:fault use="literal" name="AutoscalerServiceCartridgeGroupNotFoundException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="getApplicationPolicy">
+            <soap12:operation soapAction="urn:getApplicationPolicy" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="updateApplication">
             <soap12:operation soapAction="urn:updateApplication" style="document"/>
             <wsdl:input>
@@ -2195,20 +2204,11 @@
                 <soap12:fault use="literal" name="AutoscalerServiceCartridgeGroupNotFoundException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getApplicationPolicy">
-            <soap12:operation soapAction="urn:getApplicationPolicy" style="document"/>
-            <wsdl:input>
-                <soap12:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap12:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
     </wsdl:binding>
     <wsdl:binding name="AutoscalerServiceHttpBinding" type="ns:AutoscalerServicePortType">
         <http:binding verb="POST"/>
-        <wsdl:operation name="getAutoScalingPolicies">
-            <http:operation location="getAutoScalingPolicies"/>
+        <wsdl:operation name="removeAutoScalingPolicy">
+            <http:operation location="removeAutoScalingPolicy"/>
             <wsdl:input>
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
@@ -2216,8 +2216,8 @@
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="removeAutoScalingPolicy">
-            <http:operation location="removeAutoScalingPolicy"/>
+        <wsdl:operation name="getAutoScalingPolicies">
+            <http:operation location="getAutoScalingPolicies"/>
             <wsdl:input>
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
@@ -2225,8 +2225,8 @@
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="getDeploymentPolicies">
-            <http:operation location="getDeploymentPolicies"/>
+        <wsdl:operation name="addApplicationPolicy">
+            <http:operation location="addApplicationPolicy"/>
             <wsdl:input>
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
@@ -2234,8 +2234,8 @@
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="addApplicationPolicy">
-            <http:operation location="addApplicationPolicy"/>
+        <wsdl:operation name="getApplicationPolicies">
+            <http:operation location="getApplicationPolicies"/>
             <wsdl:input>
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
@@ -2243,8 +2243,8 @@
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="getApplicationPolicies">
-            <http:operation location="getApplicationPolicies"/>
+        <wsdl:operation name="getDeploymentPolicies">
+            <http:operation location="getDeploymentPolicies"/>
             <wsdl:input>
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
@@ -2486,8 +2486,8 @@
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="updateApplicatio

<TRUNCATED>

[39/50] [abbrv] stratos git commit: Updating and formatting cep and das README files

Posted by ga...@apache.org.
Updating and formatting cep and das README files


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

Branch: refs/heads/master
Commit: 5400c4d613f2593dd3c9567d49711c31295ea63e
Parents: 13c613e
Author: Thanuja <th...@wso2.com>
Authored: Sun Dec 6 15:05:17 2015 +0530
Committer: Thanuja <th...@wso2.com>
Committed: Sun Dec 6 15:05:17 2015 +0530

----------------------------------------------------------------------
 extensions/cep/modules/distribution/README.md   | 34 +++++++++++++--
 .../artifacts/metering-dashboard/README.md      | 36 +++++++++++-----
 .../metering-dashboard/ues-patch/README.md      |  5 ++-
 .../artifacts/monitoring-dashboard/README.md    | 33 +++++++++-----
 extensions/das/modules/distribution/README.md   | 45 +++++++++++++++++++-
 .../das/modules/stratos-das-extension/README.md | 10 +++--
 6 files changed, 132 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/5400c4d6/extensions/cep/modules/distribution/README.md
----------------------------------------------------------------------
diff --git a/extensions/cep/modules/distribution/README.md b/extensions/cep/modules/distribution/README.md
index ebf6bf2..03358a4 100755
--- a/extensions/cep/modules/distribution/README.md
+++ b/extensions/cep/modules/distribution/README.md
@@ -1,8 +1,36 @@
 # Apache Stratos CEP Extensions
 
-Apache Stratos Complex Event Processor (CEP) extensions include Window Processors for processing 
-health statistic events. These extensions are available in Stratos binary distribution, in a 
-distributed deployment where CEP is run externally, these extensions need to be deployed manually.
+Apache Stratos Complex Event Processor (CEP) extensions include Window Processors for processing health statistic
+events. These extensions are available in Stratos binary distribution, in a distributed deployment where CEP is run
+externally, these extensions need to be deployed manually.
+
+You can setup stratos with either WSO2 CEP 3.0.0 or WSO2 CEP 3.1.0. Please note that only WSO2 CEP 3.1.0 supports
+highly available clustered deployment.
+
+1. Copy jar files in apache-stratos-cep-extension-4.1.5/lib folder to <CEP_HOME>/repository/components/lib. These jar
+files are common to both WSO2 CEP 3.0.0 and WSO2 CEP 3.1.0
+
+2. Copy files in apache-stratos-cep-extension-4.1.5/wso2cep-<version>/eventbuilders to
+<CEP_HOME>/repository/deployment/server/eventbuilders
+
+3. Copy files in apache-stratos-cep-extension-4.1.5/wso2cep-<version>/eventformatters to
+<CEP_HOME>/repository/deployment/server/eventformatters
+
+4. Copy files in apache-stratos-cep-extension-4.1.5/wso2cep-<version>/executionplans to
+<CEP_HOME>/repository/deployment/server/executionplans
+
+5. Copy files in apache-stratos-cep-extension-4.1.5/wso2cep-<version>/inputeventadaptors to
+<CEP_HOME>/repository/deployment/server/inputeventadaptors
+
+6. Copy files in apache-stratos-cep-extension-4.1.5/wso2cep-<version>/outputeventadaptors to
+<CEP_HOME>/repository/deployment/server/outputeventadaptors
+
+7. Copy files in apache-stratos-cep-extension-4.1.5/wso2cep-<version>/streamdefinitions to
+<CEP_HOME>/repository/deployment/server/streamdefinitions
+
+8. Update message broker endpoint in <CEP_HOME>/repository/deployment/server/outputeventadaptors/JMSOutputAdaptor.xml
+
+9. Copy files in apache-stratos-cep-extension-4.1.5/wso2cep-<version>/lib to <CEP_HOME>/repository/components/lib
 
 Please refer below link for more information on WSO2 CEP.
 http://wso2.com/products/complex-event-processor/

http://git-wip-us.apache.org/repos/asf/stratos/blob/5400c4d6/extensions/das/modules/artifacts/metering-dashboard/README.md
----------------------------------------------------------------------
diff --git a/extensions/das/modules/artifacts/metering-dashboard/README.md b/extensions/das/modules/artifacts/metering-dashboard/README.md
index 21ea33f..c0df3d5 100644
--- a/extensions/das/modules/artifacts/metering-dashboard/README.md
+++ b/extensions/das/modules/artifacts/metering-dashboard/README.md
@@ -1,13 +1,27 @@
 # Apache Stratos Metering Dashboard
 
-This directory contains following artifacts: <br/>
-(1) capps - Includes stratos-metering-service car file which bundles all Event Stream, Event receiver, Even Store, Gadgets, SparkScripts and Dashboard artifacts. <br/>
-(2) jaggery-files <br/>
-(3) ues-patch <br/>
-
-Follow the below steps to generate the metering dashboard: <br/>
-1. Follow instruction given in <Stratos-SOURCE-HOME>/extensions/das/stratos-das-extension/README.md file to add stratos-das-extension jar to DAS. <br/>
-2. Add jaggery files which can be found in <Stratos-DAS-Distribution>/metering-dashboard/jaggery-files/ to DAS server path <DAS_HOME/repository/deployment/server/jaggeryapps/portal/controllers/apis/ <br/>
-3. Create MySQL database and tables using queries in <Stratos-DAS-Distribution>/metering-dashboard/metering-mysqlscript.sql manually. <br/>
-4. Apply ues-patch files in <Stratos-DAS-Distribution>/metering-dashboard/ues-patch/ to DAS as mentioned in its README file. <br/>
-5. Add stratos-metering-service car file in <Stratos-DAS-Distribution>/metering-dashboard/ to <DAS-HOME>/repository/deployment/server/carbonapps/ to generate the metering dashboard. <br/>
\ No newline at end of file
+## This directory contains following artifacts:
+
+(1) capps - Includes stratos-metering-service car file which bundles all Event Stream, Event receiver, Even Store,
+            Gadgets, SparkScripts and Dashboard artifacts.
+
+(2) jaggery-files
+
+(3) ues-patch
+
+## Follow the below steps to generate the metering dashboard:
+
+1. Follow instruction given in <Stratos-SOURCE-HOME>/extensions/das/stratos-das-extension/README.md file to add
+stratos-das-extension jar to DAS.
+
+2. Add jaggery files which can be found in <Stratos-DAS-Distribution>/metering-dashboard/jaggery-files/ to DAS server
+ path <DAS_HOME/repository/deployment/server/jaggeryapps/portal/controllers/apis/
+
+3. Create MySQL database and tables using queries in
+<Stratos-DAS-Distribution>/metering-dashboard/metering-mysqlscript.sql manually.
+
+4. Apply ues-patch files in <Stratos-DAS-Distribution>/metering-dashboard/ues-patch/ to DAS as mentioned in its
+README file.
+
+5. Add stratos-metering-service car file in <Stratos-DAS-Distribution>/metering-dashboard/ to
+<DAS-HOME>/repository/deployment/server/carbonapps/ to generate the metering dashboard.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/5400c4d6/extensions/das/modules/artifacts/metering-dashboard/ues-patch/README.md
----------------------------------------------------------------------
diff --git a/extensions/das/modules/artifacts/metering-dashboard/ues-patch/README.md b/extensions/das/modules/artifacts/metering-dashboard/ues-patch/README.md
index 2bafefa..0d85e02 100644
--- a/extensions/das/modules/artifacts/metering-dashboard/ues-patch/README.md
+++ b/extensions/das/modules/artifacts/metering-dashboard/ues-patch/README.md
@@ -2,7 +2,10 @@ This folder (ues-patch) contains fix for DAS-3.0.0 analytics dashboard to  suppo
 dashboard url and publish the values to gadgets.
 
 You can find the related UES product jira here: https://wso2.org/jira/browse/UES-582
+
 Please follow below steps to apply the patch locally:
 
-1. Copy 'ues-gadgets.js' and 'ues-pubsub.js' files to <DAS-HOME>/repository/deployment/server/jaggeryapps/portal/js/ folder.
+1. Copy 'ues-gadgets.js' and 'ues-pubsub.js' files to <DAS-HOME>/repository/deployment/server/jaggeryapps/portal/js/ 
+folder.
+
 2. Copy 'dashboard.jag' file to <DAS-HOME>/repository/deployment/server/jaggeryapps/portal/theme/templates/ folder.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/5400c4d6/extensions/das/modules/artifacts/monitoring-dashboard/README.md
----------------------------------------------------------------------
diff --git a/extensions/das/modules/artifacts/monitoring-dashboard/README.md b/extensions/das/modules/artifacts/monitoring-dashboard/README.md
index d80ff14..968b8cc 100644
--- a/extensions/das/modules/artifacts/monitoring-dashboard/README.md
+++ b/extensions/das/modules/artifacts/monitoring-dashboard/README.md
@@ -1,12 +1,25 @@
 # Apache Stratos Monitoring Dashboard
 
-This directory contains following artifacts: <br />
-(1) capps - Includes stratos-monitoring-service car file which bundles all Event Stream, Event receiver, Even Store, Gadgets, SparkScripts and Dashboard artifacts. <br />
-(2) jaggery-files <br />
-
-Follow the below steps to generate the monitoring dashboard: <br />
-1. Add jaggery files which can be found in <Stratos-DAS-Distribution>/monitoring-dashboard/jaggery-files/ to DAS path '<DAS_HOME/repository/deployment/server/jaggeryapps/portal/controllers/apis/' <br/>
-2. Create MySQL database and tables using queries in <Stratos-DAS-Distribution>/monitoring-dashboard/monitoring-mysqlscript.sql manually. <br />
-3. Copy CEP  EventFormatter artifacts in <Stratos-DAS-Distribution>/wso2cep-<version>/eventformatters/ to <CEP-HOME>/repository/deployment/server/eventformatters/. <br />
-4. Copy CEP OutputEventAdapter artifact in <Stratos-DAS-Distribution>/wso2cep-<version>/outputeventadaptors/ to <CEP-HOME>/repository/deployment/server/outputeventadaptors  and update the tcp and ssl ports according to DAS server port offset. <br />
-5. Add stratos-monitoring-service car file in <Stratos-DAS-Distribution>/monitoring-dashboard/ to <DAS-HOME>/repository/deployment/server/carbonapps/ to generate the monitoring dashboard. <br />
\ No newline at end of file
+## This directory contains following artifacts:
+(1) capps - Includes stratos-monitoring-service car file which bundles all Event Stream, Event receiver, Even Store,
+Gadgets, SparkScripts and Dashboard artifacts.
+
+(2) jaggery-files
+
+## Follow the below steps to generate the monitoring dashboard:
+
+1. Add jaggery files which can be found in <Stratos-DAS-Distribution>/monitoring-dashboard/jaggery-files/ to DAS path
+ <DAS_HOME/repository/deployment/server/jaggeryapps/portal/controllers/apis/.
+
+2. Create MySQL database and tables using queries in
+<Stratos-DAS-Distribution>/monitoring-dashboard/monitoring-mysqlscript.sql manually.
+
+3. Copy CEP  EventFormatter artifacts in <Stratos-DAS-Distribution>/wso2cep-<version>/eventformatters/ to
+<CEP-HOME>/repository/deployment/server/eventformatters/.
+
+4. Copy CEP OutputEventAdapter artifact in <Stratos-DAS-Distribution>/wso2cep-<version>/outputeventadaptors/ to
+<CEP-HOME>/repository/deployment/server/outputeventadaptors  and update the tcp and ssl ports according to DAS server
+ port offset.
+
+5. Add stratos-monitoring-service car file in <Stratos-DAS-Distribution>/monitoring-dashboard/ to
+<DAS-HOME>/repository/deployment/server/carbonapps/ to generate the monitoring dashboard.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/5400c4d6/extensions/das/modules/distribution/README.md
----------------------------------------------------------------------
diff --git a/extensions/das/modules/distribution/README.md b/extensions/das/modules/distribution/README.md
index 1354716..0ae46c9 100644
--- a/extensions/das/modules/distribution/README.md
+++ b/extensions/das/modules/distribution/README.md
@@ -1,7 +1,48 @@
 # Apache Stratos DAS Extensions
 
-Apache Stratos Data Analytics Server (DAS) extensions include DAS artifacts and spark udf to run spark script.
-These extensions need to be deployed manually when running DAS externally.
+Apache Stratos Data Analytics Server (DAS) extensions include DAS artifacts and stratos-das-extension jar which has
+spark UDF (User Defined Funtion) used in spark script. You can configure an external DAS for stratos metering and
+monitoring feature as below:
+
+## Follow the below steps to configure DAS for metering dashboard:
+
+1. Add org.apache.stratos.das.extension-<stratos-version>.jar file to <DAS-HOME>/repository/components/lib/.
+
+2. Add UDF class '<class-name>org.apache.stratos.das.extension.TimeUDF</class-name>' to 'spark-udf-config.xml' file 
+in <DAS-HOME>/repository/conf/analytics/spark/' folder.
+
+3. Add jaggery files which can be found in <Stratos-DAS-Distribution>/metering-dashboard/jaggery-files/ to DAS server
+ path <DAS_HOME/repository/deployment/server/jaggeryapps/portal/controllers/apis/.
+
+4. Create MySQL database and tables using queries in
+<Stratos-DAS-Distribution>/metering-dashboard/metering-mysqlscript.sql manually.
+
+5. Apply ues-patch files in <Stratos-DAS-Distribution>/metering-dashboard/ues-patch/ to DAS below:
+    -   Copy 'ues-gadgets.js' and 'ues-pubsub.js' files to
+    <DAS-HOME>/repository/deployment/server/jaggeryapps/portal/js/ folder.
+    - Copy 'dashboard.jag' file to <DAS-HOME>/repository/deployment/server/jaggeryapps/portal/theme/templates/ folder.
+
+6. Add stratos-metering-service car file in <Stratos-DAS-Distribution>/metering-dashboard/ to
+<DAS-HOME>/repository/deployment/server/carbonapps/ to generate the metering dashboard.
+
+## Follow the below steps to configure DAS for monitoring dashboard:
+
+1. Add jaggery files which can be found in <Stratos-DAS-Distribution>/monitoring-dashboard/jaggery-files/ to DAS path
+'<DAS_HOME/repository/deployment/server/jaggeryapps/portal/controllers/apis/'.
+
+2. Create MySQL database and tables using queries in
+<Stratos-DAS-Distribution>/monitoring-dashboard/monitoring-mysqlscript.sql manually.
+
+3. Copy CEP  EventFormatter artifacts in <Stratos-DAS-Distribution>/wso2cep-<version>/eventformatters/ to
+<CEP-HOME>/repository/deployment/server/eventformatters/.
+
+4. Copy CEP OutputEventAdapter artifact in <Stratos-DAS-Distribution>/wso2cep-<version>/outputeventadaptors/ to
+<CEP-HOME>/repository/deployment/server/outputeventadaptors  and update the tcp and ssl ports according to DAS server
+port offset.
+
+5. Add stratos-monitoring-service car file in <Stratos-DAS-Distribution>/monitoring-dashboard/ to
+<DAS-HOME>/repository/deployment/server/carbonapps/ to generate the monitoring dashboard.
+
 
 Please refer below link for more information on WSO2 DAS.
 https://docs.wso2.com/display/DAS300/WSO2+Data+Analytics+Server+Documentation

http://git-wip-us.apache.org/repos/asf/stratos/blob/5400c4d6/extensions/das/modules/stratos-das-extension/README.md
----------------------------------------------------------------------
diff --git a/extensions/das/modules/stratos-das-extension/README.md b/extensions/das/modules/stratos-das-extension/README.md
index 58bdd5b..59fe665 100644
--- a/extensions/das/modules/stratos-das-extension/README.md
+++ b/extensions/das/modules/stratos-das-extension/README.md
@@ -1,6 +1,8 @@
 # Apache Stratos DAS Extension
 
-This directory contains DAS Extensions needed for Stratos. <br />
-1. Add org.apache.stratos.das.extension-<stratos-version>.jar file to '<DAS-HOME>/repository/components/lib/'. <br />
-2. Add below UDF class path to 'spark-udf-config.xml' file in '<DAS-HOME>/repository/conf/analytics/spark/' folder. <br />
-   <class-name>org.apache.stratos.das.extension.TimeUDF</class-name> <br />
\ No newline at end of file
+This directory contains DAS Extensions needed for Stratos.
+
+1. Add org.apache.stratos.das.extension-<stratos-version>.jar file to <DAS-HOME>/repository/components/lib/.
+
+2. Add UDF class '<class-name>org.apache.stratos.das.extension.TimeUDF</class-name>' to 'spark-udf-config.xml'
+file in <DAS-HOME>/repository/conf/analytics/spark/ folder.
\ No newline at end of file


[02/50] [abbrv] stratos git commit: Fixed formatting and log messages

Posted by ga...@apache.org.
Fixed formatting and log messages


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

Branch: refs/heads/master
Commit: c39d46fdb642bc072bc2f4e40343d6fec051ba78
Parents: da9b0b3
Author: Akila Perera <ra...@gmail.com>
Authored: Mon Nov 30 00:15:10 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Mon Nov 30 00:33:47 2015 +0530

----------------------------------------------------------------------
 .../services/impl/AutoscalerServiceImpl.java    | 38 ++++++++++----------
 1 file changed, 19 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/c39d46fd/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
index 6f84b75..0943de0 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -34,7 +34,6 @@ import org.apache.stratos.autoscaler.context.InstanceContext;
 import org.apache.stratos.autoscaler.context.cluster.ClusterInstanceContext;
 import org.apache.stratos.autoscaler.context.partition.ClusterLevelPartitionContext;
 import org.apache.stratos.autoscaler.context.partition.network.NetworkPartitionContext;
-import org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher;
 import org.apache.stratos.autoscaler.exception.*;
 import org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
 import org.apache.stratos.autoscaler.exception.application.InvalidApplicationPolicyException;
@@ -44,7 +43,6 @@ import org.apache.stratos.autoscaler.exception.policy.*;
 import org.apache.stratos.autoscaler.monitor.Monitor;
 import org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor;
 import org.apache.stratos.autoscaler.monitor.component.ApplicationMonitor;
-import org.apache.stratos.autoscaler.monitor.component.GroupMonitor;
 import org.apache.stratos.autoscaler.pojo.Dependencies;
 import org.apache.stratos.autoscaler.pojo.ServiceGroup;
 import org.apache.stratos.autoscaler.pojo.policy.PolicyManager;
@@ -465,7 +463,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         ApplicationMonitor appMonitor = asCtx.getAppMonitor(applicationId);
 
         if (appMonitor == null) {
-            log.info(String.format("Could not find application monitor for the application %s, " + "hence returning",
+            log.info(String.format("Could not find application monitor for [application-id] %s, hence returning false",
                     applicationId));
             return false;
         }
@@ -505,7 +503,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
                         return false;
                     } else {
                         log.info(String.format("Previous graceful un-deployment is in progress for "
-                                        + "[application-id] %s , thus  terminating instances directly", applicationId));
+                                + "[application-id] %s , thus  terminating instances directly", applicationId));
                         appMonitor.setForce(true);
                         terminateAllMembersAndClustersForcefully(applicationId);
                     }
@@ -996,8 +994,8 @@ public class AutoscalerServiceImpl implements AutoscalerService {
                                         .terminateInstanceForcefully(memberIdToTerminate);
                             } catch (Exception e) {
                                 log.error(String.format(
-                                                "Forceful termination of member %s has failed, but continuing forceful "
-                                                        + "deletion of other members", memberIdToTerminate));
+                                        "Forceful termination of member %s has failed, but continuing forceful "
+                                                + "deletion of other members", memberIdToTerminate));
                             }
                         }
                     }
@@ -1114,9 +1112,9 @@ public class AutoscalerServiceImpl implements AutoscalerService {
                     }
                 }
                 if (isPartitionFound == false) {
-                    String msg = String.format("Partition Id is not found: [deployment-policy-id] %s "
-                                    + "[network-partition-id] %s [partition-id] %s", deploymentPolicyId,
-                            networkPartitionId, partitionId);
+                    String msg = String
+                            .format("Partition Id is not found: [deployment-policy-id] %s [network-partition-id] %s "
+                                    + "[partition-id] %s", deploymentPolicyId, networkPartitionId, partitionId);
                     log.error(msg);
                     throw new InvalidDeploymentPolicyException(msg);
                 }
@@ -1125,9 +1123,10 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             // partition algorithm can't be null or empty
             String partitionAlgorithm = networkPartitionRef.getPartitionAlgo();
             if (StringUtils.isBlank(partitionAlgorithm)) {
-                String msg = String.format("Partition algorithm is blank: [deployment-policy-id] %s "
-                                + "[network-partition-id] %s [partition-algorithm] %s", deploymentPolicyId,
-                        networkPartitionId, partitionAlgorithm);
+                String msg = String
+                        .format("Partition algorithm is blank: [deployment-policy-id] %s [network-partition-id] %s "
+                                        + "[partition-algorithm] %s", deploymentPolicyId, networkPartitionId,
+                                partitionAlgorithm);
                 log.error(msg);
                 throw new InvalidDeploymentPolicyException(msg);
             }
@@ -1135,10 +1134,11 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             // partition algorithm should be either one-after-another or round-robin
             if ((!StratosConstants.PARTITION_ROUND_ROBIN_ALGORITHM_ID.equals(partitionAlgorithm))
                     && (!StratosConstants.PARTITION_ONE_AFTER_ANOTHER_ALGORITHM_ID.equals(partitionAlgorithm))) {
-                String msg = String.format("Partition algorithm is not valid: [deployment-policy-id] %s " +
-                                "[network-partition-id] %s [partition-algorithm] %s. : " +
-                                "Partition algorithm should be either one-after-another or round-robin ",
-                        deploymentPolicyId, networkPartitionId, partitionAlgorithm);
+                String msg = String
+                        .format("Partition algorithm is not valid: [deployment-policy-id] %s [network-partition-id] "
+                                        + "%s [partition-algorithm] %s. Partition algorithm should be either "
+                                        + "one-after-another or round-robin ", deploymentPolicyId, networkPartitionId,
+                                partitionAlgorithm);
                 log.error(msg);
                 throw new InvalidDeploymentPolicyException(msg);
             }
@@ -1146,9 +1146,9 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             // a network partition reference should contain at least one partition reference
             PartitionRef[] partitions = networkPartitionRef.getPartitionRefs();
             if (null == partitions || partitions.length == 0) {
-                String msg = String.format("Network partition does not have any partition references: "
-                                + "[deployment-policy-id] %s [network-partition-id] %s", deploymentPolicyId,
-                        networkPartitionId);
+                String msg = String
+                        .format("Network partition does not have any partition references [deployment-policy-id] %s "
+                                + "[network-partition-id] %s", deploymentPolicyId, networkPartitionId);
                 log.error(msg);
                 throw new InvalidDeploymentPolicyException(msg);
             }


[10/50] [abbrv] stratos git commit: Assert monitors are re-created after restarting Stratos in StratosServerRestartTestCase

Posted by ga...@apache.org.
Assert monitors are re-created after restarting Stratos in StratosServerRestartTestCase


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

Branch: refs/heads/master
Commit: 314020b3a00457c34acc16cc87ff7caaad195936
Parents: 35eb6c2
Author: Akila Perera <ra...@gmail.com>
Authored: Mon Nov 30 00:27:33 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Mon Nov 30 00:33:48 2015 +0530

----------------------------------------------------------------------
 .../server/StratosServerRestartTestCase.java    | 90 ++++++++++----------
 1 file changed, 45 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/314020b3/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/server/StratosServerRestartTestCase.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/server/StratosServerRestartTestCase.java b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/server/StratosServerRestartTestCase.java
index 569152a..66c67e7 100644
--- a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/server/StratosServerRestartTestCase.java
+++ b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/server/StratosServerRestartTestCase.java
@@ -27,7 +27,6 @@ import org.apache.stratos.integration.common.RestConstants;
 import org.apache.stratos.integration.common.TopologyHandler;
 import org.apache.stratos.integration.common.extensions.StratosServerExtension;
 import org.apache.stratos.integration.tests.StratosIntegrationTest;
-import org.apache.stratos.messaging.domain.application.ApplicationStatus;
 import org.apache.stratos.messaging.domain.topology.Member;
 import org.testng.Assert;
 import org.testng.annotations.Test;
@@ -43,6 +42,9 @@ import static org.testng.AssertJUnit.assertTrue;
  * Deploy a sample application on mock IaaS and assert whether application instance, cluster instance, member instances
  * are getting activated. Restart the Stratos and check all again.
  */
+@Test(groups = { "server" },
+      dependsOnGroups = { "adc", "application", "cartridge", "iaas", "policies", "users" },
+      alwaysRun = true)
 public class StratosServerRestartTestCase extends StratosIntegrationTest {
     private static final Log log = LogFactory.getLog(StratosServerRestartTestCase.class);
     private static final String RESOURCES_PATH = "/stratos-server-restart-test";
@@ -52,30 +54,27 @@ public class StratosServerRestartTestCase extends StratosIntegrationTest {
     private static final String deploymentPolicyId = "deployment-policy-stratos-server-restart-test";
     private static final String applicationId = "stratos-server-restart-test";
     private static final String applicationPolicyId = "application-policy-stratos-server-restart-test";
+    private TopologyHandler topologyHandler = TopologyHandler.getInstance();
 
-    @Test(timeOut = APPLICATION_TEST_TIMEOUT,
-            groups = { "stratos.server.restart"},
-            dependsOnGroups = { "stratos.application.deployment","stratos.cartridge.iaas", "stratos.policy.management","adc","all","smoke","metadata"})
+    @Test(timeOut = DEFAULT_APPLICATION_TEST_TIMEOUT)
     public void stratosServerRestartTest() throws Exception {
+        log.info("Running StratosServerRestartTestCase.stratosServerRestartTest test method...");
+        long startTime = System.currentTimeMillis();
 
-        TopologyHandler topologyHandler = TopologyHandler.getInstance();
-
-        log.info("Adding autoscaling policy [autoscale policy id] " + autoscalingPolicyId);
         boolean addedScalingPolicy = restClient.addEntity(
                 RESOURCES_PATH + RestConstants.AUTOSCALING_POLICIES_PATH + "/" + autoscalingPolicyId + ".json",
                 RestConstants.AUTOSCALING_POLICIES, RestConstants.AUTOSCALING_POLICIES_NAME);
         assertTrue(addedScalingPolicy);
 
         log.info(String.format("Adding cartridge [cartridge type] %s", cartridgeId));
-        boolean addedC1 = restClient.addEntity(
-                RESOURCES_PATH + RestConstants.CARTRIDGES_PATH + "/" + cartridgeId + ".json",
-                RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
+        boolean addedC1 = restClient
+                .addEntity(RESOURCES_PATH + RestConstants.CARTRIDGES_PATH + "/" + cartridgeId + ".json",
+                        RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
         assertTrue(addedC1);
 
         log.info(String.format("Adding network partition [network partition id] %s", networkPartitionId));
         boolean addedN1 = restClient.addEntity(RESOURCES_PATH + RestConstants.NETWORK_PARTITIONS_PATH + "/" +
-                        networkPartitionId + ".json", RestConstants.NETWORK_PARTITIONS,
-                RestConstants.NETWORK_PARTITIONS_NAME);
+                networkPartitionId + ".json", RestConstants.NETWORK_PARTITIONS, RestConstants.NETWORK_PARTITIONS_NAME);
         assertTrue(addedN1);
 
         log.info(String.format("Adding deployment policy [deployment policy id] %s", deploymentPolicyId));
@@ -101,18 +100,19 @@ public class StratosServerRestartTestCase extends StratosIntegrationTest {
         assertTrue(addAppPolicy);
 
         ApplicationPolicyBean policyBean = (ApplicationPolicyBean) restClient
-                .getEntity(RestConstants.APPLICATION_POLICIES, applicationPolicyId,
-                        ApplicationPolicyBean.class, RestConstants.APPLICATION_POLICIES_NAME);
+                .getEntity(RestConstants.APPLICATION_POLICIES, applicationPolicyId, ApplicationPolicyBean.class,
+                        RestConstants.APPLICATION_POLICIES_NAME);
         assertEquals(policyBean.getId(), applicationPolicyId);
 
-        log.info(String.format("Deploying application [application id] %s using [application policy id] %s", applicationId, applicationPolicyId));
+        log.info(String.format("Deploying application [application id] %s using [application policy id] %s",
+                applicationId, applicationPolicyId));
         String resourcePath = RestConstants.APPLICATIONS + "/" + applicationId +
                 RestConstants.APPLICATIONS_DEPLOY + "/" + applicationPolicyId;
         boolean deployed = restClient.deployEntity(resourcePath, RestConstants.APPLICATIONS_NAME);
         assertTrue(deployed);
 
         log.info("Waiting for application status to become ACTIVE...");
-        topologyHandler.assertApplicationStatus(applicationId, ApplicationStatus.Active);
+        TopologyHandler.getInstance().assertApplicationActiveStatus(applicationId);
 
         log.info("Waiting for cluster status to become ACTIVE...");
         topologyHandler.assertClusterActivation(applicationId);
@@ -121,6 +121,15 @@ public class StratosServerRestartTestCase extends StratosIntegrationTest {
         Assert.assertTrue(memberList.size() == 1,
                 String.format("Active member list for application %s is empty", applicationId));
 
+        /*
+        * Restarting Stratos server
+        */
+        StratosServerExtension.restartStratosServer();
+
+        /*
+        * Assert whether cluster monitors were re-created by terminating mock instances. Application status should
+        * become inactive
+        */
         log.info("Terminating members in [cluster id] c1-stratos-server-restart-test in mock IaaS directly to "
                 + "simulate faulty members...");
         Map<String, Member> memberMap = TopologyHandler.getInstance()
@@ -132,30 +141,21 @@ public class StratosServerRestartTestCase extends StratosIntegrationTest {
         }
         // application status should be marked as inactive since some members are faulty
         log.info("Waiting for application status to become INACTIVE");
-        topologyHandler.assertApplicationStatus(bean.getApplicationId(), ApplicationStatus.Inactive);
-
-        // application should recover itself and become active after spinning more instances
-        log.info("Waiting for application status to become ACTIVE...");
-        topologyHandler.assertApplicationStatus(bean.getApplicationId(), ApplicationStatus.Active);
+        TopologyHandler.getInstance().assertApplicationInActiveStatus(bean.getApplicationId());
 
         log.info("Waiting for cluster status to become ACTIVE...");
         topologyHandler.assertClusterActivation(bean.getApplicationId());
 
-        // restart stratos server
-        StratosServerExtension.restartStratosServer();
-
+        // application should recover itself and become active after spinning more instances
         log.info("Waiting for application status to become ACTIVE...");
-        topologyHandler.assertApplicationStatus(bean.getApplicationId(), ApplicationStatus.Active);
-
-        log.info("Waiting for cluster status to become ACTIVE...");
-        topologyHandler.assertClusterActivation(bean.getApplicationId());
+        TopologyHandler.getInstance().assertApplicationActiveStatus(bean.getApplicationId());
 
         memberList = topologyHandler.getMembersForApplication(bean.getApplicationId());
         Assert.assertTrue(memberList.size() == 1,
                 String.format("Active member list for application %s is empty", bean.getApplicationId()));
 
         log.info(String.format("Un-deploying the application [application id] %s", applicationId));
-        String resourcePathUndeploy = RestConstants.APPLICATIONS + "/" + applicationId+
+        String resourcePathUndeploy = RestConstants.APPLICATIONS + "/" + applicationId +
                 RestConstants.APPLICATIONS_UNDEPLOY;
 
         boolean unDeployed = restClient.undeployEntity(resourcePathUndeploy, RestConstants.APPLICATIONS_NAME);
@@ -165,17 +165,17 @@ public class StratosServerRestartTestCase extends StratosIntegrationTest {
         if (!undeploy) {
             //Need to forcefully undeploy the application
             log.info(String.format("Force undeployment is going to start for the [application] %s", applicationId));
-            restClient.undeployEntity(RestConstants.APPLICATIONS + "/" + applicationId+
+            restClient.undeployEntity(RestConstants.APPLICATIONS + "/" + applicationId +
                     RestConstants.APPLICATIONS_UNDEPLOY + "?force=true", RestConstants.APPLICATIONS);
 
             boolean forceUndeployed = topologyHandler.assertApplicationUndeploy(applicationId);
-            assertTrue(String.format("Forceful undeployment failed for the application %s",
-                    applicationId), forceUndeployed);
+            assertTrue(String.format("Forceful undeployment failed for the application %s", applicationId),
+                    forceUndeployed);
         }
 
         log.info(String.format("Removing the application [application id] %s", applicationId));
-        boolean removedApp = restClient.removeEntity(RestConstants.APPLICATIONS, applicationId,
-                RestConstants.APPLICATIONS_NAME);
+        boolean removedApp = restClient
+                .removeEntity(RestConstants.APPLICATIONS, applicationId, RestConstants.APPLICATIONS_NAME);
         assertTrue(removedApp);
 
         ApplicationBean beanRemoved = (ApplicationBean) restClient
@@ -184,14 +184,13 @@ public class StratosServerRestartTestCase extends StratosIntegrationTest {
         assertNull(beanRemoved);
 
         log.info(String.format("Removing the application policy [application policy id] %s", applicationPolicyId));
-        boolean removeAppPolicy = restClient
-                .removeEntity(RestConstants.APPLICATION_POLICIES, applicationPolicyId,
-                        RestConstants.APPLICATION_POLICIES_NAME);
+        boolean removeAppPolicy = restClient.removeEntity(RestConstants.APPLICATION_POLICIES, applicationPolicyId,
+                RestConstants.APPLICATION_POLICIES_NAME);
         assertTrue(removeAppPolicy);
 
         log.info(String.format("Removing the cartridge [cartridge type] %s", cartridgeId));
-        boolean removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, cartridgeId,
-                RestConstants.CARTRIDGES_NAME);
+        boolean removedC1 = restClient
+                .removeEntity(RestConstants.CARTRIDGES, cartridgeId, RestConstants.CARTRIDGES_NAME);
         assertTrue(removedC1);
 
         log.info(String.format("Removing the autoscaling policy [autoscaling policy id] %s", autoscalingPolicyId));
@@ -200,15 +199,16 @@ public class StratosServerRestartTestCase extends StratosIntegrationTest {
         assertTrue(removedAuto);
 
         log.info(String.format("Removing the deployment policy [deployment policy id] %s", deploymentPolicyId));
-        boolean removedDep = restClient
-                .removeEntity(RestConstants.DEPLOYMENT_POLICIES, deploymentPolicyId,
-                        RestConstants.DEPLOYMENT_POLICIES_NAME);
+        boolean removedDep = restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES, deploymentPolicyId,
+                RestConstants.DEPLOYMENT_POLICIES_NAME);
         assertTrue(removedDep);
 
         log.info(String.format("Removing the network partition [network partition id] %s", networkPartitionId));
-        boolean removedNet = restClient
-                .removeEntity(RestConstants.NETWORK_PARTITIONS, networkPartitionId,
-                        RestConstants.NETWORK_PARTITIONS_NAME);
+        boolean removedNet = restClient.removeEntity(RestConstants.NETWORK_PARTITIONS, networkPartitionId,
+                RestConstants.NETWORK_PARTITIONS_NAME);
         assertTrue(removedNet);
+
+        long duration = System.currentTimeMillis() - startTime;
+        log.info(String.format("StratosServerRestartTestCase completed in [duration] %s ms", duration));
     }
 }


[49/50] [abbrv] stratos git commit: Rebase the stratos 4.1.x branch

Posted by ga...@apache.org.
http://git-wip-us.apache.org/repos/asf/stratos/blob/9d778a5e/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl b/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
index 097f5a8..69ff620 100644
--- a/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
+++ b/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
@@ -1,10 +1,10 @@
-<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://impl.services.autoscaler.stratos.apache.org" xmlns:ax25="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax26="http://partition.common.stratos.apache.org/xsd" xmlns:ax21="http://pojo.applications.autoscaler.stratos.apache.org/xsd" xmlns:ax217="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:ax22="http://common.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax219="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax232="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax215="http://policy.exception.autoscaler.stratos.apache.org/xsd" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax212="http://io.java/xsd" xmlns:ax222="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
 xmlns:ax224="http://stub.service.manager.stratos.apache.org/xsd" xmlns:ax211="http://rmi.java/xsd" xmlns:ax225="http://impl.stub.service.manager.stratos.apache.org/xsd" xmlns:ax226="http://exceptions.stub.service.manager.stratos.apache.org/xsd" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
+<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ax29="http://rmi.java/xsd" xmlns:ns="http://impl.services.autoscaler.stratos.apache.org" xmlns:ax25="http://pojo.applications.autoscaler.stratos.apache.org/xsd" xmlns:ax26="http://common.stratos.apache.org/xsd" xmlns:ax23="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:ax21="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax229="http://exceptions.stub.service.manager.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax219="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax228="http://impl.stub.service.manager.stratos.apache.org/xsd" xmlns:ax227="http://stub.service.manager.stratos.apache.org/xsd" xmlns:ax215="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax221="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax213="http://policy.e
 xception.autoscaler.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax210="http://io.java/xsd" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ax224="http://partition.common.stratos.apache.org/xsd" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
     <wsdl:types>
-        <xs:schema xmlns:ax213="http://io.java/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://rmi.java/xsd">
+        <xs:schema xmlns:ax211="http://io.java/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://rmi.java/xsd">
             <xs:import namespace="http://io.java/xsd"/>
             <xs:complexType name="RemoteException">
                 <xs:complexContent>
-                    <xs:extension base="ax212:IOException">
+                    <xs:extension base="ax210:IOException">
                         <xs:sequence>
                             <xs:element minOccurs="0" name="cause" nillable="true" type="xs:anyType"/>
                             <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
@@ -21,7 +21,7 @@
                     <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="instanceRoundingFactor" type="xs:float"/>
                     <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="loadThresholds" nillable="true" type="ax219:LoadThresholds"/>
+                    <xs:element minOccurs="0" name="loadThresholds" nillable="true" type="ax221:LoadThresholds"/>
                     <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                 </xs:sequence>
             </xs:complexType>
@@ -33,17 +33,17 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax23="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax27="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd">
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="ApplicationContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="components" nillable="true" type="ax21:ComponentContext"/>
+                    <xs:element minOccurs="0" name="components" nillable="true" type="ax25:ComponentContext"/>
                     <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="multiTenant" type="xs:boolean"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax27:Properties"/>
                     <xs:element minOccurs="0" name="status" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="tenantAdminUsername" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="tenantDomain" nillable="true" type="xs:string"/>
@@ -52,10 +52,10 @@
             </xs:complexType>
             <xs:complexType name="ComponentContext">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="applicationClusterContexts" nillable="true" type="ax21:ApplicationClusterContext"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax21:CartridgeContext"/>
-                    <xs:element minOccurs="0" name="dependencyContext" nillable="true" type="ax21:DependencyContext"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax21:GroupContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="applicationClusterContexts" nillable="true" type="ax25:ApplicationClusterContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax25:CartridgeContext"/>
+                    <xs:element minOccurs="0" name="dependencyContext" nillable="true" type="ax25:DependencyContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax25:GroupContext"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="ApplicationClusterContext">
@@ -66,8 +66,8 @@
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="dependencyClusterIds" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax21:PersistenceContext"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
+                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax25:PersistenceContext"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax27:Properties"/>
                     <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="textPayload" nillable="true" type="xs:string"/>
                 </xs:sequence>
@@ -75,7 +75,7 @@
             <xs:complexType name="PersistenceContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="persistenceRequired" type="xs:boolean"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax21:VolumeContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax25:VolumeContext"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="VolumeContext">
@@ -94,22 +94,22 @@
                 <xs:sequence>
                     <xs:element minOccurs="0" name="cartridgeMax" type="xs:int"/>
                     <xs:element minOccurs="0" name="cartridgeMin" type="xs:int"/>
-                    <xs:element minOccurs="0" name="subscribableInfoContext" nillable="true" type="ax21:SubscribableInfoContext"/>
+                    <xs:element minOccurs="0" name="subscribableInfoContext" nillable="true" type="ax25:SubscribableInfoContext"/>
                     <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="SubscribableInfoContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="artifactRepositoryContext" nillable="true" type="ax21:ArtifactRepositoryContext"/>
+                    <xs:element minOccurs="0" name="artifactRepositoryContext" nillable="true" type="ax25:ArtifactRepositoryContext"/>
                     <xs:element minOccurs="0" name="autoscalingPolicy" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="dependencyAliases" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="lvsVirtualIP" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="maxMembers" type="xs:int"/>
                     <xs:element minOccurs="0" name="minMembers" type="xs:int"/>
-                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax21:PersistenceContext"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
+                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax25:PersistenceContext"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax27:Properties"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="ArtifactRepositoryContext">
@@ -131,9 +131,9 @@
             <xs:complexType name="GroupContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax21:CartridgeContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax25:CartridgeContext"/>
                     <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax21:GroupContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax25:GroupContext"/>
                     <xs:element minOccurs="0" name="groupMaxInstances" type="xs:int"/>
                     <xs:element minOccurs="0" name="groupMinInstances" type="xs:int"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
@@ -144,8 +144,8 @@
             <xs:complexType name="ServiceGroup">
                 <xs:sequence>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridges" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="dependencies" nillable="true" type="ax232:Dependencies"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groups" nillable="true" type="ax232:ServiceGroup"/>
+                    <xs:element minOccurs="0" name="dependencies" nillable="true" type="ax219:Dependencies"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groups" nillable="true" type="ax219:ServiceGroup"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
@@ -157,322 +157,365 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax29="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax24="http://pojo.applications.autoscaler.stratos.apache.org/xsd" xmlns:ax216="http://policy.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax218="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:ax220="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax223="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax229="http://stub.service.manager.stratos.apache.org/xsd" xmlns:ax214="http://rmi.java/xsd" xmlns:ax233="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax231="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
+        <xs:schema xmlns:ax216="http://common.stratos.apache.org/xsd" xmlns:ax226="http://partition.common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd">
+            <xs:import namespace="http://common.stratos.apache.org/xsd"/>
+            <xs:import namespace="http://partition.common.stratos.apache.org/xsd"/>
+            <xs:complexType name="ApplicationPolicy">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="algorithm" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitionGroups" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitions" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax26:Properties"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="DeploymentPolicy">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitionRefs" nillable="true" type="ax224:NetworkPartitionRef"/>
+                </xs:sequence>
+            </xs:complexType>
+        </xs:schema>
+        <xs:schema xmlns:ax28="http://pojo.applications.autoscaler.stratos.apache.org/xsd" xmlns:ax24="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:ax217="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax22="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax220="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax222="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax223="http://common.stratos.apache.org/xsd" xmlns:ax214="http://policy.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax232="http://stub.service.manager.stratos.apache.org/xsd" xmlns:ax212="http://rmi.java/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
+            <xs:import namespace="http://application.exception.autoscaler.stratos.apache.org/xsd"/>
+            <xs:import namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://rmi.java/xsd"/>
             <xs:import namespace="http://policy.exception.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
+            <xs:import namespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
+            <xs:import namespace="http://pojo.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://application.exception.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://stub.service.manager.stratos.apache.org/xsd"/>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://pojo.autoscaler.stratos.apache.org/xsd"/>
-            <xs:element name="getApplications">
+            <xs:import namespace="http://stub.service.manager.stratos.apache.org/xsd"/>
+            <xs:element name="findClusterId">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationsResponse">
+            <xs:element name="findClusterIdResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax24:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplication">
+            <xs:element name="AutoscalerServiceApplicationDefinitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="ApplicationDefinitionException" nillable="true" type="ax21:ApplicationDefinitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationResponse">
+            <xs:element name="AutoscalerServiceCartridgeGroupNotFoundException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax24:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="CartridgeGroupNotFoundException" nillable="true" type="ax23:CartridgeGroupNotFoundException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDeploymentPolicy">
+            <xs:element name="AutoscalerServiceCartridgeNotFoundException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax23:CartridgeNotFoundException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDeploymentPolicyResponse">
+            <xs:element name="updateApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax28:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationPolicy">
+            <xs:element name="updateApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationPolicyResponse">
+            <xs:element name="AutoscalerServiceAutoScalerException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax29:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="AutoScalerException" nillable="true" type="ax23:AutoScalerException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceRemoteException">
+            <xs:element name="getApplicationNetworkPartitions">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="RemoteException" nillable="true" type="ax214:RemoteException"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidDeploymentPolicyException">
+            <xs:element name="getApplicationNetworkPartitionsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidDeploymentPolicyException" nillable="true" type="ax216:InvalidDeploymentPolicyException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceDeploymentPolicyAlreadyExistsException">
+            <xs:element name="AutoscalerServiceRemoteException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="DeploymentPolicyAlreadyExistsException" nillable="true" type="ax216:DeploymentPolicyAlreadyExistsException"/>
+                        <xs:element minOccurs="0" name="RemoteException" nillable="true" type="ax29:RemoteException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addDeployementPolicy">
+            <xs:element name="AutoscalerServiceInvalidApplicationPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax29:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="InvalidApplicationPolicyException" nillable="true" type="ax21:InvalidApplicationPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addDeployementPolicyResponse">
+            <xs:element name="AutoscalerServiceApplicationPolicyAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="ApplicationPolicyAlreadyExistsException" nillable="true" type="ax214:ApplicationPolicyAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceDeploymentPolicyNotExistsException">
+            <xs:element name="addApplicationPolicy">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax217:ApplicationPolicy"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="addApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="DeploymentPolicyNotExistsException" nillable="true" type="ax216:DeploymentPolicyNotExistsException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="AutoscalerServiceInvalidPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidPolicyException" nillable="true" type="ax216:InvalidPolicyException"/>
+                        <xs:element minOccurs="0" name="InvalidPolicyException" nillable="true" type="ax214:InvalidPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceCloudControllerConnectionException">
+            <xs:element name="AutoscalerServiceUnremovablePolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CloudControllerConnectionException" nillable="true" type="ax217:CloudControllerConnectionException"/>
+                        <xs:element minOccurs="0" name="UnremovablePolicyException" nillable="true" type="ax214:UnremovablePolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateDeploymentPolicy">
+            <xs:element name="removeApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax29:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateDeploymentPolicyResponse">
+            <xs:element name="removeApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateAutoScalingPolicy">
+            <xs:element name="AutoscalerServiceApplicatioinPolicyNotExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax219:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="ApplicatioinPolicyNotExistsException" nillable="true" type="ax214:ApplicatioinPolicyNotExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateAutoScalingPolicyResponse">
+            <xs:element name="updateApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax217:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceUnremovablePolicyException">
+            <xs:element name="updateApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="UnremovablePolicyException" nillable="true" type="ax216:UnremovablePolicyException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServicePolicyDoesNotExistException">
+            <xs:element name="getApplicationPolicies">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getApplicationPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="PolicyDoesNotExistException" nillable="true" type="ax216:PolicyDoesNotExistException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax217:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeAutoScalingPolicy">
+            <xs:element name="existApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeAutoScalingPolicyResponse">
+            <xs:element name="existApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoscalingPolicy">
+            <xs:element name="deployApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalingPolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoscalingPolicyResponse">
+            <xs:element name="deployApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax219:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceApplicationDefinitionException">
+            <xs:element name="removeServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicationDefinitionException" nillable="true" type="ax222:ApplicationDefinitionException"/>
+                        <xs:element minOccurs="0" name="groupName" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceCartridgeGroupNotFoundException">
+            <xs:element name="removeServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CartridgeGroupNotFoundException" nillable="true" type="ax217:CartridgeGroupNotFoundException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceCartridgeNotFoundException">
+            <xs:element name="getServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax217:CartridgeNotFoundException"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplication">
+            <xs:element name="getServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax24:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax219:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplicationResponse">
+            <xs:element name="getServiceGroups">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getServiceGroupsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax219:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplication">
+            <xs:element name="serviceGroupExist">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax24:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplicationResponse">
+            <xs:element name="serviceGroupExistResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="existApplication">
+            <xs:element name="undeployServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="existApplicationResponse">
+            <xs:element name="undeployServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deployApplication">
+            <xs:element name="updateAutoScalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax221:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deployApplicationResponse">
+            <xs:element name="updateAutoScalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException">
+            <xs:element name="AutoscalerServicePolicyDoesNotExistException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="StratosManagerServiceApplicationSignUpExceptionException" nillable="true" type="ax224:StratosManagerServiceApplicationSignUpExceptionException"/>
+                        <xs:element minOccurs="0" name="PolicyDoesNotExistException" nillable="true" type="ax214:PolicyDoesNotExistException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceUnremovableApplicationException">
+            <xs:element name="removeAutoScalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="UnremovableApplicationException" nillable="true" type="ax222:UnremovableApplicationException"/>
+                        <xs:element minOccurs="0" name="autoscalePolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployApplication">
+            <xs:element name="removeAutoScalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="force" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployApplicationResponse">
+            <xs:element name="getApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deleteApplication">
+            <xs:element name="getApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax217:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deleteApplicationResponse">
+            <xs:element name="getAutoScalingPolicies">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getAutoScalingPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax221:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="AutoscalerServiceInvalidArgumentException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidArgumentException" nillable="true" type="ax217:InvalidArgumentException"/>
+                        <xs:element minOccurs="0" name="InvalidArgumentException" nillable="true" type="ax23:InvalidArgumentException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -480,7 +523,7 @@
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="properties" nillable="true" type="ax22:Properties"/>
+                        <xs:element minOccurs="0" name="properties" nillable="true" type="ax26:Properties"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -494,14 +537,14 @@
             <xs:element name="AutoscalerServiceInvalidServiceGroupException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax222:InvalidServiceGroupException"/>
+                        <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax21:InvalidServiceGroupException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="addServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax232:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax219:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -515,7 +558,7 @@
             <xs:element name="updateServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeGroup" nillable="true" type="ax232:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="cartridgeGroup" nillable="true" type="ax219:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -526,280 +569,237 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeServiceGroup">
+            <xs:element name="getDeploymentPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="groupName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeServiceGroupResponse">
+            <xs:element name="getDeploymentPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax217:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroup">
+            <xs:element name="AutoscalerServiceInvalidDeploymentPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="InvalidDeploymentPolicyException" nillable="true" type="ax214:InvalidDeploymentPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupResponse">
+            <xs:element name="AutoscalerServiceDeploymentPolicyAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax232:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="DeploymentPolicyAlreadyExistsException" nillable="true" type="ax214:DeploymentPolicyAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="findClusterId">
+            <xs:element name="addDeployementPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax217:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="findClusterIdResponse">
+            <xs:element name="addDeployementPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceAutoScalerException">
+            <xs:element name="AutoscalerServiceAutoScalingPolicyAlreadyExistException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="AutoScalerException" nillable="true" type="ax217:AutoScalerException"/>
+                        <xs:element minOccurs="0" name="AutoScalingPolicyAlreadyExistException" nillable="true" type="ax23:AutoScalingPolicyAlreadyExistException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroups">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getServiceGroupsResponse">
+            <xs:element name="addAutoScalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax232:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax221:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="serviceGroupExist">
+            <xs:element name="addAutoScalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="serviceGroupExistResponse">
+            <xs:element name="getAutoscalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="autoscalingPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployServiceGroup">
+            <xs:element name="getAutoscalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax221:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployServiceGroupResponse">
+            <xs:element name="AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="StratosManagerServiceApplicationSignUpExceptionException" nillable="true" type="ax227:StratosManagerServiceApplicationSignUpExceptionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationNetworkPartitions">
+            <xs:element name="AutoscalerServiceUnremovableApplicationException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="UnremovableApplicationException" nillable="true" type="ax21:UnremovableApplicationException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationNetworkPartitionsResponse">
+            <xs:element name="undeployApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="force" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidApplicationPolicyException">
+            <xs:element name="undeployApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidApplicationPolicyException" nillable="true" type="ax222:InvalidApplicationPolicyException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceApplicationPolicyAlreadyExistsException">
+            <xs:element name="deleteApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicationPolicyAlreadyExistsException" nillable="true" type="ax216:ApplicationPolicyAlreadyExistsException"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplicationPolicy">
+            <xs:element name="deleteApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax29:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplicationPolicyResponse">
+            <xs:element name="AutoscalerServiceDeploymentPolicyNotExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="DeploymentPolicyNotExistsException" nillable="true" type="ax214:DeploymentPolicyNotExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeApplicationPolicy">
+            <xs:element name="AutoscalerServiceCloudControllerConnectionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="CloudControllerConnectionException" nillable="true" type="ax23:CloudControllerConnectionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeApplicationPolicyResponse">
+            <xs:element name="updateDeploymentPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax217:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceApplicatioinPolicyNotExistsException">
+            <xs:element name="updateDeploymentPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicatioinPolicyNotExistsException" nillable="true" type="ax216:ApplicatioinPolicyNotExistsException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplicationPolicy">
+            <xs:element name="removeDeployementPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax29:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplicationPolicyResponse">
+            <xs:element name="removeDeployementPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationPolicies">
+            <xs:element name="getDeploymentPolicies">
                 <xs:complexType>
                     <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationPoliciesResponse">
+            <xs:element name="getDeploymentPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:ApplicationPolicy"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax217:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoScalingPolicies">
+            <xs:element name="getApplications">
                 <xs:complexType>
                     <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoScalingPoliciesResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax219:AutoscalePolicy"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="AutoscalerServiceAutoScalingPolicyAlreadyExistException">
+            <xs:element name="getApplicationsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="AutoScalingPolicyAlreadyExistException" nillable="true" type="ax217:AutoScalingPolicyAlreadyExistException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax28:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addAutoScalingPolicy">
+            <xs:element name="addApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax219:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax28:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addAutoScalingPolicyResponse">
+            <xs:element name="addApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeDeployementPolicy">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="removeDeployementPolicyResponse">
+            <xs:element name="getApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDeploymentPolicies">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getDeploymentPoliciesResponse">
+            <xs:element name="getApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax28:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
         </xs:schema>
-        <xs:schema xmlns:ax28="http://partition.common.stratos.apache.org/xsd" xmlns:ax210="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd">
-            <xs:import namespace="http://partition.common.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://common.stratos.apache.org/xsd"/>
-            <xs:complexType name="DeploymentPolicy">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitionRefs" nillable="true" type="ax28:NetworkPartitionRef"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="ApplicationPolicy">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="algorithm" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitionGroups" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitions" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax22:Properties"/>
-                </xs:sequence>
-            </xs:complexType>
-        </xs:schema>
-        <xs:schema xmlns:ax227="http://exceptions.stub.service.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.stub.service.manager.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax230="http://exceptions.stub.service.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.stub.service.manager.stratos.apache.org/xsd">
             <xs:import namespace="http://exceptions.stub.service.manager.stratos.apache.org/xsd"/>
             <xs:complexType name="StratosManagerServiceApplicationSignUpException">
                 <xs:sequence>
-                    <xs:element minOccurs="0" name="applicationSignUpException" nillable="true" type="ax227:ApplicationSignUpException"/>
+                    <xs:element minOccurs="0" name="applicationSignUpException" nillable="true" type="ax229:ApplicationSignUpException"/>
                     <xs:element minOccurs="0" name="applicationSignUpExceptionSpecified" type="xs:boolean"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax27="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://partition.common.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax225="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://partition.common.stratos.apache.org/xsd">
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="NetworkPartitionRef">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="partitionAlgo" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="partitionRefs" nillable="true" type="ax26:PartitionRef"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="partitionRefs" nillable="true" type="ax224:PartitionRef"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="PartitionRef">
@@ -808,11 +808,11 @@
                     <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="partitionMax" type="xs:int"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax27:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax26:Properties"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax228="http://impl.stub.service.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://stub.service.manager.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax231="http://impl.stub.service.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://stub.service.manager.stratos.apache.org/xsd">
             <xs:import namespace="http://impl.stub.service.manager.stratos.apache.org/xsd"/>
             <xs:complexType name="StratosManagerServiceApplicationSignUpExceptionException">
                 <xs:sequence>
@@ -820,35 +820,35 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax230="http://exception.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://application.exception.autoscaler.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax233="http://exception.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://application.exception.autoscaler.stratos.apache.org/xsd">
             <xs:import namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
             <xs:complexType name="ApplicationDefinitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="UnremovableApplicationException">
-                <xs:complexContent>
-                    <xs:extension base="ax217:AutoScalerException">
-                        <xs:sequence/>
-                    </xs:extension>
-                </xs:complexContent>
-            </xs:complexType>
-            <xs:complexType name="InvalidServiceGroupException">
+            <xs:complexType name="InvalidApplicationPolicyException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidApplicationPolicyException">
+            <xs:complexType name="InvalidServiceGroupException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="UnremovableApplicationException">
+                <xs:complexContent>
+                    <xs:extension base="ax23:AutoScalerException">
+                        <xs:sequence/>
+                    </xs:extension>
+                </xs:complexContent>
+            </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://common.stratos.apache.org/xsd">
             <xs:complexType name="Properties">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax22:Property"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax26:Property"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="Property">
@@ -863,17 +863,9 @@
                 <xs:sequence/>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax221="http://exception.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://policy.exception.autoscaler.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax218="http://exception.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://policy.exception.autoscaler.stratos.apache.org/xsd">
             <xs:import namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
-            <xs:complexType name="InvalidDeploymentPolicyException">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="DeploymentPolicyAlreadyExistsException">
-                <xs:sequence/>
-            </xs:complexType>
-            <xs:complexType name="DeploymentPolicyNotExistsException">
+            <xs:complexType name="ApplicationPolicyAlreadyExistsException">
                 <xs:sequence/>
             </xs:complexType>
             <xs:complexType name="InvalidPolicyException">
@@ -883,26 +875,34 @@
             </xs:complexType>
             <xs:complexType name="UnremovablePolicyException">
                 <xs:complexContent>
-                    <xs:extension base="ax217:AutoScalerException">
+                    <xs:extension base="ax23:AutoScalerException">
                         <xs:sequence/>
                     </xs:extension>
                 </xs:complexContent>
             </xs:complexType>
+            <xs:complexType name="ApplicatioinPolicyNotExistsException">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="PolicyDoesNotExistException">
                 <xs:complexContent>
-                    <xs:extension base="ax217:AutoScalerException">
+                    <xs:extension base="ax23:AutoScalerException">
                         <xs:sequence/>
                     </xs:extension>
                 </xs:complexContent>
             </xs:complexType>
-            <xs:complexType name="ApplicationPolicyAlreadyExistsException">
-                <xs:sequence/>
-            </xs:complexType>
-            <xs:complexType name="ApplicatioinPolicyNotExistsException">
+            <xs:complexType name="InvalidDeploymentPolicyException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="DeploymentPolicyAlreadyExistsException">
+                <xs:sequence/>
+            </xs:complexType>
+            <xs:complexType name="DeploymentPolicyNotExistsException">
+                <xs:sequence/>
+            </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://io.java/xsd">
             <xs:complexType name="IOException">
@@ -910,16 +910,6 @@
             </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://exception.autoscaler.stratos.apache.org/xsd">
-            <xs:complexType name="CloudControllerConnectionException">
-                <xs:sequence/>
-            </xs:complexType>
-            <xs:complexType name="AutoScalerException">
-                <xs:complexContent>
-                    <xs:extension base="xs:RuntimeException">
-                        <xs:sequence/>
-                    </xs:extension>
-                </xs:complexContent>
-            </xs:complexType>
             <xs:complexType name="CartridgeGroupNotFoundException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
@@ -930,6 +920,13 @@
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="AutoScalerException">
+                <xs:complexContent>
+                    <xs:extension base="xs:RuntimeException">
+                        <xs:sequence/>
+                    </xs:extension>
+                </xs:complexContent>
+            </xs:complexType>
             <xs:complexType name="InvalidArgumentException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
@@ -938,6 +935,9 @@
             <xs:complexType name="AutoScalingPolicyAlreadyExistException">
                 <xs:sequence/>
             </xs:complexType>
+            <xs:complexType name="CloudControllerConnectionException">
+                <xs:sequence/>
+            </xs:complexType>
         </xs:schema>
     </wsdl:types>
     <wsdl:message name="getAutoScalingPoliciesRequest">
@@ -1078,18 +1078,18 @@
     <wsdl:message name="existApplicationResponse">
         <wsdl:part name="parameters" element="ns:existApplicationResponse"/>
     </wsdl:message>
-    <wsdl:message name="getServiceGroupRequest">
-        <wsdl:part name="parameters" element="ns:getServiceGroup"/>
-    </wsdl:message>
-    <wsdl:message name="getServiceGroupResponse">
-        <wsdl:part name="parameters" element="ns:getServiceGroupResponse"/>
-    </wsdl:message>
     <wsdl:message name="deleteApplicationRequest">
         <wsdl:part name="parameters" element="ns:deleteApplication"/>
     </wsdl:message>
     <wsdl:message name="deleteApplicationResponse">
         <wsdl:part name="parameters" element="ns:deleteApplicationResponse"/>
     </wsdl:message>
+    <wsdl:message name="getServiceGroupRequest">
+        <wsdl:part name="parameters" element="ns:getServiceGroup"/>
+    </wsdl:message>
+    <wsdl:message name="getServiceGroupResponse">
+        <wsdl:part name="parameters" element="ns:getServiceGroupResponse"/>
+    </wsdl:message>
     <wsdl:message name="undeployServiceGroupRequest">
         <wsdl:part name="parameters" element="ns:undeployServiceGroup"/>
     </wsdl:message>
@@ -1186,18 +1186,18 @@
     <wsdl:message name="removeServiceGroupResponse">
         <wsdl:part name="parameters" element="ns:removeServiceGroupResponse"/>
     </wsdl:message>
-    <wsdl:message name="updateApplicationRequest">
-        <wsdl:part name="parameters" element="ns:updateApplication"/>
-    </wsdl:message>
-    <wsdl:message name="updateApplicationResponse">
-        <wsdl:part name="parameters" element="ns:updateApplicationResponse"/>
-    </wsdl:message>
     <wsdl:message name="getApplicationPolicyRequest">
         <wsdl:part name="parameters" element="ns:getApplicationPolicy"/>
     </wsdl:message>
     <wsdl:message name="getApplicationPolicyResponse">
         <wsdl:part name="parameters" element="ns:getApplicationPolicyResponse"/>
     </wsdl:message>
+    <wsdl:message name="updateApplicationRequest">
+        <wsdl:part name="parameters" element="ns:updateApplication"/>
+    </wsdl:message>
+    <wsdl:message name="updateApplicationResponse">
+        <wsdl:part name="parameters" element="ns:updateApplicationResponse"/>
+    </wsdl:message>
     <wsdl:portType name="AutoscalerServicePortType">
         <wsdl:operation name="getAutoScalingPolicies">
             <wsdl:input message="ns:getAutoScalingPoliciesRequest" wsaw:Action="urn:getAutoScalingPolicies"/>
@@ -1284,14 +1284,14 @@
             <wsdl:input message="ns:existApplicationRequest" wsaw:Action="urn:existApplication"/>
             <wsdl:output message="ns:existApplicationResponse" wsaw:Action="urn:existApplicationResponse"/>
         </wsdl:operation>
-        <wsdl:operation name="getServiceGroup">
-            <wsdl:input message="ns:getServiceGroupRequest" wsaw:Action="urn:getServiceGroup"/>
-            <wsdl:output message="ns:getServiceGroupResponse" wsaw:Action="urn:getServiceGroupResponse"/>
-        </wsdl:operation>
         <wsdl:operation name="deleteApplication">
             <wsdl:input message="ns:deleteApplicationRequest" wsaw:Action="urn:deleteApplication"/>
             <wsdl:output message="ns:deleteApplicationResponse" wsaw:Action="urn:deleteApplicationResponse"/>
         </wsdl:operation>
+        <wsdl:operation name="getServiceGroup">
+            <wsdl:input message="ns:getServiceGroupRequest" wsaw:Action="urn:getServiceGroup"/>
+            <wsdl:output message="ns:getServiceGroupResponse" wsaw:Action="urn:getServiceGroupResponse"/>
+        </wsdl:operation>
         <wsdl:operation name="undeployServiceGroup">
             <wsdl:input message="ns:undeployServiceGroupRequest" wsaw:Action="urn:undeployServiceGroup"/>
             <wsdl:output message="ns:undeployServiceGroupResponse" wsaw:Action="urn:undeployServiceGroupResponse"/>
@@ -1359,6 +1359,10 @@
             <wsdl:output message="ns:removeServiceGroupResponse" wsaw:Action="urn:removeServiceGroupResponse"/>
             <wsdl:fault message="ns:AutoscalerServiceCartridgeGroupNotFoundException" name="AutoscalerServiceCartridgeGroupNotFoundException" wsaw:Action="urn:removeServiceGroupAutoscalerServiceCartridgeGroupNotFoundException"/>
         </wsdl:operation>
+        <wsdl:operation name="getApplicationPolicy">
+            <wsdl:input message="ns:getApplicationPolicyRequest" wsaw:Action="urn:getApplicationPolicy"/>
+            <wsdl:output message="ns:getApplicationPolicyResponse" wsaw:Action="urn:getApplicationPolicyResponse"/>
+        </wsdl:operation>
         <wsdl:operation name="updateApplication">
             <wsdl:input message="ns:updateApplicationRequest" wsaw:Action="urn:updateApplication"/>
             <wsdl:output message="ns:updateApplicationResponse" wsaw:Action="urn:updateApplicationResponse"/>
@@ -1366,10 +1370,6 @@
             <wsdl:fault message="ns:AutoscalerServiceCartridgeGroupNotFoundException" name="AutoscalerServiceCartridgeGroupNotFoundException" wsaw:Action="urn:updateApplicationAutoscalerServiceCartridgeGroupNotFoundException"/>
             <wsdl:fault message="ns:AutoscalerServiceCartridgeNotFoundException" name="AutoscalerServiceCartridgeNotFoundException" wsaw:Action="urn:updateApplicationAutoscalerServiceCartridgeNotFoundException"/>
         </wsdl:operation>
-        <wsdl:operation name="getApplicationPolicy">
-            <wsdl:input message="ns:getApplicationPolicyRequest" wsaw:Action="urn:getApplicationPolicy"/>
-            <wsdl:output message="ns:getApplicationPolicyResponse" wsaw:Action="urn:getApplicationPolicyResponse"/>
-        </wsdl:operation>
     </wsdl:portType>
     <wsdl:binding name="AutoscalerServiceSoap11Binding" type="ns:AutoscalerServicePortType">
         <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
@@ -1577,8 +1577,8 @@
                 <soap:body use="literal"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="deleteApplication">
-            <soap:operation soapAction="urn:deleteApplication" style="document"/>
+        <wsdl:operation name="getServiceGroup">
+            <soap:operation soapAction="urn:getServiceGroup" style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
@@ -1586,8 +1586,8 @@
                 <soap:body use="literal"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="getServiceGroup">
-            <soap:operation soapAction="urn:getServiceGroup" style="document"/>
+        <wsdl:operation name="deleteApplication">
+            <soap:operation soapAction="urn:deleteApplication" style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
@@ -1760,15 +1760,6 @@
                 <soap:fault use="literal" name="AutoscalerServiceCartridgeGroupNotFoundException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getApplicationPolicy">
-            <soap:operation soapAction="urn:getApplicationPolicy" style="document"/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="updateApplication">
             <soap:operation soapAction="urn:updateApplication" style="document"/>
             <wsdl:input>
@@ -1787,6 +1778,15 @@
                 <soap:fault use="literal" name="AutoscalerServiceCartridgeGroupNotFoundException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="getApplicationPolicy">
+            <soap:operation soapAction="urn:getApplicationPolicy" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
     </wsdl:binding>
     <wsdl:binding name="AutoscalerServiceSoap12Binding" type="ns:AutoscalerServicePortType">
         <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
@@ -1994,8 +1994,8 @@
                 <soap12:body use="literal"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="deleteApplication">
-            <soap12:operation soapAction="urn:deleteApplication" style="document"/>
+        <wsdl:operation name="getServiceGroup">
+            <soap12:operation soapAction="urn:getServiceGroup" style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
@@ -2003,8 +2003,8 @@
                 <soap12:body use="literal"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="getServiceGroup">
-            <soap12:operation soapAction="urn:getServiceGroup" style="document"/>
+        <wsdl:operation name="deleteApplication">
+            <soap12:operation soapAction="urn:deleteApplication" style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
@@ -2177,15 +2177,6 @@
                 <soap12:fault use="literal" name="AutoscalerServiceCartridgeGroupNotFoundException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getApplicationPolicy">
-            <soap12:operation soapAction="urn:getApplicationPolicy" style="document"/>
-            <wsdl:input>
-                <soap12:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap12:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="updateApplication">
             <soap12:operation soapAction="urn:updateApplication" style="document"/>
             <wsdl:input>
@@ -2204,6 +2195,15 @@
                 <soap12:fault use="literal" name="AutoscalerServiceCartridgeGroupNotFoundException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="getApplicationPolicy">
+            <soap12:operation soapAction="urn:getApplicationPolicy" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
     </wsdl:binding>
     <wsdl:binding name="AutoscalerServiceHttpBinding" type="ns:AutoscalerServicePortType">
         <http:binding verb="POST"/>
@@ -2360,8 +2360,8 @@
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="deleteApplication">
-            <http:operation location="deleteApplication"/>
+        <wsdl:operation name="getServiceGroup">
+            <http:operation location="getServiceGroup"/>
             <wsdl:input>
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
@@ -2369,8 +2369,8 @@
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="getServiceGroup">
-            <http:operation location="getServiceGroup"/>
+        <wsdl:operation name="deleteApplication">
+            <http:operation location="deleteApplication"/>
             <wsdl:input>
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
@@ -2486,8 +2486,8 @@
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="getApplicationPolicy">
-            <http:operation location="getApplicationPolicy"/>
+        <wsdl:operation name="updateApplication">
+            <http:operation location="updateApplication"/>
             <wsdl:input>
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
@@ -2495,8 +2495,8 @@
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="updateApplication">
-            <http:operation location="updateApplication"/>
+        <wsdl:operation name="getApplicationPolicy">
+            <http:operation location="getApplicationPolicy"/>
             <wsdl:input>
                 <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>


[42/50] [abbrv] stratos git commit: Mebase the stratos-4.1.x branch

Posted by ga...@apache.org.
Mebase the stratos-4.1.x branch


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

Branch: refs/heads/master
Commit: 877222105077a8992b4116458b6b286a3045d6c9
Parents: 8df053e 298428b
Author: gayangunarathne <ga...@wso2.com>
Authored: Tue Dec 8 17:46:12 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Tue Dec 8 17:46:12 2015 +0530

----------------------------------------------------------------------
 README.md                                       |   22 +-
 .../org.apache.stratos.autoscaler/pom.xml       |  186 +-
 .../networkpartition/AllAtOnceAlgorithm.java    |    2 +-
 .../ApplicationEventSynchronizer.java           |    9 +-
 .../parser/DefaultApplicationParser.java        |    7 +-
 .../applications/parser/ParserUtils.java        |   43 +
 .../applications/topic/ApplicationBuilder.java  |   13 -
 .../topic/ApplicationsEventPublisher.java       |   11 +-
 ...ntityApplicationManagementServiceClient.java |    3 +-
 .../client/OAuthAdminServiceClient.java         |    2 +-
 .../context/cluster/ClusterContext.java         |    5 +-
 .../AutoscalerHealthStatEventReceiver.java      |    5 -
 .../AutoscalerInitializerTopicReceiver.java     |   72 +
 .../AutoscalerTopologyEventReceiver.java        |  274 ++-
 .../autoscaler/internal/ASBundleActivater.java  |   41 -
 .../internal/AutoscalerServiceComponent.java    |  115 +-
 .../monitor/cluster/ClusterMonitor.java         |   21 +-
 .../autoscaler/pojo/policy/PolicyManager.java   |    2 +-
 .../services/impl/AutoscalerServiceImpl.java    |   32 +-
 .../publisher/AutoscalerPublisherFactory.java   |    5 +-
 .../publisher/DASScalingDecisionPublisher.java  |   25 +-
 .../publisher/ScalingDecisionPublisher.java     |   24 +-
 .../cluster/ClusterStatusActiveProcessor.java   |   22 +-
 .../group/GroupStatusActiveProcessor.java       |   84 +-
 .../processor/group/GroupStatusProcessor.java   |   10 +-
 .../group/GroupStatusTerminatedProcessor.java   |   42 +-
 .../autoscaler/util/AutoscalerConstants.java    |    1 +
 .../org.apache.stratos.cartridge.agent/pom.xml  |   41 +-
 components/org.apache.stratos.cli/pom.xml       |   18 +-
 .../org.apache.stratos.cloud.controller/pom.xml |  220 +-
 .../concurrent/PartitionValidatorCallable.java  |   61 -
 .../context/CloudControllerContext.java         |  118 +-
 .../cloud/controller/domain/IaasProvider.java   |   68 +-
 .../controller/domain/NetworkInterface.java     |   16 +
 .../KubernetesClusterAlreadyUsedException.java  |   49 +
 .../cloud/controller/iaases/JcloudsIaas.java    |   12 +-
 .../cloud/controller/iaases/ec2/EC2Iaas.java    |   24 +-
 .../iaases/openstack/OpenstackIaas.java         |    4 +-
 .../CloudControllerServiceComponent.java        |   53 +-
 .../internal/ServiceReferenceHolder.java        |    4 +-
 .../publisher/TopologyEventPublisher.java       |   15 +-
 .../publisher/TopologyEventSynchronizer.java    |    8 +-
 .../initializer/InitializerTopicReceiver.java   |   72 +
 .../messaging/topology/TopologyBuilder.java     |  227 +-
 .../messaging/topology/TopologyHolder.java      |  104 +
 .../messaging/topology/TopologyManager.java     |  104 -
 .../controller/registry/RegistryManager.java    |    4 +-
 .../services/CloudControllerService.java        |    2 +-
 .../impl/CloudControllerServiceImpl.java        |  143 +-
 .../impl/CloudControllerServiceUtil.java        |    8 +-
 .../services/impl/InstanceTerminator.java       |   22 +-
 .../CloudControllerPublisherFactory.java        |    9 +-
 .../DASMemberInformationPublisher.java          |   23 +-
 .../publisher/DASMemberStatusPublisher.java     |   22 +-
 .../publisher/MemberInformationPublisher.java   |   12 +-
 .../publisher/MemberStatusPublisher.java        |   16 +-
 .../util/CloudControllerConstants.java          |    5 +
 .../controller/util/CloudControllerUtil.java    |  217 +-
 .../iaasprovider/IaaSProviderTest.java          |   66 +
 .../resources/cloud-controller-ec2-iaas.xml     |   55 +
 components/org.apache.stratos.common/pom.xml    |  139 +-
 .../client/CloudControllerServiceClient.java    |  116 +-
 ...InvalidStatisticsPublisherTypeException.java |   30 +
 .../common/partition/NetworkPartitionRef.java   |    5 +
 .../publisher/HealthStatisticsPublisher.java    |   12 +-
 .../HealthStatisticsPublisherFactory.java       |    5 +-
 .../publisher/InFlightRequestPublisher.java     |   11 +-
 .../InFlightRequestPublisherFactory.java        |    5 +-
 .../publisher/ThriftStatisticsPublisher.java    |   98 +-
 .../cep/WSO2CEPHealthStatisticsPublisher.java   |   20 +-
 .../cep/WSO2CEPInFlightRequestPublisher.java    |   30 +-
 .../common/util/CartridgeConfigFileReader.java  |   87 +
 .../test/ThriftClientConfigParserTest.java      |   73 +-
 .../test/ThriftStatisticsPublisherTest.java     |   70 +
 .../src/test/resources/thrift-client-config.xml |   53 +-
 .../org.apache.stratos.custom.handlers/pom.xml  |   67 +-
 .../pom.xml                                     |   31 +-
 .../pom.xml                                     |   49 +-
 .../load/balancer/common/domain/Cluster.java    |    9 +
 .../load/balancer/common/domain/Member.java     |   10 +
 ...LoadBalancerCommonTopologyEventReceiver.java |   13 +
 .../pom.xml                                     |    4 +-
 .../org.apache.stratos.load.balancer/pom.xml    |   70 +-
 .../console/app.js                              |   26 +-
 .../console/applications_form.jag               |    5 +-
 .../console/controllers/login/login.jag         |   18 +-
 .../console/controllers/menu/menu.json          |   14 +-
 .../console/controllers/menu/menu_generator.jag |   35 +-
 .../console/themes/theme0/css/custom.css        |   11 +
 .../themes/theme0/partials/metro_menu.hbs       |   34 +-
 .../org.apache.stratos.manager.styles/pom.xml   |   80 +-
 components/org.apache.stratos.manager/pom.xml   |  104 +-
 .../src/conf/tenant-resource-policy.xml         |   22 -
 .../ArtifactDistributionCoordinator.java        |   77 +-
 .../manager/context/StratosManagerContext.java  |   19 +-
 .../StratosManagerServiceComponent.java         |   98 +-
 .../synchronizer/TenantEventSynchronizer.java   |    6 +-
 .../StratosManagerInitializerTopicReceiver.java |   91 +
 .../manager/registry/RegistryManager.java       |    2 +-
 .../utils/CartridgeConfigFileReader.java        |   87 -
 .../src/scripts/append_zone_file.sh             |   44 -
 components/org.apache.stratos.messaging/pom.xml |   69 +-
 .../domain/application/Application.java         |   11 +-
 .../CompleteApplicationSignUpsRequestEvent.java |   26 +
 .../CompleteApplicationsRequestEvent.java       |   26 +
 .../initializer/CompleteTenantRequestEvent.java |   26 +
 .../CompleteTopologyRequestEvent.java           |   27 +
 .../event/initializer/InitializerEvent.java     |   26 +
 ...eApplicationSignUpsRequestEventListener.java |   24 +
 ...ompleteApplicationsRequestEventListener.java |   24 +
 .../CompleteTenantRequestEventListener.java     |   24 +
 .../CompleteTopologyRequestEventListener.java   |   26 +
 .../processor/MessageProcessorChain.java        |    2 +
 .../ApplicationCreatedMessageProcessor.java     |   25 +-
 .../ApplicationDeletedMessageProcessor.java     |   12 +-
 ...cationInstanceActivatedMessageProcessor.java |   42 +-
 ...licationInstanceCreatedMessageProcessor.java |   25 +-
 ...tionInstanceInactivatedMessageProcessor.java |   40 +-
 ...ationInstanceTerminatedMessageProcessor.java |   25 +-
 ...tionInstanceTerminatingMessageProcessor.java |   41 +-
 .../ApplicationsMessageProcessorChain.java      |   38 +-
 .../CompleteApplicationsMessageProcessor.java   |    3 +
 .../ApplicationSignUpMessageProcessorChain.java |   13 +
 ...rStatusClusterActivatedMessageProcessor.java |   10 +-
 ...StatusClusterInactivateMessageProcessor.java |   10 +-
 ...sClusterInstanceCreatedMessageProcessor.java |   10 +-
 ...usterStatusClusterResetMessageProcessor.java |   10 +-
 ...StatusClusterTerminatedMessageProcessor.java |   10 +-
 ...tatusClusterTerminatingMessageProcessor.java |   10 +-
 .../ClusterStatusMessageProcessorChain.java     |   18 +
 .../DomainMappingMessageProcessorChain.java     |   11 +
 .../stat/HealthStatMessageProcessorChain.java   |   41 +-
 ...plicationSignUpsRequestMessageProcessor.java |   54 +
 ...leteApplicationsRequestMessageProcessor.java |   54 +
 .../CompleteTenantRequestMessageProcessor.java  |   53 +
 ...CompleteTopologyRequestMessageProcessor.java |   54 +
 .../InitializerMessageProcessorChain.java       |   85 +
 .../InstanceNotifierMessageProcessorChain.java  |   12 +
 .../InstanceStatusMessageProcessorChain.java    |   14 +
 .../tenant/TenantMessageProcessorChain.java     |   14 +
 .../topology/TopologyMessageProcessorChain.java |   48 +
 .../ApplicationsEventMessageDelegator.java      |    4 +
 .../application/ApplicationsEventReceiver.java  |   34 +-
 .../signup/ApplicationSignUpEventReceiver.java  |   30 +-
 .../InitializerEventMessageDelegator.java       |   88 +
 .../InitializerEventMessageListener.java        |   48 +
 .../InitializerEventMessageQueue.java           |   26 +
 .../initializer/InitializerEventReceiver.java   |   78 +
 .../notifier/InstanceNotifierEventReceiver.java |   62 +-
 .../receiver/tenant/TenantEventReceiver.java    |   24 +-
 .../topology/TopologyEventReceiver.java         |   27 +-
 .../stratos/messaging/util/MessagingUtil.java   |    3 +-
 .../org.apache.stratos.metadata.client/pom.xml  |   23 +-
 .../metadata/client/beans/PropertyBean.java     |   19 +-
 .../org.apache.stratos.metadata.service/pom.xml |   82 +-
 .../stratos/metadata/service/Constants.java     |    3 +-
 .../MetadataApplicationEventReceiver.java       |   93 +
 .../service/MetadataTopologyEventReceiver.java  |   12 +-
 .../metadata/service/api/MetadataApi.java       |   18 +-
 .../service/exception/MetadataException.java    |    4 +
 .../service/oauth2/ValidationServiceClient.java |   18 +-
 .../metadata/service/registry/DataStore.java    |   21 +-
 .../service/registry/MetadataApiRegistry.java   |  265 ++-
 .../org.apache.stratos.mock.iaas.api/pom.xml    |   65 +-
 .../stratos/mock/iaas/api/MockIaasApi.java      |   20 +
 .../org.apache.stratos.mock.iaas.client/pom.xml |   65 +-
 .../mock/iaas/client/MockIaasApiClient.java     |   12 +
 components/org.apache.stratos.mock.iaas/pom.xml |   40 +-
 .../iaas/internal/MockIaasServiceComponent.java |    6 -
 .../iaas/services/impl/MockIaasServiceImpl.java |   65 +-
 .../iaas/services/impl/MockIaasServiceUtil.java |   23 -
 .../mock/iaas/services/impl/MockInstance.java   |  187 +-
 .../publisher/MockHealthStatisticsNotifier.java |   58 +-
 .../mock/iaas/test/MockIaasServiceTest.java     |  149 +-
 .../src/test/resources/jndi.properties          |   22 +
 .../src/test/resources/thrift-client-config.xml |   50 +
 .../pom.xml                                     |   30 +-
 .../cartridge.agent/cartridge.agent/agent.conf  |    4 +-
 .../cartridge.agent/cartridge.agent/agent.py    |  243 ++-
 .../cartridge.agent/cartridge.agent/config.py   |   95 +-
 .../cartridge.agent/constants.py                |    7 +-
 .../cartridge.agent/exception.py                |   46 +-
 .../extensions/py/ExtensionExecutor.py          |    2 +-
 .../cartridge.agent/healthstats.py              |  112 +-
 .../cartridge.agent/logpublisher.py             |    2 +-
 .../modules/artifactmgt/git/agentgithandler.py  |   35 +-
 .../modules/event/application/signup/events.py  |    3 -
 .../modules/event/eventhandler.py               | 1190 +++++-----
 .../modules/event/instance/notifier/events.py   |    2 +-
 .../modules/event/instance/status/events.py     |   18 +-
 .../modules/event/tenant/events.py              |    2 +-
 .../modules/util/asyncscheduledtask.py          |    2 +-
 .../modules/util/cartridgeagentutils.py         |  116 +-
 .../cartridge.agent/modules/util/log.py         |    2 +-
 .../plugins/DefaultArtifactCheckout.py          |    4 +-
 .../plugins/DefaultArtifactCommit.py            |   17 +-
 .../cartridge.agent/publisher.py                |  117 +-
 .../cartridge.agent/subscriber.py               |  161 +-
 .../src/main/python/README.md                   |   40 +-
 .../src/main/python/README.rst                  |   75 -
 .../src/main/python/cli/CLI.py                  | 1530 -------------
 .../src/main/python/cli/Configs.py              |   32 -
 .../src/main/python/cli/Exceptions.py           |   25 -
 .../src/main/python/cli/Logging.py              |   29 -
 .../src/main/python/cli/Main.py                 |   66 -
 .../src/main/python/cli/Stratos.py              |  489 -----
 .../src/main/python/cli/Utils.py                |   99 -
 .../src/main/python/cli/cli.py                  | 1687 +++++++++++++++
 .../src/main/python/cli/config.py               |   32 +
 .../src/main/python/cli/exception.py            |   26 +
 .../src/main/python/cli/logutils.py             |   29 +
 .../src/main/python/cli/main.py                 |   71 +
 .../src/main/python/cli/restclient.py           |  493 +++++
 .../src/main/python/cli/utils.py                |   38 +
 .../src/main/python/setup.cfg                   |    2 -
 .../src/main/python/setup.py                    |   47 -
 .../org.apache.stratos.rest.endpoint/pom.xml    |   76 +-
 .../rest/endpoint/api/StratosApiV41.java        |   16 +-
 .../rest/endpoint/api/StratosApiV41Utils.java   |  607 +++---
 .../handlers/ComponentSynchronizerHandler.java  |   11 +-
 .../oauth2/ValidationServiceClient.java         |   12 +-
 .../src/main/webapp/api/WEB-INF/cxf-servlet.xml |    1 +
 dependencies/fabric8/kubernetes-api/pom.xml     |   73 +-
 dependencies/guice-assistedinject/pom.xml       |    6 +-
 dependencies/guice-multibindings/pom.xml        |    4 +-
 dependencies/guice/pom.xml                      |    4 +-
 dependencies/jclouds/cloudstack/pom.xml         |    5 +-
 dependencies/jclouds/ec2/pom.xml                |    5 +-
 .../google-cloud-storage/pom.xml                |    5 +-
 .../google-compute-engine/pom.xml               |    5 +-
 .../google-jclouds-labs/googlecloud/pom.xml     |    5 +-
 .../jclouds/google-jclouds-labs/oauth/pom.xml   |    5 +-
 dependencies/jclouds/jclouds-blobstore/pom.xml  |    5 +-
 .../jclouds/jclouds-bouncycastle/pom.xml        |    8 +-
 dependencies/jclouds/jclouds-compute/pom.xml    |    5 +-
 dependencies/jclouds/jclouds-core/pom.xml       |    5 +-
 dependencies/jclouds/jclouds-enterprise/pom.xml |    5 +-
 dependencies/jclouds/jclouds-joda/pom.xml       |    5 +-
 dependencies/jclouds/jclouds-netty/pom.xml      |    7 +-
 dependencies/jclouds/jclouds-sshj/pom.xml       |    5 +-
 dependencies/jclouds/openstack-common/pom.xml   |    5 +-
 dependencies/jclouds/openstack-keystone/pom.xml |    5 +-
 dependencies/jclouds/openstack-neutron/pom.xml  |    5 +-
 dependencies/jclouds/openstack-nova/pom.xml     |    5 +-
 dependencies/jclouds/sts/pom.xml                |    5 +-
 dependencies/org.wso2.carbon.ui/pom.xml         |    2 +-
 dependencies/rocoto/pom.xml                     |    5 +-
 dependencies/sshj/pom.xml                       |    9 +-
 extensions/cep/modules/distribution/README.md   |   34 +-
 extensions/cep/modules/distribution/pom.xml     |   16 +-
 .../modules/distribution/src/assembly/bin.xml   |   25 +
 .../stratos-cep-extension/wso2cep-3.0.0/pom.xml |   15 +-
 .../stratos-cep-extension/wso2cep-3.1.0/pom.xml |   17 +-
 .../extension/FaultHandlingWindowProcessor.java |    2 +-
 .../GradientFinderWindowProcessor.java          |    2 +-
 .../SecondDerivativeFinderWindowProcessor.java  |    2 +-
 extensions/cep/pom.xml                          |    2 +-
 .../artifacts/metering-dashboard/README.md      |   36 +-
 .../artifacts/metering-dashboard/capps/pom.xml  |   22 +-
 .../Dashboard/artifact.xml                      |    2 +-
 .../Dashboard/metering-dashboard.json           |  229 ++
 .../Dashboard/stratos-metering-dashboard.json   |  229 --
 .../js/member-details-filter.js                 |   30 +-
 .../metering-dashboard/ues-patch/README.md      |    5 +-
 .../metering-dashboard/ues-patch/dashboard.jag  |  129 +-
 .../ues-patch/ues-dashboards.js                 |  211 --
 .../metering-dashboard/ues-patch/ues-gadgets.js |  196 ++
 .../metering-dashboard/ues-patch/ues-pubsub.js  |   20 +-
 .../artifacts/monitoring-dashboard/README.md    |   33 +-
 .../monitoring-dashboard/capps/pom.xml          |   20 +-
 .../Dashboard/artifact.xml                      |    2 +-
 .../Dashboard/monitoring-dashboard.json         |  225 ++
 .../scaling_decision_1.0.0.json                 |    4 +-
 .../GadgetLoadAverage/Load_Average/js/igviz.js  |    2 +-
 .../GadgetMemoryUsage/Memory_Usage/js/igviz.js  |    2 +-
 extensions/das/modules/distribution/README.md   |   45 +-
 extensions/das/modules/distribution/pom.xml     |    6 +-
 .../das/modules/stratos-das-extension/README.md |   10 +-
 .../apache/stratos/das/extension/TimeUDF.java   |   49 +
 .../das/extension/spark/udf/TimeUDF.java        |   49 -
 extensions/das/pom.xml                          |    5 +-
 .../modules/aws-extension/INSTALL.md            |   10 +-
 .../load-balancer/modules/aws-extension/pom.xml |   17 +-
 .../aws-extension/src/main/assembly/bin.xml     |    5 +
 .../aws-extension/src/main/bin/aws-extension.sh |    7 +-
 .../aws-extension/src/main/conf/aws.properties  |   19 +
 .../src/main/conf/thrift-client-config.xml      |   24 +-
 .../aws/extension/AWSExtensionContext.java      |   28 +
 .../apache/stratos/aws/extension/AWSHelper.java | 2024 ++++++++++--------
 .../stratos/aws/extension/AWSLoadBalancer.java  |  588 +++--
 .../apache/stratos/aws/extension/Constants.java |   13 +
 .../org/apache/stratos/aws/extension/Main.java  |   24 +-
 .../exception/PersistenceException.java         |   39 +
 .../FileBasedPersistenceManager.java            |  161 ++
 .../persistence/PersistenceManager.java         |   36 +
 .../extension/persistence/dao/LBInfoDAO.java    |   52 +
 .../extension/persistence/dto/LBInfoDTO.java    |   69 +
 .../aws-extension/src/main/resources/.gitignore |    4 +
 .../src/main/security/client-truststore.jks     |  Bin 35240 -> 36562 bytes
 .../stratos/aws/extension/AwsHelperTest.java    |   82 +
 .../src/test/resources/log4j.properties         |   28 +
 .../modules/haproxy-extension/pom.xml           |    9 +-
 .../src/main/conf/thrift-client-config.xml      |   24 +-
 .../load-balancer/modules/lvs-extension/pom.xml |    9 +-
 .../src/main/conf/thrift-client-config.xml      |   24 +-
 .../modules/nginx-extension/pom.xml             |    9 +-
 .../src/main/conf/thrift-client-config.xml      |   24 +-
 .../pom.xml                                     |   34 +-
 .../pom.xml                                     |    6 +-
 .../pom.xml                                     |    8 +-
 .../pom.xml                                     |   90 +-
 .../org.apache.stratos.common.feature/pom.xml   |    4 +-
 .../pom.xml                                     |   12 +-
 .../pom.xml                                     |   15 +-
 .../pom.xml                                     |    8 +-
 .../pom.xml                                     |   27 +-
 .../pom.xml                                     |   19 +-
 .../pom.xml                                     |  195 --
 .../pom.xml                                     |  196 +-
 .../pom.xml                                     |   28 +-
 .../pom.xml                                     |    5 +-
 .../pom.xml                                     |   20 +-
 .../pom.xml                                     |   69 +-
 features/pom.xml                                |   14 +-
 pom.xml                                         | 1186 +++++++++-
 .../modules/distribution/pom.xml                |    3 +-
 .../load-balancer/modules/distribution/pom.xml  |   13 +-
 .../modules/p2-profile-gen/pom.xml              |   40 +-
 products/load-balancer/pom.xml                  |   30 +-
 .../modules/integration/test-common/pom.xml     |   14 +-
 .../integration/test-integration/pom.xml        |   10 +-
 .../integration/tests/ADCExtensionTestCase.java |   32 +-
 .../tests/ADCMTAppTenantUserTestCase.java       |   51 +-
 .../integration/tests/ADCMTAppTestCase.java     |   51 +-
 .../agent/integration/tests/ADCTestCase.java    |   46 +-
 .../tests/ADCValidationTestCase.java            |  163 ++
 .../integration/tests/AgentStartupTestCase.java |  113 +-
 .../integration/tests/CEPHAModeTestCase.java    |  271 +++
 .../tests/MessageBrokerHATestCase.java          |  260 +++
 .../tests/PythonAgentIntegrationTest.java       |  323 ++-
 .../resources/ADCExtensionTestCase/agent.conf   |    4 +-
 .../ADCMTAppTenantUserTestCase/agent.conf       |    4 +-
 .../test/resources/ADCMTAppTestCase/agent.conf  |    4 +-
 .../src/test/resources/ADCTestCase/agent.conf   |    4 +-
 .../resources/ADCValidationTestCase/agent.conf  |   46 +
 .../resources/ADCValidationTestCase/logging.ini |   52 +
 .../ADCValidationTestCase/payload/launch-params |    1 +
 .../resources/AgentStartupTestCase/agent.conf   |    4 +-
 .../test/resources/CEPHAModeTestCase/agent.conf |   46 +
 .../resources/CEPHAModeTestCase/logging.ini     |   52 +
 .../CEPHAModeTestCase/payload/launch-params     |    1 +
 .../MessageBrokerHATestCase/agent.conf          |   46 +
 .../MessageBrokerHATestCase/jndi.properties     |   26 +
 .../MessageBrokerHATestCase/logging.ini         |   52 +
 .../payload/launch-params                       |    1 +
 .../src/test/resources/log4j.properties         |   55 +
 .../test-conf/integration-test.properties       |   13 +-
 .../src/test/resources/test-suite-all.xml       |    1 +
 .../src/test/resources/test-suite-smoke.xml     |    2 +
 .../distribution/src/main/assembly/bin.xml      |   18 +-
 .../distribution/src/main/bin/stratos.sh        |   34 +
 .../modules/distribution/src/main/notice/NOTICE |    4 +-
 .../modules/distribution/src/main/readme/README |   25 -
 products/python-cli/pom.xml                     |    2 +-
 .../stratos-cli/modules/distribution/pom.xml    |    3 +-
 products/stratos/modules/distribution/pom.xml   |   13 +-
 .../distribution/src/main/conf/autoscaler.xml   |    3 +-
 .../src/main/conf/cartridge-config.properties   |    3 +-
 .../src/main/conf/drools/dependent-scaling.drl  |    8 +-
 .../src/main/conf/drools/mincheck.drl           |    9 +-
 .../src/main/conf/drools/scaling.drl            |    8 +-
 .../distribution/src/main/conf/etc/launch.ini   |   26 +-
 .../modules/integration/test-common/pom.xml     |   23 +-
 .../integration/common/RestConstants.java       |    4 +
 .../integration/common/ServerLogClient.java     |  180 ++
 .../common/StratosTestServerManager.java        |  102 +-
 .../integration/common/TopologyHandler.java     |  538 +++--
 .../extensions/StratosServerExtension.java      |   42 +-
 .../integration/common/rest/RestClient.java     |  177 +-
 .../integration/test-integration/pom.xml        |   18 +-
 .../tests/StratosIntegrationTest.java           |    4 +-
 .../integration/tests/adc/GitHookTestCase.java  |  192 ++
 .../ApplicationBurstingTestCase.java            |  191 +-
 .../ApplicationStartupOrderTestCase.java        |  184 ++
 .../application/ApplicationUpdateTestCase.java  |  184 +-
 .../application/GroupStartupOrderTestCase.java  |  266 +--
 .../GroupTerminationBehaviorTestCase.java       |  226 +-
 .../application/MetadataServiceTestCase.java    |  443 ++++
 ...PartitionOneAfterAnotherClusterTestCase.java |  149 +-
 .../PartitionRoundRobinClusterTestCase.java     |  186 +-
 .../SampleApplicationStartupTestCase.java       |   61 +-
 .../application/SampleApplicationsTestCase.java |  403 ++--
 .../SingleClusterScalingTestCase.java           |  190 +-
 .../tests/cartridge/CartridgeGroupTestCase.java |  241 +++
 .../tests/cartridge/CartridgeTestCase.java      |  183 ++
 .../tests/group/CartridgeGroupTestCase.java     |  251 ---
 .../tests/group/CartridgeTestCase.java          |  183 --
 .../tests/iaas/IaaSProviderTestCase.java        |   63 +
 .../iaas/IaasProviderAttributeTestCase.java     |  279 +++
 .../policies/ApplicationPolicyTestCase.java     |  111 +-
 .../policies/AutoscalingPolicyTestCase.java     |    5 +-
 .../policies/DeploymentPolicyTestCase.java      |    7 +-
 .../policies/NetworkPartitionTestCase.java      |    7 +-
 .../server/StratosServerRestartTestCase.java    |  214 ++
 .../integration/tests/users/TenantTestCase.java |    8 +-
 .../integration/tests/users/UserTestCase.java   |    5 +-
 .../app-bursting-single-cartriddge-group.json   |   70 -
 .../applications/application-bursting-test.json |   70 +
 ...n-policy-application-startup-order-test.json |   17 +
 .../application-startup-order-test.json         |  135 ++
 ...g-policy-application-startup-order-test.json |   14 +
 ...pp-group-application-startup-order-test.json |   20 +
 ...db-group-application-startup-order-test.json |   13 +
 .../esb-application-startup-order-test.json     |   50 +
 .../mysql-application-startup-order-test.json   |   50 +
 .../php-application-startup-order-test.json     |   51 +
 ...postgres-application-startup-order-test.json |   50 +
 .../tomcat-application-startup-order-test.json  |   53 +
 ...policy-1-application-startup-order-test.json |   15 +
 ...policy-2-application-startup-order-test.json |   29 +
 ...tition-1-application-startup-order-test.json |   15 +
 ...tition-2-application-startup-order-test.json |   24 +
 .../g-sc-G123-1-application-update-test-v1.json |    2 +-
 .../g-sc-G123-1-application-update-test.json    |    2 +-
 ...rdige-nested-application-update-test-v1.json |   50 -
 ...artrdige-nested-application-update-test.json |   50 -
 ...artridge-nested-application-update-test.json |   50 +
 ...tion-policy-iaasprovider-attribute-test.json |   17 +
 .../app-iaasprovider-attribute-test.json        |   24 +
 ...ling-policy-iaasprovider-attribute-test.json |   14 +
 ...dge-iaasprovider-attribute-test-updated.json |   54 +
 .../cartridge-iaasprovider-attribute-test.json  |   50 +
 ...ment-policy-iaasprovider-attribute-test.json |   15 +
 ...k-partition-iaasprovider-attribute-test.json |   19 +
 .../src/test/resources/common/autoscaler.xml    |    1 +
 .../test/resources/common/cloud-controller.xml  |   11 +-
 .../src/test/resources/common/log4j.properties  |   35 +-
 .../src/test/resources/common/scaling.drl       |    8 +-
 .../application-policy-git-hook-test.json       |   17 +
 .../applications/git-hook-test.json             |   25 +
 .../autoscaling-policy-git-hook-test.json       |   14 +
 .../cartridges/mock/c1-git-hook-test.json       |   51 +
 .../deployment-policy-git-hook-test.json        |   15 +
 .../test/resources/git-hook-test/hook-req.json  |    5 +
 .../mock/network-partition-git-hook-test.json   |   15 +
 ...rk-partition-group-startup-order-test-2.json |   24 -
 ...pplication-policy-metadata-service-test.json |   17 +
 .../application-metadata-service-test-1.json    |   24 +
 .../application-metadata-service-test-2.json    |   24 +
 ...utoscaling-policy-metadata-service-test.json |   14 +
 .../c1-application-metadata-service-test.json   |   45 +
 ...deployment-policy-metadata-service-test.json |   18 +
 ...network-partition-metadata-service-test.json |   15 +
 ...dige-nested-sample-applications-test-v1.json |   50 -
 ...rtrdige-nested-sample-applications-test.json |   50 -
 ...rtridge-nested-sample-applications-test.json |   50 +
 ...ment-policy-sample-applications-test-v1.json |   36 -
 ...partition-sample-applications-test-1-v1.json |   28 -
 ...tion-policy-stratos-server-restart-test.json |   17 +
 .../stratos-server-restart-test.json            |   24 +
 ...ling-policy-stratos-server-restart-test.json |   14 +
 .../mock/c1-stratos-server-restart-test.json    |   45 +
 ...ment-policy-stratos-server-restart-test.json |   18 +
 ...k-partition-stratos-server-restart-test.json |   15 +
 .../src/test/resources/test-suite-all.xml       |    4 +-
 .../src/test/resources/test-suite-smoke.xml     |    2 +-
 products/stratos/modules/p2-profile-gen/pom.xml |  423 +++-
 products/stratos/pom.xml                        |   30 +-
 .../kubernetes-cluster-1.json                   |    8 +-
 .../kubernetes-cluster-2.json                   |    8 +-
 .../kubernetes-cluster-ec2.json                 |    8 +-
 .../main/resources/CloudControllerService.wsdl  |  440 ++--
 service-stubs/pom.xml                           |   12 +-
 .../base-image/files/run                        |   34 +-
 .../cartridge-docker-images/build.sh            |    6 +-
 .../stratos-docker-images/puppetmaster/run      |    3 +-
 tools/puppet3/manifests/nodes/base.pp           |    6 +-
 .../agent/templates/conf/jndi.properties.erb    |   14 +-
 .../templates/conf/mqtttopic.properties.erb     |    2 +-
 .../haproxy/templates/conf/jndi.properties.erb  |   14 +-
 .../lb/templates/conf/jndi.properties.erb       |   14 +-
 .../modules/python_agent/manifests/init.pp      |    8 +-
 .../python_agent/templates/agent.conf.erb       |   23 +-
 tools/stratos-installer/README.md               |    2 +-
 .../stratos-installer/templates/autoscaler.xml  |    1 +
 485 files changed, 20748 insertions(+), 11776 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/README.md
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java
----------------------------------------------------------------------
diff --cc components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java
index 0000000,d183ca0..ae939c8
mode 000000,100644..100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java
@@@ -1,0 -1,118 +1,104 @@@
+ /*
+  * 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.
+  */
+ package org.apache.stratos.cloud.controller.messaging.topology;
+ 
+ import com.google.gson.Gson;
+ import org.apache.commons.logging.Log;
+ import org.apache.commons.logging.LogFactory;
+ import org.apache.stratos.cloud.controller.registry.RegistryManager;
+ import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
+ import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
+ import org.apache.stratos.common.concurrent.locks.ReadWriteLock;
+ import org.apache.stratos.messaging.domain.topology.Topology;
+ import org.wso2.carbon.registry.core.exceptions.RegistryException;
+ 
+ /**
+  * Persistence and retrieval of Topology from Registry
+  */
+ public class TopologyHolder {
+     private static final Log log = LogFactory.getLog(TopologyHolder.class);
+ 
+     private static volatile ReadWriteLock lock = new ReadWriteLock("topology-manager");
+     private static volatile Topology topology;
+ 
+     private TopologyHolder() {
+     }
+ 
 -    public static void acquireReadLock() {
 -        lock.acquireReadLock();
 -        if (log.isDebugEnabled()) {
 -            log.debug("Read lock acquired");
 -        }
 -    }
 -
 -    public static void releaseReadLock() {
 -        lock.releaseReadLock();
 -        if (log.isDebugEnabled()) {
 -            log.debug("Read lock released");
 -        }
 -    }
 -
+     public static void acquireWriteLock() {
+         lock.acquireWriteLock();
+         if (log.isDebugEnabled()) {
+             log.debug("Write lock acquired");
+         }
+     }
+ 
+     public static void releaseWriteLock() {
+         lock.releaseWriteLock();
+         if (log.isDebugEnabled()) {
+             log.debug("Write lock released");
+         }
+     }
+ 
+     public static Topology getTopology() {
+         if (topology == null) {
+             synchronized (TopologyHolder.class) {
+                 if (topology == null) {
+                     if (log.isDebugEnabled()) {
+                         log.debug("Trying to retrieve topology from registry");
+                     }
+                     topology = CloudControllerUtil.retrieveTopology();
+                     if (topology == null) {
+                         if (log.isDebugEnabled()) {
+                             log.debug("Topology not found in registry, creating new");
+                         }
+                         topology = new Topology();
+                     }
+                     if (log.isDebugEnabled()) {
+                         log.debug("Topology initialized");
+                     }
+                 }
+             }
+         }
+         return topology;
+     }
+ 
+     /**
+      * Update in-memory topology and persist it in registry.
+      *
+      * @param updatedTopology
+      */
+     public static void updateTopology(Topology updatedTopology) throws RegistryException {
+         synchronized (TopologyHolder.class) {
+             if (log.isDebugEnabled()) {
+                 log.debug("Updating topology");
+             }
+             topology = updatedTopology;
+             RegistryManager.getInstance().persist(CloudControllerConstants.TOPOLOGY_RESOURCE, topology);
+             if (log.isDebugEnabled()) {
+                 log.debug(String.format("Topology updated: %s", toJson(topology)));
+             }
+         }
+ 
+     }
+ 
+     private static String toJson(Object object) {
+         Gson gson = new Gson();
+         return gson.toJson(object);
+     }
+ }
+ 

http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
----------------------------------------------------------------------
diff --cc components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
index b44cad4,72fc5e2..8d2915e
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
@@@ -21,10 -21,8 +21,10 @@@ import sy
  
  from yapsy.PluginManager import PluginManager
  
 +from yapsy.PluginManager import PluginManager
 +
  from modules.util.log import LogFactory
- from exception import ParameterNotFoundException
+ from exception import ParameterNotFoundException, InvalidConfigValueException
  import constants
  from plugins.contracts import ICartridgeAgentPlugin, IArtifactCommitPlugin, IArtifactCheckoutPlugin, \
      IHealthStatReaderPlugin

http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --cc components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 5e7e68d,ffe2a24..4c6eb1e
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@@ -1855,11 -1839,12 +1839,12 @@@ public class StratosApiV41Utils 
              if (applicationContexts != null) {
                  for (ApplicationContext applicationContext : applicationContexts) {
                      if (applicationContext != null) {
-                         ApplicationBean applicationDefinition =
-                                 ObjectConverter.convertStubApplicationContextToApplicationDefinition(applicationContext);
-                         if(applicationDefinition.isMultiTenant()) {
+                         ApplicationBean applicationDefinition = ObjectConverter
+                                 .convertStubApplicationContextToApplicationDefinition(applicationContext);
+                         if (applicationDefinition.isMultiTenant()) {
+                             int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
                              boolean hasSignUps = StratosManagerServiceClient.getInstance().
 -                                    applicationSignUpExist(applicationDefinition.getApplicationId(), tenantId);
 +                                    applicationSignUpsExist(applicationDefinition.getApplicationId());
                              applicationDefinition.setSignUpsExist(hasSignUps);
                          }
                          applicationDefinitions.add(applicationDefinition);

http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/extensions/das/modules/artifacts/metering-dashboard/ues-patch/dashboard.jag
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/extensions/das/modules/artifacts/monitoring-dashboard/README.md
----------------------------------------------------------------------
diff --cc extensions/das/modules/artifacts/monitoring-dashboard/README.md
index d80ff14,968b8cc..0f5ca8e
--- a/extensions/das/modules/artifacts/monitoring-dashboard/README.md
+++ b/extensions/das/modules/artifacts/monitoring-dashboard/README.md
@@@ -1,12 -1,25 +1,25 @@@
  # Apache Stratos Monitoring Dashboard
  
- This directory contains following artifacts: <br />
- (1) capps - Includes stratos-monitoring-service car file which bundles all Event Stream, Event receiver, Even Store, Gadgets, SparkScripts and Dashboard artifacts. <br />
- (2) jaggery-files <br />
- 
- Follow the below steps to generate the monitoring dashboard: <br />
- 1. Add jaggery files which can be found in <Stratos-DAS-Distribution>/monitoring-dashboard/jaggery-files/ to DAS path '<DAS_HOME/repository/deployment/server/jaggeryapps/portal/controllers/apis/' <br/>
- 2. Create MySQL database and tables using queries in <Stratos-DAS-Distribution>/monitoring-dashboard/monitoring-mysqlscript.sql manually. <br />
- 3. Copy CEP  EventFormatter artifacts in <Stratos-DAS-Distribution>/wso2cep-<version>/eventformatters/ to <CEP-HOME>/repository/deployment/server/eventformatters/. <br />
- 4. Copy CEP OutputEventAdapter artifact in <Stratos-DAS-Distribution>/wso2cep-<version>/outputeventadaptors/ to <CEP-HOME>/repository/deployment/server/outputeventadaptors  and update the tcp and ssl ports according to DAS server port offset. <br />
- 5. Add stratos-monitoring-service car file in <Stratos-DAS-Distribution>/monitoring-dashboard/ to <DAS-HOME>/repository/deployment/server/carbonapps/ to generate the monitoring dashboard. <br />
+ ## This directory contains following artifacts:
+ (1) capps - Includes stratos-monitoring-service car file which bundles all Event Stream, Event receiver, Even Store,
+ Gadgets, SparkScripts and Dashboard artifacts.
+ 
+ (2) jaggery-files
+ 
+ ## Follow the below steps to generate the monitoring dashboard:
+ 
+ 1. Add jaggery files which can be found in <Stratos-DAS-Distribution>/monitoring-dashboard/jaggery-files/ to DAS path
+  <DAS_HOME/repository/deployment/server/jaggeryapps/portal/controllers/apis/.
+ 
+ 2. Create MySQL database and tables using queries in
+ <Stratos-DAS-Distribution>/monitoring-dashboard/monitoring-mysqlscript.sql manually.
+ 
+ 3. Copy CEP  EventFormatter artifacts in <Stratos-DAS-Distribution>/wso2cep-<version>/eventformatters/ to
+ <CEP-HOME>/repository/deployment/server/eventformatters/.
+ 
+ 4. Copy CEP OutputEventAdapter artifact in <Stratos-DAS-Distribution>/wso2cep-<version>/outputeventadaptors/ to
+ <CEP-HOME>/repository/deployment/server/outputeventadaptors  and update the tcp and ssl ports according to DAS server
+  port offset.
+ 
+ 5. Add stratos-monitoring-service car file in <Stratos-DAS-Distribution>/monitoring-dashboard/ to
 -<DAS-HOME>/repository/deployment/server/carbonapps/ to generate the monitoring dashboard.
++<DAS-HOME>/repository/deployment/server/carbonapps/ to generate the monitoring dashboard.

http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/extensions/das/modules/stratos-das-extension/README.md
----------------------------------------------------------------------
diff --cc extensions/das/modules/stratos-das-extension/README.md
index 58bdd5b,59fe665..db661fa
--- a/extensions/das/modules/stratos-das-extension/README.md
+++ b/extensions/das/modules/stratos-das-extension/README.md
@@@ -1,6 -1,8 +1,8 @@@
  # Apache Stratos DAS Extension
  
- This directory contains DAS Extensions needed for Stratos. <br />
- 1. Add org.apache.stratos.das.extension-<stratos-version>.jar file to '<DAS-HOME>/repository/components/lib/'. <br />
- 2. Add below UDF class path to 'spark-udf-config.xml' file in '<DAS-HOME>/repository/conf/analytics/spark/' folder. <br />
-    <class-name>org.apache.stratos.das.extension.TimeUDF</class-name> <br />
+ This directory contains DAS Extensions needed for Stratos.
+ 
+ 1. Add org.apache.stratos.das.extension-<stratos-version>.jar file to <DAS-HOME>/repository/components/lib/.
+ 
+ 2. Add UDF class '<class-name>org.apache.stratos.das.extension.TimeUDF</class-name>' to 'spark-udf-config.xml'
 -file in <DAS-HOME>/repository/conf/analytics/spark/ folder.
++file in <DAS-HOME>/repository/conf/analytics/spark/ folder.


[18/50] [abbrv] stratos git commit: PCA Live Test - Refactoring PCA - Fixed missing app path validation in event handler

Posted by ga...@apache.org.
PCA Live Test - Refactoring
PCA - Fixed missing app path validation in event handler


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

Branch: refs/heads/master
Commit: 81b72de838432e35bb8af413fd2be50893e61115
Parents: e40f254
Author: Chamila de Alwis <ch...@apache.org>
Authored: Mon Nov 30 19:13:49 2015 +0530
Committer: Chamila de Alwis <ch...@apache.org>
Committed: Mon Nov 30 19:13:56 2015 +0530

----------------------------------------------------------------------
 .../cartridge.agent/healthstats.py              | 16 ++---
 .../modules/event/eventhandler.py               |  9 ++-
 .../integration/tests/ADCExtensionTestCase.java | 27 ---------
 .../tests/ADCMTAppTenantUserTestCase.java       | 42 ++++----------
 .../integration/tests/ADCMTAppTestCase.java     | 41 ++++---------
 .../agent/integration/tests/ADCTestCase.java    | 39 ++++---------
 .../tests/ADCValidationTestCase.java            | 44 +++++---------
 .../integration/tests/AgentStartupTestCase.java | 39 ++++---------
 .../integration/tests/CEPHAModeTestCase.java    | 58 ++++---------------
 .../tests/MessageBrokerHATestCase.java          | 38 ++++--------
 .../tests/PythonAgentIntegrationTest.java       | 61 +++++++++++++++++++-
 11 files changed, 159 insertions(+), 255 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/81b72de8/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py
index 92d2495..71f2894 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py
@@ -62,7 +62,7 @@ class HealthStatisticsPublisherManager(Thread):
 
                 self.log.debug("Publishing load average: %r" % cartridge_stats.load_avg)
                 self.publisher.publish_load_average(cartridge_stats.load_avg)
-            except ThriftReceiverOfflineException:
+            except Exception as e:
                 self.log.exception(
                     "Couldn't publish health statistics to CEP. Thrift Receiver offline. Reconnecting...")
                 self.publisher = HealthStatisticsPublisher()
@@ -186,6 +186,7 @@ class HealthStatisticsPublisher:
     def add_publishers(self, cep_url):
         """
         Add publishers to the publisher list for publishing
+        :param cep_url:
         """
         cep_ip = cep_url.split(':')[0]
         cep_port = cep_url.split(':')[1]
@@ -199,27 +200,28 @@ class HealthStatisticsPublisher:
 
         self.publishers.append(publisher)
 
-
-    def is_cep_active(self, cep_url):
+    @staticmethod
+    def is_cep_active(cep_url):
         """
         Check if the cep node is active
         return true if active
+        :param cep_url:
         """
-        self.ports = []
+        ports = []
         cep_ip = cep_url.split(':')[0]
         cep_port = cep_url.split(':')[1]
-        self.ports.append(cep_port)
+        ports.append(cep_port)
 
         cep_active = cartridgeagentutils.check_ports_active(
             cep_ip,
-            self.ports)
+            ports)
 
         return cep_active
 
-
     def publish_event(self, event):
         """
         Publish events to cep nodes
+        :param event:
         """
         for publisher in self.publishers:
             try:

http://git-wip-us.apache.org/repos/asf/stratos/blob/81b72de8/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
index f8b0c2b..cea3c01 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
@@ -89,6 +89,13 @@ def on_artifact_updated_event(artifacts_updated_event):
         log.error("Repository path is empty. Failed to process artifact updated event.")
         return
 
+    if not validate_repo_path(Config.app_path):
+        log.error(
+            "Repository path cannot be accessed, or is invalid. Failed to process artifact updated event. [App Path] %s"
+            % Config.app_path)
+
+        return
+
     repo_username = artifacts_updated_event.repo_username
     tenant_id = artifacts_updated_event.tenant_id
     is_multitenant = Config.is_multiTenant
@@ -666,7 +673,7 @@ def find_tenant_domain(tenant_id):
 
 def validate_repo_path(app_path):
     # app path would be ex: /var/www, or /opt/server/data
-    return os.access(app_path, os.W_OK)
+    return os.path.isabs(app_path)
 
 
 class PluginExecutor(Thread):

http://git-wip-us.apache.org/repos/asf/stratos/blob/81b72de8/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java
index ab4975a..2fddf6e 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java
@@ -132,31 +132,4 @@ public class ADCExtensionTestCase extends PythonAgentIntegrationTest {
         artifactUpdatedEvent.setTenantId(TENANT_ID);
         return artifactUpdatedEvent;
     }
-
-    /**
-     * Create test topology
-     *
-     * @return Topology object with mock information
-     */
-    private Topology createTestTopology() {
-        Topology topology = new Topology();
-        Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant);
-        topology.addService(service);
-
-        Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME,
-                AUTOSCALING_POLICY_NAME, APP_ID);
-        service.addCluster(cluster);
-
-        Member member = new Member(service.getServiceName(), cluster.getClusterId(), MEMBER_ID, CLUSTER_INSTANCE_ID,
-                NETWORK_PARTITION_ID, PARTITION_ID, LoadBalancingIPType.Private, System.currentTimeMillis());
-
-        member.setDefaultPrivateIP("10.0.0.1");
-        member.setDefaultPublicIP("20.0.0.1");
-        Properties properties = new Properties();
-        properties.setProperty("prop1", "value1");
-        member.setProperties(properties);
-        member.setStatus(MemberStatus.Created);
-        cluster.addMember(member);
-        return topology;
-    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/81b72de8/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTenantUserTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTenantUserTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTenantUserTestCase.java
index 05d5ba2..b653632 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTenantUserTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTenantUserTestCase.java
@@ -137,7 +137,18 @@ public class ADCMTAppTenantUserTestCase extends PythonAgentIntegrationTest {
                                 sleep(2000);
                                 // Send complete topology event
                                 log.info("Publishing complete topology event...");
-                                Topology topology = createTestTopology();
+                                Topology topology = PythonAgentIntegrationTest.createTestTopology(
+                                        SERVICE_NAME,
+                                        CLUSTER_ID,
+                                        DEPLOYMENT_POLICY_NAME,
+                                        AUTOSCALING_POLICY_NAME,
+                                        APP_ID,
+                                        MEMBER_ID,
+                                        CLUSTER_INSTANCE_ID,
+                                        NETWORK_PARTITION_ID,
+                                        PARTITION_ID,
+                                        ServiceType.SingleTenant);
+
                                 CompleteTopologyEvent completeTopologyEvent = new CompleteTopologyEvent(topology);
                                 publishEvent(completeTopologyEvent);
                                 log.info("Complete topology event published");
@@ -190,33 +201,4 @@ public class ADCMTAppTenantUserTestCase extends PythonAgentIntegrationTest {
         artifactUpdatedEvent.setTenantId(TENANT_ID);
         return artifactUpdatedEvent;
     }
-
-    /**
-     * Create test topology
-     *
-     * @return
-     */
-    private Topology createTestTopology() {
-        Topology topology = new Topology();
-        Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant);
-        topology.addService(service);
-
-        Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME,
-                AUTOSCALING_POLICY_NAME, APP_ID);
-        service.addCluster(cluster);
-
-        Member member = new Member(service.getServiceName(), cluster.getClusterId(), MEMBER_ID,
-                CLUSTER_INSTANCE_ID, NETWORK_PARTITION_ID, PARTITION_ID, LoadBalancingIPType.Private,
-                System.currentTimeMillis());
-
-        member.setDefaultPrivateIP("10.0.0.1");
-        member.setDefaultPublicIP("20.0.0.1");
-        Properties properties = new Properties();
-        properties.setProperty("prop1", "value1");
-        member.setProperties(properties);
-        member.setStatus(MemberStatus.Created);
-        cluster.addMember(member);
-
-        return topology;
-    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/81b72de8/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTestCase.java
index 444a5e0..02144e0 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTestCase.java
@@ -139,7 +139,18 @@ public class ADCMTAppTestCase extends PythonAgentIntegrationTest {
                                 sleep(2000);
                                 // Send complete topology event
                                 log.info("Publishing complete topology event...");
-                                Topology topology = createTestTopology();
+                                Topology topology = PythonAgentIntegrationTest.createTestTopology(
+                                        SERVICE_NAME,
+                                        CLUSTER_ID,
+                                        DEPLOYMENT_POLICY_NAME,
+                                        AUTOSCALING_POLICY_NAME,
+                                        APP_ID,
+                                        MEMBER_ID,
+                                        CLUSTER_INSTANCE_ID,
+                                        NETWORK_PARTITION_ID,
+                                        PARTITION_ID,
+                                        ServiceType.SingleTenant);
+
                                 CompleteTopologyEvent completeTopologyEvent = new CompleteTopologyEvent(topology);
                                 publishEvent(completeTopologyEvent);
                                 log.info("Complete topology event published");
@@ -193,32 +204,4 @@ public class ADCMTAppTestCase extends PythonAgentIntegrationTest {
         artifactUpdatedEvent.setTenantId(TENANT_ID);
         return artifactUpdatedEvent;
     }
-
-    /**
-     * Create test topology
-     *
-     * @return
-     */
-    private Topology createTestTopology() {
-        Topology topology = new Topology();
-        Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant);
-        topology.addService(service);
-
-        Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME,
-                AUTOSCALING_POLICY_NAME, APP_ID);
-        service.addCluster(cluster);
-
-        Member member = new Member(service.getServiceName(), cluster.getClusterId(), MEMBER_ID,
-                CLUSTER_INSTANCE_ID, NETWORK_PARTITION_ID, PARTITION_ID, LoadBalancingIPType.Private,
-                System.currentTimeMillis());
-
-        member.setDefaultPrivateIP("10.0.0.1");
-        member.setDefaultPublicIP("20.0.0.1");
-        Properties properties = new Properties();
-        properties.setProperty("prop1", "value1");
-        member.setProperties(properties);
-        member.setStatus(MemberStatus.Created);
-        cluster.addMember(member);
-        return topology;
-    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/81b72de8/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java
index dba6197..6a42cce 100755
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java
@@ -196,7 +196,17 @@ public class ADCTestCase extends PythonAgentIntegrationTest {
                                 sleep(2000);
                                 // Send complete topology event
                                 log.info("Publishing complete topology event...");
-                                Topology topology = createTestTopology();
+                                Topology topology = PythonAgentIntegrationTest.createTestTopology(
+                                        SERVICE_NAME,
+                                        CLUSTER_ID,
+                                        DEPLOYMENT_POLICY_NAME,
+                                        AUTOSCALING_POLICY_NAME,
+                                        APP_ID,
+                                        MEMBER_ID,
+                                        CLUSTER_INSTANCE_ID,
+                                        NETWORK_PARTITION_ID,
+                                        PARTITION_ID,
+                                        ServiceType.SingleTenant);
                                 CompleteTopologyEvent completeTopologyEvent = new CompleteTopologyEvent(topology);
                                 publishEvent(completeTopologyEvent);
                                 log.info("Complete topology event published");
@@ -255,31 +265,4 @@ public class ADCTestCase extends PythonAgentIntegrationTest {
         artifactUpdatedEvent.setTenantId(TENANT_ID);
         return artifactUpdatedEvent;
     }
-
-    /**
-     * Create test topology
-     *
-     * @return Topology object with mock information
-     */
-    private Topology createTestTopology() {
-        Topology topology = new Topology();
-        Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant);
-        topology.addService(service);
-
-        Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME,
-                AUTOSCALING_POLICY_NAME, APP_ID);
-        service.addCluster(cluster);
-
-        Member member = new Member(service.getServiceName(), cluster.getClusterId(), MEMBER_ID, CLUSTER_INSTANCE_ID,
-                NETWORK_PARTITION_ID, PARTITION_ID, LoadBalancingIPType.Private, System.currentTimeMillis());
-
-        member.setDefaultPrivateIP("10.0.0.1");
-        member.setDefaultPublicIP("20.0.0.1");
-        Properties properties = new Properties();
-        properties.setProperty("prop1", "value1");
-        member.setProperties(properties);
-        member.setStatus(MemberStatus.Created);
-        cluster.addMember(member);
-        return topology;
-    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/81b72de8/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java
index 45834e5..50ed350 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java
@@ -21,7 +21,6 @@ package org.apache.stratos.python.cartridge.agent.integration.tests;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.domain.LoadBalancingIPType;
 import org.apache.stratos.messaging.domain.topology.*;
 import org.apache.stratos.messaging.event.instance.notifier.ArtifactUpdatedEvent;
 import org.apache.stratos.messaging.event.topology.CompleteTopologyEvent;
@@ -33,7 +32,6 @@ import org.testng.annotations.Test;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Properties;
 
 /**
  * Test validation for application path input on the PCA
@@ -92,7 +90,7 @@ public class ADCValidationTestCase extends PythonAgentIntegrationTest {
                     sleep(1000);
                 }
                 List<String> outputLines = new ArrayList<>();
-                while (!outputStream.isClosed()) {
+                while (!outputStream.isClosed() && !logDetected) {
                     List<String> newLines = getNewLines(outputLines, outputStream.toString());
                     if (newLines.size() > 0) {
                         for (String line : newLines) {
@@ -100,7 +98,18 @@ public class ADCValidationTestCase extends PythonAgentIntegrationTest {
                                 sleep(2000);
                                 // Send complete topology event
                                 log.info("Publishing complete topology event...");
-                                Topology topology = createTestTopology();
+                                Topology topology = PythonAgentIntegrationTest.createTestTopology(
+                                        SERVICE_NAME,
+                                        CLUSTER_ID,
+                                        DEPLOYMENT_POLICY_NAME,
+                                        AUTOSCALING_POLICY_NAME,
+                                        APP_ID,
+                                        MEMBER_ID,
+                                        CLUSTER_INSTANCE_ID,
+                                        NETWORK_PARTITION_ID,
+                                        PARTITION_ID,
+                                        ServiceType.SingleTenant);
+
                                 CompleteTopologyEvent completeTopologyEvent = new CompleteTopologyEvent(topology);
                                 publishEvent(completeTopologyEvent);
                                 log.info("Complete topology event published");
@@ -151,31 +160,4 @@ public class ADCValidationTestCase extends PythonAgentIntegrationTest {
         artifactUpdatedEvent.setTenantId(TENANT_ID);
         return artifactUpdatedEvent;
     }
-
-    /**
-     * Create test topology
-     *
-     * @return Topology object with mock information
-     */
-    private Topology createTestTopology() {
-        Topology topology = new Topology();
-        Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant);
-        topology.addService(service);
-
-        Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME,
-                AUTOSCALING_POLICY_NAME, APP_ID);
-        service.addCluster(cluster);
-
-        Member member = new Member(service.getServiceName(), cluster.getClusterId(), MEMBER_ID, CLUSTER_INSTANCE_ID,
-                NETWORK_PARTITION_ID, PARTITION_ID, LoadBalancingIPType.Private, System.currentTimeMillis());
-
-        member.setDefaultPrivateIP("10.0.0.1");
-        member.setDefaultPublicIP("20.0.0.1");
-        Properties properties = new Properties();
-        properties.setProperty("prop1", "value1");
-        member.setProperties(properties);
-        member.setStatus(MemberStatus.Created);
-        cluster.addMember(member);
-        return topology;
-    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/81b72de8/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentStartupTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentStartupTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentStartupTestCase.java
index db21359..4f529d7 100755
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentStartupTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentStartupTestCase.java
@@ -61,7 +61,17 @@ public class AgentStartupTestCase extends PythonAgentIntegrationTest {
     private boolean topologyContextTestCompleted = false;
     private boolean completeTenantInitialized = false;
     private boolean thriftTestCompleted = false;
-    private Topology topology = createTestTopology();
+    private Topology topology = PythonAgentIntegrationTest.createTestTopology(
+            SERVICE_NAME,
+            CLUSTER_ID,
+            DEPLOYMENT_POLICY_NAME,
+            AUTOSCALING_POLICY_NAME,
+            APP_ID,
+            MEMBER_ID,
+            CLUSTER_INSTANCE_ID,
+            NETWORK_PARTITION_ID,
+            PARTITION_ID,
+            ServiceType.SingleTenant);
 
     public AgentStartupTestCase() throws IOException {
     }
@@ -217,31 +227,4 @@ public class AgentStartupTestCase extends PythonAgentIntegrationTest {
         tenantList.add(new Tenant(3, "test.three.domain"));
         return tenantList;
     }
-
-    /**
-     * Create test topology
-     *
-     * @return Topology object with mock information
-     */
-    private Topology createTestTopology() {
-        Topology topology = new Topology();
-        Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant);
-        topology.addService(service);
-
-        Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME,
-                AUTOSCALING_POLICY_NAME, APP_ID);
-        service.addCluster(cluster);
-
-        Member member = new Member(service.getServiceName(), cluster.getClusterId(), MEMBER_ID, CLUSTER_INSTANCE_ID,
-                NETWORK_PARTITION_ID, PARTITION_ID, LoadBalancingIPType.Private, System.currentTimeMillis());
-
-        member.setDefaultPrivateIP("10.0.0.1");
-        member.setDefaultPublicIP("20.0.0.1");
-        Properties properties = new Properties();
-        properties.setProperty("prop1", "value1");
-        member.setProperties(properties);
-        member.setStatus(MemberStatus.Created);
-        cluster.addMember(member);
-        return topology;
-    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/81b72de8/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/CEPHAModeTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/CEPHAModeTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/CEPHAModeTestCase.java
index ce13d3f..58b6deb 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/CEPHAModeTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/CEPHAModeTestCase.java
@@ -21,12 +21,9 @@ package org.apache.stratos.python.cartridge.agent.integration.tests;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.domain.LoadBalancingIPType;
 import org.apache.stratos.messaging.domain.topology.*;
-import org.apache.stratos.messaging.event.Event;
 import org.apache.stratos.messaging.event.topology.CompleteTopologyEvent;
 import org.apache.stratos.messaging.event.topology.MemberInitializedEvent;
-import org.apache.stratos.messaging.listener.instance.status.InstanceActivatedEventListener;
 import org.apache.stratos.python.cartridge.agent.integration.common.ThriftTestServer;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
@@ -41,7 +38,6 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Properties;
 
 public class CEPHAModeTestCase extends PythonAgentIntegrationTest {
 
@@ -59,7 +55,18 @@ public class CEPHAModeTestCase extends PythonAgentIntegrationTest {
     private static final String TENANT_ID = "-1234";
     private static final String SERVICE_NAME = "tomcat";
     private boolean startupTestCompleted = false;
-    private Topology topology = createTestTopology();
+    private Topology topology = PythonAgentIntegrationTest.createTestTopology(
+            SERVICE_NAME,
+            CLUSTER_ID,
+            DEPLOYMENT_POLICY_NAME,
+            AUTOSCALING_POLICY_NAME,
+            APP_ID,
+            MEMBER_ID,
+            CLUSTER_INSTANCE_ID,
+            NETWORK_PARTITION_ID,
+            PARTITION_ID,
+            ServiceType.SingleTenant);
+
     private static final int ADC_TIMEOUT = 300000;
     private ThriftTestServer secondThriftTestServer;
     private boolean thriftTestCompletedinServerTwo = false;
@@ -180,19 +187,6 @@ public class CEPHAModeTestCase extends PythonAgentIntegrationTest {
 
         startupTestThread.start();
 
-        instanceStatusEventReceiver.addEventListener(new InstanceActivatedEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                log.info("Publishing complete topology with a new member...");
-                Member newMember = new Member(SERVICE_NAME, CLUSTER_ID, "new-member", CLUSTER_INSTANCE_ID,
-                        NETWORK_PARTITION_ID, PARTITION_ID, LoadBalancingIPType.Private, System.currentTimeMillis());
-                topology.getService(SERVICE_NAME).getCluster(CLUSTER_ID).addMember(newMember);
-                CompleteTopologyEvent completeTopologyEvent = new CompleteTopologyEvent(topology);
-                publishEvent(completeTopologyEvent);
-                log.info("Complete topology event published with new member");
-            }
-        });
-
         while (!instanceStarted || !instanceActivated || !startupTestCompleted ||
                 !thriftTestCompletedinServerOne || !thriftTestCompletedinServerTwo) {
             // wait until the instance activated event is received.
@@ -274,32 +268,4 @@ public class CEPHAModeTestCase extends PythonAgentIntegrationTest {
             }
         });
     }
-
-    /**
-     * Create test topology
-     *
-     * @return Topology object with mock information
-     */
-    private Topology createTestTopology() {
-        Topology topology = new Topology();
-        Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant);
-        topology.addService(service);
-
-        Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME,
-                AUTOSCALING_POLICY_NAME, APP_ID);
-        service.addCluster(cluster);
-
-        Member member = new Member(service.getServiceName(), cluster.getClusterId(), MEMBER_ID,
-                CLUSTER_INSTANCE_ID, NETWORK_PARTITION_ID, PARTITION_ID, LoadBalancingIPType.Private,
-                System.currentTimeMillis());
-
-        member.setDefaultPrivateIP("10.0.0.1");
-        member.setDefaultPublicIP("20.0.0.1");
-        Properties properties = new Properties();
-        properties.setProperty("prop1", "value1");
-        member.setProperties(properties);
-        member.setStatus(MemberStatus.Created);
-        cluster.addMember(member);
-        return topology;
-    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/81b72de8/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/MessageBrokerHATestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/MessageBrokerHATestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/MessageBrokerHATestCase.java
index 8c72f2d..1fdd8cd 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/MessageBrokerHATestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/MessageBrokerHATestCase.java
@@ -212,7 +212,18 @@ public class MessageBrokerHATestCase extends PythonAgentIntegrationTest {
                                 sleep(2000);
                                 // Send complete topology event
                                 log.info("Publishing complete topology event...");
-                                Topology topology = createTestTopology();
+                                Topology topology = PythonAgentIntegrationTest.createTestTopology(
+                                        SERVICE_NAME,
+                                        CLUSTER_ID,
+                                        DEPLOYMENT_POLICY_NAME,
+                                        AUTOSCALING_POLICY_NAME,
+                                        APP_ID,
+                                        MEMBER_ID,
+                                        CLUSTER_INSTANCE_ID,
+                                        NETWORK_PARTITION_ID,
+                                        PARTITION_ID,
+                                        ServiceType.SingleTenant);
+
                                 CompleteTopologyEvent completeTopologyEvent = new CompleteTopologyEvent(topology);
                                 publishEvent(completeTopologyEvent);
                                 log.info("Complete topology event published");
@@ -245,30 +256,5 @@ public class MessageBrokerHATestCase extends PythonAgentIntegrationTest {
         log.info("PCA activation assertion passed.");
     }
 
-    /**
-     * Create test topology
-     *
-     * @return
-     */
-    private Topology createTestTopology() {
-        Topology topology = new Topology();
-        Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant);
-        topology.addService(service);
-
-        Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME,
-                AUTOSCALING_POLICY_NAME, APP_ID);
-        service.addCluster(cluster);
 
-        Member member = new Member(service.getServiceName(), cluster.getClusterId(), MEMBER_ID, CLUSTER_INSTANCE_ID,
-                NETWORK_PARTITION_ID, PARTITION_ID, LoadBalancingIPType.Private, System.currentTimeMillis());
-
-        member.setDefaultPrivateIP("10.0.0.1");
-        member.setDefaultPublicIP("20.0.0.1");
-        Properties properties = new Properties();
-        properties.setProperty("prop1", "value1");
-        member.setProperties(properties);
-        member.setStatus(MemberStatus.Created);
-        cluster.addMember(member);
-        return topology;
-    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/81b72de8/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
index 7f436f6..649430f 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
@@ -28,9 +28,11 @@ import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.common.domain.LoadBalancingIPType;
 import org.apache.stratos.common.threading.StratosThreadPool;
 import org.apache.stratos.messaging.broker.publish.EventPublisher;
 import org.apache.stratos.messaging.broker.publish.EventPublisherPool;
+import org.apache.stratos.messaging.domain.topology.*;
 import org.apache.stratos.messaging.event.Event;
 import org.apache.stratos.messaging.listener.instance.status.InstanceActivatedEventListener;
 import org.apache.stratos.messaging.listener.instance.status.InstanceStartedEventListener;
@@ -549,8 +551,8 @@ public abstract class PythonAgentIntegrationTest {
         if (StringUtils.isNotBlank(output)) {
             List<String> lines = Arrays.asList(output.split(NEW_LINE));
             if (lines.size() > 0) {
-                int readStartIndex = (currentOutputLines.size() > 0) ? currentOutputLines.size() - 1 : 0;
-                for (String line : lines.subList(readStartIndex , lines.size() - 1)) {
+                int readStartIndex = (currentOutputLines.size() > 0) ? (currentOutputLines.size() - 1) : 0;
+                for (String line : lines.subList(readStartIndex , lines.size())) {
                     currentOutputLines.add(line);
                     newLines.add(line);
                 }
@@ -586,4 +588,59 @@ public abstract class PythonAgentIntegrationTest {
             return closed;
         }
     }
+
+    /**
+     * Create a test topology object
+     *
+     * @param serviceName
+     * @param clusterId
+     * @param depPolicyName
+     * @param autoscalingPolicyName
+     * @param appId
+     * @param memberId
+     * @param clusterInstanceId
+     * @param networkPartitionId
+     * @param partitionId
+     * @param serviceType
+     * @return
+     */
+    protected static Topology createTestTopology(
+            String serviceName,
+            String clusterId,
+            String depPolicyName,
+            String autoscalingPolicyName,
+            String appId,
+            String memberId,
+            String clusterInstanceId,
+            String networkPartitionId,
+            String partitionId,
+            ServiceType serviceType) {
+
+
+        Topology topology = new Topology();
+        Service service = new Service(serviceName, serviceType);
+        topology.addService(service);
+
+        Cluster cluster = new Cluster(service.getServiceName(), clusterId, depPolicyName, autoscalingPolicyName, appId);
+        service.addCluster(cluster);
+
+        Member member = new Member(
+                service.getServiceName(),
+                cluster.getClusterId(),
+                memberId,
+                clusterInstanceId,
+                networkPartitionId,
+                partitionId,
+                LoadBalancingIPType.Private,
+                System.currentTimeMillis());
+
+        member.setDefaultPrivateIP("10.0.0.1");
+        member.setDefaultPublicIP("20.0.0.1");
+        Properties properties = new Properties();
+        properties.setProperty("prop1", "value1");
+        member.setProperties(properties);
+        member.setStatus(MemberStatus.Created);
+        cluster.addMember(member);
+        return topology;
+    }
 }


[17/50] [abbrv] stratos git commit: PCA - Publish MB events using a thread and timeout after 5 seconds. Improved PCA structure and removed unnecessary threading PCA Live Test - Improved logging, improved MB HA test case

Posted by ga...@apache.org.
PCA - Publish MB events using a thread and timeout after 5 seconds. Improved PCA structure and removed unnecessary threading
PCA Live Test - Improved logging, improved MB HA test case


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

Branch: refs/heads/master
Commit: d19121809154d42998ddc0c85722600f03f7225f
Parents: e722ff3
Author: Chamila de Alwis <ch...@apache.org>
Authored: Fri Nov 27 14:36:42 2015 +0530
Committer: Chamila de Alwis <ch...@apache.org>
Committed: Mon Nov 30 19:13:55 2015 +0530

----------------------------------------------------------------------
 .../cartridge.agent/cartridge.agent/agent.py    |   62 +-
 .../modules/event/eventhandler.py               | 1181 +++++++++---------
 .../cartridge.agent/publisher.py                |   72 +-
 .../cartridge.agent/subscriber.py               |    8 +-
 .../integration/tests/ADCExtensionTestCase.java |    5 +
 .../tests/ADCMTAppTenantUserTestCase.java       |    5 +
 .../integration/tests/ADCMTAppTestCase.java     |    5 +
 .../agent/integration/tests/ADCTestCase.java    |    5 +
 .../integration/tests/AgentStartupTestCase.java |    5 +
 .../integration/tests/CEPHAModeTestCase.java    |    5 +
 .../tests/MessageBrokerHATestCase.java          |   30 +-
 .../tests/PythonAgentIntegrationTest.java       |   14 +-
 .../MessageBrokerHATestCase/agent.conf          |    2 +-
 .../src/test/resources/log4j.properties         |    2 +-
 .../src/test/resources/test-suite-all.xml       |    1 +
 .../src/test/resources/test-suite-smoke.xml     |    2 +
 16 files changed, 734 insertions(+), 670 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py
index 959568b..6b81dff 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py
@@ -16,22 +16,19 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import threading
-
 import publisher
 from logpublisher import *
 from modules.event.application.signup.events import *
 from modules.event.domain.mapping.events import *
-from modules.event.eventhandler import EventHandler
+import modules.event.eventhandler as event_handler
 from modules.event.instance.notifier.events import *
 from modules.event.tenant.events import *
 from modules.event.topology.events import *
 from subscriber import EventSubscriber
 
 
-class CartridgeAgent(threading.Thread):
+class CartridgeAgent(object):
     def __init__(self):
-        threading.Thread.__init__(self)
         Config.initialize_config()
         self.__tenant_context_initialized = False
         self.__log_publish_manager = None
@@ -47,9 +44,7 @@ class CartridgeAgent(threading.Thread):
         self.__app_topic_subscriber = EventSubscriber(constants.APPLICATION_SIGNUP, mb_urls, mb_uname, mb_pwd)
         self.__topology_event_subscriber = EventSubscriber(constants.TOPOLOGY_TOPIC, mb_urls, mb_uname, mb_pwd)
 
-        self.__event_handler = EventHandler()
-
-    def run(self):
+    def run_agent(self):
         self.__log.info("Starting Cartridge Agent...")
 
         # Start topology event receiver thread
@@ -58,7 +53,7 @@ class CartridgeAgent(threading.Thread):
         if Config.lvs_virtual_ip is None or str(Config.lvs_virtual_ip).strip() == "":
             self.__log.debug("LVS Virtual IP is not defined")
         else:
-            self.__event_handler.create_dummy_interface()
+            event_handler.create_dummy_interface()
 
         # request complete topology event from CC by publishing CompleteTopologyRequestEvent
         publisher.publish_complete_topology_request_event()
@@ -84,14 +79,14 @@ class CartridgeAgent(threading.Thread):
         publisher.publish_complete_tenant_request_event()
 
         # Execute instance started shell script
-        self.__event_handler.on_instance_started_event()
+        event_handler.on_instance_started_event()
 
         # Publish instance started event
         publisher.publish_instance_started_event()
 
         # Execute start servers extension
         try:
-            self.__event_handler.start_server_extension()
+            event_handler.start_server_extension()
         except Exception as e:
             self.__log.exception("Error processing start servers event: %s" % e)
 
@@ -100,7 +95,7 @@ class CartridgeAgent(threading.Thread):
         if repo_url is None or str(repo_url).strip() == "":
             self.__log.info("No artifact repository found")
             publisher.publish_instance_activated_event()
-            self.__event_handler.on_instance_activated_event()
+            event_handler.on_instance_activated_event()
         else:
             # instance activated event will be published in artifact updated event handler
             self.__log.info(
@@ -109,7 +104,7 @@ class CartridgeAgent(threading.Thread):
 
         persistence_mapping_payload = Config.persistence_mappings
         if persistence_mapping_payload is not None:
-            self.__event_handler.volume_mount_extension(persistence_mapping_payload)
+            event_handler.volume_mount_extension(persistence_mapping_payload)
 
         # start log publishing thread
         if DataPublisherConfiguration.get_instance().enabled:
@@ -198,14 +193,14 @@ class CartridgeAgent(threading.Thread):
 
     def on_artifact_updated(self, msg):
         event_obj = ArtifactUpdatedEvent.create_from_json(msg.payload)
-        self.__event_handler.on_artifact_updated_event(event_obj)
+        event_handler.on_artifact_updated_event(event_obj)
 
     def on_instance_cleanup_member(self, msg):
         member_in_payload = Config.member_id
         event_obj = InstanceCleanupMemberEvent.create_from_json(msg.payload)
         member_in_event = event_obj.member_id
         if member_in_payload == member_in_event:
-            self.__event_handler.on_instance_cleanup_member_event()
+            event_handler.on_instance_cleanup_member_event()
 
     def on_instance_cleanup_cluster(self, msg):
         event_obj = InstanceCleanupClusterEvent.create_from_json(msg.payload)
@@ -215,7 +210,7 @@ class CartridgeAgent(threading.Thread):
         instance_in_event = event_obj.cluster_instance_id
 
         if cluster_in_event == cluster_in_payload and instance_in_payload == instance_in_event:
-            self.__event_handler.on_instance_cleanup_cluster_event()
+            event_handler.on_instance_cleanup_cluster_event()
 
     def on_member_created(self, msg):
         self.__log.debug("Member created event received: %r" % msg.payload)
@@ -227,7 +222,7 @@ class CartridgeAgent(threading.Thread):
         if not TopologyContext.topology.initialized:
             return
 
-        self.__event_handler.on_member_initialized_event(event_obj)
+        event_handler.on_member_initialized_event(event_obj)
 
     def on_member_activated(self, msg):
         self.__log.debug("Member activated event received: %r" % msg.payload)
@@ -235,7 +230,7 @@ class CartridgeAgent(threading.Thread):
             return
 
         event_obj = MemberActivatedEvent.create_from_json(msg.payload)
-        self.__event_handler.on_member_activated_event(event_obj)
+        event_handler.on_member_activated_event(event_obj)
 
     def on_member_terminated(self, msg):
         self.__log.debug("Member terminated event received: %r" % msg.payload)
@@ -243,7 +238,7 @@ class CartridgeAgent(threading.Thread):
             return
 
         event_obj = MemberTerminatedEvent.create_from_json(msg.payload)
-        self.__event_handler.on_member_terminated_event(event_obj)
+        event_handler.on_member_terminated_event(event_obj)
 
     def on_member_suspended(self, msg):
         self.__log.debug("Member suspended event received: %r" % msg.payload)
@@ -251,7 +246,7 @@ class CartridgeAgent(threading.Thread):
             return
 
         event_obj = MemberSuspendedEvent.create_from_json(msg.payload)
-        self.__event_handler.on_member_suspended_event(event_obj)
+        event_handler.on_member_suspended_event(event_obj)
 
     def on_complete_topology(self, msg):
         event_obj = CompleteTopologyEvent.create_from_json(msg.payload)
@@ -259,7 +254,7 @@ class CartridgeAgent(threading.Thread):
         if not TopologyContext.topology.initialized:
             self.__log.info("Topology initialized from complete topology event")
             TopologyContext.topology.initialized = True
-            self.__event_handler.on_complete_topology_event(event_obj)
+            event_handler.on_complete_topology_event(event_obj)
 
         self.__log.debug("Topology context updated with [topology] %r" % event_obj.topology.json_str)
 
@@ -269,17 +264,17 @@ class CartridgeAgent(threading.Thread):
             return
 
         event_obj = MemberStartedEvent.create_from_json(msg.payload)
-        self.__event_handler.on_member_started_event(event_obj)
+        event_handler.on_member_started_event(event_obj)
 
     def on_domain_mapping_added(self, msg):
         self.__log.debug("Subscription domain added event received : %r" % msg.payload)
         event_obj = DomainMappingAddedEvent.create_from_json(msg.payload)
-        self.__event_handler.on_domain_mapping_added_event(event_obj)
+        event_handler.on_domain_mapping_added_event(event_obj)
 
     def on_domain_mapping_removed(self, msg):
         self.__log.debug("Subscription domain removed event received : %r" % msg.payload)
         event_obj = DomainMappingRemovedEvent.create_from_json(msg.payload)
-        self.__event_handler.on_domain_mapping_removed_event(event_obj)
+        event_handler.on_domain_mapping_removed_event(event_obj)
 
     def on_complete_tenant(self, msg):
         event_obj = CompleteTenantEvent.create_from_json(msg.payload)
@@ -287,19 +282,19 @@ class CartridgeAgent(threading.Thread):
         if not self.__tenant_context_initialized:
             self.__log.info("Tenant context initialized from complete tenant event")
             self.__tenant_context_initialized = True
-            self.__event_handler.on_complete_tenant_event(event_obj)
+            event_handler.on_complete_tenant_event(event_obj)
 
         self.__log.debug("Tenant context updated with [tenant list] %r" % event_obj.tenant_list_json)
 
     def on_tenant_subscribed(self, msg):
         self.__log.debug("Tenant subscribed event received: %r" % msg.payload)
         event_obj = TenantSubscribedEvent.create_from_json(msg.payload)
-        self.__event_handler.on_tenant_subscribed_event(event_obj)
+        event_handler.on_tenant_subscribed_event(event_obj)
 
     def on_application_signup_removed(self, msg):
         self.__log.debug("Application signup removed event received: %r" % msg.payload)
         event_obj = ApplicationSignUpRemovedEvent.create_from_json(msg.payload)
-        self.__event_handler.on_application_signup_removed_event(event_obj)
+        event_handler.on_application_signup_removed_event(event_obj)
 
     def wait_for_complete_topology(self):
         while not TopologyContext.topology.initialized:
@@ -308,17 +303,12 @@ class CartridgeAgent(threading.Thread):
         self.__log.info("Complete topology event received")
 
 
-def main():
-    cartridge_agent = CartridgeAgent()
+if __name__ == "__main__":
     log = LogFactory().get_log(__name__)
-
     try:
         log.info("Starting Stratos cartridge agent...")
-        cartridge_agent.start()
+        cartridge_agent = CartridgeAgent()
+        cartridge_agent.run_agent()
     except Exception as e:
         log.exception("Cartridge Agent Exception: %r" % e)
-        cartridge_agent.terminate()
-
-
-if __name__ == "__main__":
-    main()
+        # cartridge_agent.terminate()

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
index 6e2aa4f..f8b0c2b 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py
@@ -21,8 +21,6 @@ from threading import Thread
 import publisher
 from entity import *
 
-import constants
-from config import Config
 from ..artifactmgt.git.agentgithandler import *
 from ..artifactmgt.repository import Repository
 from ..util import cartridgeagentutils
@@ -31,485 +29,492 @@ from ..util.log import LogFactory
 SUPER_TENANT_ID = "-1234"
 SUPER_TENANT_REPO_PATH = "/repository/deployment/server/"
 TENANT_REPO_PATH = "/repository/tenants/"
+log = LogFactory().get_log(__name__)
+
+"""
+Event execution related logic
+"""
+
+
+def on_instance_started_event():
+    log.debug("Processing instance started event...")
+    # TODO: copy artifacts extension
+    execute_event_extendables(constants.INSTANCE_STARTED_EVENT, {})
+
+
+def create_dummy_interface():
+    log.debug("Processing lvs dummy interface creation...")
+    lvs_vip = Config.lvs_virtual_ip.split("|")
+    log.debug("LVS dummy interface creation values %s %s " % (lvs_vip[0], lvs_vip[1]))
+    execute_event_extendables(
+        constants.CREATE_LVS_DUMMY_INTERFACE,
+        {"EVENT": constants.CREATE_LVS_DUMMY_INTERFACE,
+         "LVS_DUMMY_VIRTUAL_IP": lvs_vip[0],
+         "LVS_SUBNET_MASK": lvs_vip[1]}
+    )
+
+
+def on_instance_activated_event():
+    log.debug("Processing instance activated event...")
+    execute_event_extendables(constants.INSTANCE_ACTIVATED_EVENT, {})
+
+
+def on_artifact_updated_event(artifacts_updated_event):
+    log.debug(
+        "Processing artifact updated event for [tenant] %s [cluster] %s [status] %s"
+        % (str(artifacts_updated_event.tenant_id), artifacts_updated_event.cluster_id, artifacts_updated_event.status))
+
+    cluster_id_event = str(artifacts_updated_event.cluster_id).strip()
+    cluster_id_payload = Config.cluster_id
+    repo_url = str(artifacts_updated_event.repo_url).strip()
+
+    if repo_url == "":
+        log.error("Repository URL is empty. Failed to process artifact updated event.")
+        return
+
+    if cluster_id_payload is None or cluster_id_payload == "":
+        log.error("Cluster ID in payload is empty. Failed to process artifact updated event.")
+        return
+
+    if cluster_id_payload != cluster_id_event:
+        log.debug("Cluster ID in artifact updated event does not match. Skipping event handler.")
+        return
+
+    repo_password = None
+    if artifacts_updated_event.repo_password is not None:
+        secret = Config.cartridge_key
+        repo_password = cartridgeagentutils.decrypt_password(artifacts_updated_event.repo_password, secret)
+
+    if Config.app_path is None:
+        log.error("Repository path is empty. Failed to process artifact updated event.")
+        return
+
+    repo_username = artifacts_updated_event.repo_username
+    tenant_id = artifacts_updated_event.tenant_id
+    is_multitenant = Config.is_multiTenant
+    commit_enabled = artifacts_updated_event.commit_enabled
+
+    # create repo object
+    local_repo_path = get_repo_path_for_tenant(str(tenant_id), Config.app_path, is_multitenant)
+    repo_info = Repository(repo_url, repo_username, repo_password, local_repo_path, tenant_id, commit_enabled)
+    log.info("Executing checkout job on artifact updated event...")
+
+    try:
+        Config.artifact_checkout_plugin.plugin_object.checkout(repo_info)
+    except Exception as e:
+        log.exception(
+            "Checkout job on artifact updated event failed for tenant: %s %s" % (repo_info.tenant_id, e))
+
+    # execute artifact updated extension
+    plugin_values = {"ARTIFACT_UPDATED_CLUSTER_ID": artifacts_updated_event.cluster_id,
+                     "ARTIFACT_UPDATED_TENANT_ID": artifacts_updated_event.tenant_id,
+                     "ARTIFACT_UPDATED_REPO_URL": artifacts_updated_event.repo_url,
+                     "ARTIFACT_UPDATED_REPO_PASSWORD": artifacts_updated_event.repo_password,
+                     "ARTIFACT_UPDATED_REPO_USERNAME": artifacts_updated_event.repo_username,
+                     "ARTIFACT_UPDATED_STATUS": artifacts_updated_event.status}
+
+    try:
+        execute_event_extendables(constants.ARTIFACT_UPDATED_EVENT, plugin_values)
+    except Exception as e:
+        log.exception("Could not execute plugins for artifact updated event: %s" % e)
+
+    if not Config.activated:
+        # publish instance activated event if not yet activated
+        publisher.publish_instance_activated_event()
+        on_instance_activated_event()
+
+    update_artifacts = Config.read_property(constants.ENABLE_ARTIFACT_UPDATE, True)
+    auto_commit = Config.is_commits_enabled
+    auto_checkout = Config.is_checkout_enabled
+    log.info("ADC configuration: [update_artifacts] %s, [auto-commit] %s, [auto-checkout] %s"
+             % (update_artifacts, auto_commit, auto_checkout))
+
+    if update_artifacts:
+        try:
+            update_interval = int(Config.artifact_update_interval)
+        except ValueError:
+            log.exception("Invalid artifact sync interval specified: %s" % ValueError)
+            update_interval = 10
+
+        log.info("Artifact updating task enabled, update interval: %s seconds" % update_interval)
+
+        log.info("Auto Commit is turned %s " % ("on" if auto_commit else "off"))
+        log.info("Auto Checkout is turned %s " % ("on" if auto_checkout else "off"))
+
+        AgentGitHandler.schedule_artifact_update_task(
+            repo_info,
+            auto_checkout,
+            auto_commit,
+            update_interval)
+
+
+def on_instance_cleanup_cluster_event():
+    log.debug("Processing instance cleanup cluster event...")
+    cleanup(constants.INSTANCE_CLEANUP_CLUSTER_EVENT)
+
+
+def on_instance_cleanup_member_event():
+    log.debug("Processing instance cleanup member event...")
+    cleanup(constants.INSTANCE_CLEANUP_MEMBER_EVENT)
+
+
+def on_member_activated_event(member_activated_event):
+    log.debug(
+        "Processing Member activated event: [service] %r [cluster] %r [member] %r"
+        % (member_activated_event.service_name,
+           member_activated_event.cluster_id,
+           member_activated_event.member_id))
+
+    member_initialized = is_member_initialized_in_topology(
+        member_activated_event.service_name,
+        member_activated_event.cluster_id,
+        member_activated_event.member_id)
+
+    if not member_initialized:
+        log.error("Member has not initialized, failed to execute member activated event")
+        return
+
+    execute_event_extendables(constants.MEMBER_ACTIVATED_EVENT, {})
+
+
+def on_complete_topology_event(complete_topology_event):
+    log.debug("Processing Complete topology event...")
+
+    service_name_in_payload = Config.service_name
+    cluster_id_in_payload = Config.cluster_id
+    member_id_in_payload = Config.member_id
+
+    if not Config.initialized:
+        member_initialized = is_member_initialized_in_topology(
+            service_name_in_payload,
+            cluster_id_in_payload,
+            member_id_in_payload)
 
+        if member_initialized:
+            # Set cartridge agent as initialized since member is available and it is in initialized state
+            Config.initialized = True
+            log.info(
+                "Member initialized [member id] %s, [cluster-id] %s, [service] %s"
+                % (member_id_in_payload, cluster_id_in_payload, service_name_in_payload))
 
-class EventHandler:
+    topology = complete_topology_event.get_topology()
+    service = topology.get_service(service_name_in_payload)
+    if service is None:
+        raise Exception("Service not found in topology [service] %s" % service_name_in_payload)
+
+    cluster = service.get_cluster(cluster_id_in_payload)
+    if cluster is None:
+        raise Exception("Cluster id not found in topology [cluster] %s" % cluster_id_in_payload)
+
+    plugin_values = {"TOPOLOGY_JSON": json.dumps(topology.json_str),
+                     "MEMBER_LIST_JSON": json.dumps(cluster.member_list_json)}
+
+    execute_event_extendables(constants.COMPLETE_TOPOLOGY_EVENT, plugin_values)
+
+
+def on_member_initialized_event(member_initialized_event):
     """
-    Event execution related logic
+     Member initialized event is sent by cloud controller once volume attachment and
+     ip address allocation is completed successfully
+    :param member_initialized_event:
+    :return:
     """
+    log.debug("Processing Member initialized event...")
+    service_name_in_payload = Config.service_name
+    cluster_id_in_payload = Config.cluster_id
+    member_id_in_payload = Config.member_id
+
+    if not Config.initialized and member_id_in_payload == member_initialized_event.member_id:
+        member_exists = member_exists_in_topology(
+            service_name_in_payload,
+            cluster_id_in_payload,
+            member_id_in_payload)
+
+        log.debug("Member exists: %s" % member_exists)
+
+        if member_exists:
+            Config.initialized = True
+            mark_member_as_initialized(service_name_in_payload, cluster_id_in_payload, member_id_in_payload)
+            log.info("Instance marked as initialized on member initialized event")
+        else:
+            raise Exception("Member [member-id] %s not found in topology while processing member initialized "
+                            "event. [Topology] %s" % (member_id_in_payload, TopologyContext.get_topology()))
 
-    def __init__(self):
-        self.__log = LogFactory().get_log(__name__)
+    execute_event_extendables(constants.MEMBER_INITIALIZED_EVENT, {})
 
-    def on_instance_started_event(self):
-        self.__log.debug("Processing instance started event...")
-        # TODO: copy artifacts extension
-        self.execute_event_extendables(constants.INSTANCE_STARTED_EVENT, {})
-
-    def create_dummy_interface(self):
-        self.__log.debug("Processing lvs dummy interface creation...")
-        lvs_vip = Config.lvs_virtual_ip.split("|")
-        self.__log.debug("LVS dummy interface creation values %s %s " % (lvs_vip[0], lvs_vip[1]))
-        self.execute_event_extendables(constants.CREATE_LVS_DUMMY_INTERFACE,
-                                       {"EVENT": constants.CREATE_LVS_DUMMY_INTERFACE,
-                                        "LVS_DUMMY_VIRTUAL_IP": lvs_vip[0],
-                                        "LVS_SUBNET_MASK": lvs_vip[1]})
-
-    def on_instance_activated_event(self):
-        self.__log.debug("Processing instance activated event...")
-        self.execute_event_extendables(constants.INSTANCE_ACTIVATED_EVENT, {})
-
-    def on_artifact_updated_event(self, artifacts_updated_event):
-        self.__log.debug("Processing artifact updated event for [tenant] %s [cluster] %s [status] %s" %
-                         (str(artifacts_updated_event.tenant_id),
-                          artifacts_updated_event.cluster_id,
-                          artifacts_updated_event.status))
-
-        cluster_id_event = str(artifacts_updated_event.cluster_id).strip()
-        cluster_id_payload = Config.cluster_id
-        repo_url = str(artifacts_updated_event.repo_url).strip()
-
-        if repo_url == "":
-            self.__log.error("Repository URL is empty. Failed to process artifact updated event.")
-            return
-
-        if cluster_id_payload is None or cluster_id_payload == "":
-            self.__log.error("Cluster ID in payload is empty. Failed to process artifact updated event.")
-            return
-
-        if cluster_id_payload != cluster_id_event:
-            self.__log.debug("Cluster ID in artifact updated event does not match. Skipping event handler.")
-            return
-
-        repo_password = None
-        if artifacts_updated_event.repo_password is not None:
-            secret = Config.cartridge_key
-            repo_password = cartridgeagentutils.decrypt_password(artifacts_updated_event.repo_password, secret)
-
-        if Config.app_path is None:
-            self.__log.error("Repository path is empty. Failed to process artifact updated event.")
-            return
-
-        if not EventHandler.validate_repo_path(Config.app_path):
-            self.__log.error(
-                "Repository path cannot be accessed, or is invalid. Failed to process artifact updated event.")
-            return
-
-        repo_username = artifacts_updated_event.repo_username
-        tenant_id = artifacts_updated_event.tenant_id
-        is_multitenant = Config.is_multiTenant
-        commit_enabled = artifacts_updated_event.commit_enabled
-
-        # create repo object
-        local_repo_path = self.get_repo_path_for_tenant(str(tenant_id), Config.app_path, is_multitenant)
-        repo_info = Repository(repo_url, repo_username, repo_password, local_repo_path, tenant_id, commit_enabled)
-        self.__log.info("Executing checkout job on artifact updated event...")
 
-        try:
-            Config.artifact_checkout_plugin.plugin_object.checkout(repo_info)
-        except Exception as e:
-            self.__log.exception(
-                "Checkout job on artifact updated event failed for tenant: %s %s" % (repo_info.tenant_id, e))
+def on_complete_tenant_event(complete_tenant_event):
+    log.debug("Processing Complete tenant event...")
 
-        # execute artifact updated extension
-        plugin_values = {"ARTIFACT_UPDATED_CLUSTER_ID": artifacts_updated_event.cluster_id,
-                         "ARTIFACT_UPDATED_TENANT_ID": artifacts_updated_event.tenant_id,
-                         "ARTIFACT_UPDATED_REPO_URL": artifacts_updated_event.repo_url,
-                         "ARTIFACT_UPDATED_REPO_PASSWORD": artifacts_updated_event.repo_password,
-                         "ARTIFACT_UPDATED_REPO_USERNAME": artifacts_updated_event.repo_username,
-                         "ARTIFACT_UPDATED_STATUS": artifacts_updated_event.status}
+    tenant_list_json = complete_tenant_event.tenant_list_json
+    log.debug("Complete tenants:" + json.dumps(tenant_list_json))
 
-        try:
-            self.execute_event_extendables(constants.ARTIFACT_UPDATED_EVENT, plugin_values)
-        except Exception as e:
-            self.__log.exception("Could not execute plugins for artifact updated event: %s" % e)
-
-        if not Config.activated:
-            # publish instance activated event if not yet activated
-            publisher.publish_instance_activated_event()
-            self.on_instance_activated_event()
-
-        update_artifacts = Config.read_property(constants.ENABLE_ARTIFACT_UPDATE, True)
-        auto_commit = Config.is_commits_enabled
-        auto_checkout = Config.is_checkout_enabled
-        self.__log.info("ADC configuration: [update_artifacts] %s, [auto-commit] %s, [auto-checkout] %s",
-                        update_artifacts, auto_commit, auto_checkout)
-        if update_artifacts:
-            try:
-                update_interval = int(Config.artifact_update_interval)
-            except ValueError:
-                self.__log.exception("Invalid artifact sync interval specified: %s" % ValueError)
-                update_interval = 10
-
-            self.__log.info("Artifact updating task enabled, update interval: %s seconds" % update_interval)
-
-            self.__log.info("Auto Commit is turned %s " % ("on" if auto_commit else "off"))
-            self.__log.info("Auto Checkout is turned %s " % ("on" if auto_checkout else "off"))
-
-            AgentGitHandler.schedule_artifact_update_task(
-                repo_info,
-                auto_checkout,
-                auto_commit,
-                update_interval)
-
-    def on_instance_cleanup_cluster_event(self):
-        self.__log.debug("Processing instance cleanup cluster event...")
-        self.cleanup(constants.INSTANCE_CLEANUP_CLUSTER_EVENT)
-
-    def on_instance_cleanup_member_event(self):
-        self.__log.debug("Processing instance cleanup member event...")
-        self.cleanup(constants.INSTANCE_CLEANUP_MEMBER_EVENT)
-
-    def on_member_activated_event(self, member_activated_event):
-        self.__log.debug("Processing Member activated event: [service] %r [cluster] %r [member] %r"
-                         % (member_activated_event.service_name,
-                            member_activated_event.cluster_id,
-                            member_activated_event.member_id))
-
-        member_initialized = self.is_member_initialized_in_topology(
-            member_activated_event.service_name,
-            member_activated_event.cluster_id,
-            member_activated_event.member_id)
-
-        if not member_initialized:
-            self.__log.error("Member has not initialized, failed to execute member activated event")
-            return
-
-        self.execute_event_extendables(constants.MEMBER_ACTIVATED_EVENT, {})
-
-    def on_complete_topology_event(self, complete_topology_event):
-        self.__log.debug("Processing Complete topology event...")
-
-        service_name_in_payload = Config.service_name
-        cluster_id_in_payload = Config.cluster_id
-        member_id_in_payload = Config.member_id
-
-        if not Config.initialized:
-            member_initialized = self.is_member_initialized_in_topology(
-                service_name_in_payload,
-                cluster_id_in_payload,
-                member_id_in_payload)
-
-            if member_initialized:
-                # Set cartridge agent as initialized since member is available and it is in initialized state
-                Config.initialized = True
-                self.__log.info("Member initialized [member id] %s, [cluster-id] %s, [service] %s" %
-                                (member_id_in_payload, cluster_id_in_payload, service_name_in_payload))
-
-        topology = complete_topology_event.get_topology()
-        service = topology.get_service(service_name_in_payload)
-        if service is None:
-            raise Exception("Service not found in topology [service] %s" % service_name_in_payload)
+    plugin_values = {"TENANT_LIST_JSON": json.dumps(tenant_list_json)}
 
-        cluster = service.get_cluster(cluster_id_in_payload)
-        if cluster is None:
-            raise Exception("Cluster id not found in topology [cluster] %s" % cluster_id_in_payload)
-
-        plugin_values = {"TOPOLOGY_JSON": json.dumps(topology.json_str),
-                         "MEMBER_LIST_JSON": json.dumps(cluster.member_list_json)}
-
-        self.execute_event_extendables(constants.COMPLETE_TOPOLOGY_EVENT, plugin_values)
-
-    def on_member_initialized_event(self, member_initialized_event):
-        """
-         Member initialized event is sent by cloud controller once volume attachment and
-         ip address allocation is completed successfully
-        :return:
-        """
-        self.__log.debug("Processing Member initialized event...")
-        service_name_in_payload = Config.service_name
-        cluster_id_in_payload = Config.cluster_id
-        member_id_in_payload = Config.member_id
-
-        if not Config.initialized and member_id_in_payload == member_initialized_event.member_id:
-            member_exists = self.member_exists_in_topology(service_name_in_payload, cluster_id_in_payload,
-                                                           member_id_in_payload)
-            self.__log.debug("Member exists: %s" % member_exists)
-            if member_exists:
-                Config.initialized = True
-                self.mark_member_as_initialized(service_name_in_payload, cluster_id_in_payload, member_id_in_payload)
-                self.__log.info("Instance marked as initialized on member initialized event")
-            else:
-                raise Exception("Member [member-id] %s not found in topology while processing member initialized "
-                                "event. [Topology] %s" % (member_id_in_payload, TopologyContext.get_topology()))
+    execute_event_extendables(constants.COMPLETE_TENANT_EVENT, plugin_values)
+
+
+def on_member_terminated_event(member_terminated_event):
+    log.debug(
+        "Processing Member terminated event: [service] %s [cluster] %s [member] %s"
+        % (member_terminated_event.service_name, member_terminated_event.cluster_id, member_terminated_event.member_id))
+
+    member_initialized = is_member_initialized_in_topology(
+        member_terminated_event.service_name,
+        member_terminated_event.cluster_id,
+        member_terminated_event.member_id
+    )
+
+    if not member_initialized:
+        log.error("Member has not initialized, failed to execute member terminated event")
+        return
+
+    execute_event_extendables(constants.MEMBER_TERMINATED_EVENT, {})
+
+
+def on_member_suspended_event(member_suspended_event):
+    log.debug(
+        "Processing Member suspended event: [service] %s [cluster] %s [member] %s"
+        % (member_suspended_event.service_name, member_suspended_event.cluster_id, member_suspended_event.member_id))
+
+    member_initialized = is_member_initialized_in_topology(
+        member_suspended_event.service_name,
+        member_suspended_event.cluster_id,
+        member_suspended_event.member_id
+    )
+
+    if not member_initialized:
+        log.error("Member has not initialized, failed to execute member suspended event")
+        return
+
+    execute_event_extendables(constants.MEMBER_SUSPENDED_EVENT, {})
+
+
+def on_member_started_event(member_started_event):
+    log.debug(
+        "Processing Member started event: [service] %s [cluster] %s [member] %s"
+        % (member_started_event.service_name, member_started_event.cluster_id, member_started_event.member_id))
+
+    member_initialized = is_member_initialized_in_topology(
+        member_started_event.service_name,
+        member_started_event.cluster_id,
+        member_started_event.member_id
+    )
+
+    if not member_initialized:
+        log.error("Member has not initialized, failed to execute member started event")
+        return
+
+    execute_event_extendables(constants.MEMBER_STARTED_EVENT, {})
+
+
+def start_server_extension():
+    log.debug("Processing start server extension...")
+    service_name_in_payload = Config.service_name
+    cluster_id_in_payload = Config.cluster_id
+    member_id_in_payload = Config.member_id
+    member_initialized = is_member_initialized_in_topology(
+        service_name_in_payload, cluster_id_in_payload, member_id_in_payload)
+
+    if not member_initialized:
+        log.error("Member has not initialized, failed to execute start server event")
+        return
+
+    execute_event_extendables("StartServers", {})
+
+
+def volume_mount_extension(persistence_mappings_payload):
+    log.debug("Processing volume mount extension...")
+    execute_event_extendables("VolumeMount", persistence_mappings_payload)
+
+
+def on_domain_mapping_added_event(domain_mapping_added_event):
+    tenant_domain = find_tenant_domain(domain_mapping_added_event.tenant_id)
+    log.debug(
+        "Processing Domain mapping added event: [tenant-id] " + str(domain_mapping_added_event.tenant_id) +
+        " [tenant-domain] " + tenant_domain + " [domain-name] " + domain_mapping_added_event.domain_name +
+        " [application-context] " + domain_mapping_added_event.application_context
+    )
+
+    plugin_values = {"SUBSCRIPTION_APPLICATION_ID": domain_mapping_added_event.application_id,
+                     "SUBSCRIPTION_SERVICE_NAME": domain_mapping_added_event.service_name,
+                     "SUBSCRIPTION_DOMAIN_NAME": domain_mapping_added_event.domain_name,
+                     "SUBSCRIPTION_CLUSTER_ID": domain_mapping_added_event.cluster_id,
+                     "SUBSCRIPTION_TENANT_ID": int(domain_mapping_added_event.tenant_id),
+                     "SUBSCRIPTION_TENANT_DOMAIN": tenant_domain,
+                     "SUBSCRIPTION_CONTEXT_PATH":
+                         domain_mapping_added_event.context_path}
+
+    execute_event_extendables(constants.DOMAIN_MAPPING_ADDED_EVENT, plugin_values)
+
+
+def on_domain_mapping_removed_event(domain_mapping_removed_event):
+    tenant_domain = find_tenant_domain(domain_mapping_removed_event.tenant_id)
+    log.info(
+        "Domain mapping removed event received: [tenant-id] " + str(domain_mapping_removed_event.tenant_id) +
+        " [tenant-domain] " + tenant_domain + " [domain-name] " + domain_mapping_removed_event.domain_name
+    )
+
+    plugin_values = {"SUBSCRIPTION_APPLICATION_ID": domain_mapping_removed_event.application_id,
+                     "SUBSCRIPTION_SERVICE_NAME": domain_mapping_removed_event.service_name,
+                     "SUBSCRIPTION_DOMAIN_NAME": domain_mapping_removed_event.domain_name,
+                     "SUBSCRIPTION_CLUSTER_ID": domain_mapping_removed_event.cluster_id,
+                     "SUBSCRIPTION_TENANT_ID": int(domain_mapping_removed_event.tenant_id),
+                     "SUBSCRIPTION_TENANT_DOMAIN": tenant_domain}
+
+    execute_event_extendables(constants.DOMAIN_MAPPING_REMOVED_EVENT, plugin_values)
+
+
+def on_copy_artifacts_extension(src, dest):
+    log.debug("Processing Copy artifacts extension...")
+    plugin_values = {"SOURCE": src, "DEST": dest}
+    execute_event_extendables("CopyArtifacts", plugin_values)
 
-        self.execute_event_extendables(constants.MEMBER_INITIALIZED_EVENT, {})
-
-    def on_complete_tenant_event(self, complete_tenant_event):
-        self.__log.debug("Processing Complete tenant event...")
-
-        tenant_list_json = complete_tenant_event.tenant_list_json
-        self.__log.debug("Complete tenants:" + json.dumps(tenant_list_json))
-
-        plugin_values = {"TENANT_LIST_JSON": json.dumps(tenant_list_json)}
-
-        self.execute_event_extendables(constants.COMPLETE_TENANT_EVENT, plugin_values)
-
-    def on_member_terminated_event(self, member_terminated_event):
-        self.__log.debug("Processing Member terminated event: [service] %s [cluster] %s [member] %s" %
-                         (member_terminated_event.service_name, member_terminated_event.cluster_id,
-                          member_terminated_event.member_id))
-
-        member_initialized = self.is_member_initialized_in_topology(
-            member_terminated_event.service_name,
-            member_terminated_event.cluster_id,
-            member_terminated_event.member_id
-        )
-
-        if not member_initialized:
-            self.__log.error("Member has not initialized, failed to execute member terminated event")
-            return
-
-        self.execute_event_extendables(constants.MEMBER_TERMINATED_EVENT, {})
-
-    def on_member_suspended_event(self, member_suspended_event):
-        self.__log.debug("Processing Member suspended event: [service] %s [cluster] %s [member] %s" %
-                         (member_suspended_event.service_name, member_suspended_event.cluster_id,
-                          member_suspended_event.member_id))
-
-        member_initialized = self.is_member_initialized_in_topology(
-            member_suspended_event.service_name,
-            member_suspended_event.cluster_id,
-            member_suspended_event.member_id
-        )
-
-        if not member_initialized:
-            self.__log.error("Member has not initialized, failed to execute member suspended event")
-            return
-
-        self.execute_event_extendables(constants.MEMBER_SUSPENDED_EVENT, {})
-
-    def on_member_started_event(self, member_started_event):
-        self.__log.debug("Processing Member started event: [service] %s [cluster] %s [member] %s" %
-                         (member_started_event.service_name, member_started_event.cluster_id,
-                          member_started_event.member_id))
-
-        member_initialized = self.is_member_initialized_in_topology(
-            member_started_event.service_name,
-            member_started_event.cluster_id,
-            member_started_event.member_id
-        )
-
-        if not member_initialized:
-            self.__log.error("Member has not initialized, failed to execute member started event")
-            return
-
-        self.execute_event_extendables(constants.MEMBER_STARTED_EVENT, {})
-
-    def start_server_extension(self):
-        self.__log.debug("Processing start server extension...")
-        service_name_in_payload = Config.service_name
-        cluster_id_in_payload = Config.cluster_id
-        member_id_in_payload = Config.member_id
-        member_initialized = self.is_member_initialized_in_topology(service_name_in_payload, cluster_id_in_payload,
-                                                                    member_id_in_payload)
-
-        if not member_initialized:
-            self.__log.error("Member has not initialized, failed to execute start server event")
-            return
-
-        self.execute_event_extendables("StartServers", {})
-
-    def volume_mount_extension(self, persistence_mappings_payload):
-        self.__log.debug("Processing volume mount extension...")
-        self.execute_event_extendables("VolumeMount", persistence_mappings_payload)
-
-    def on_domain_mapping_added_event(self, domain_mapping_added_event):
-        tenant_domain = EventHandler.find_tenant_domain(domain_mapping_added_event.tenant_id)
-        self.__log.debug(
-            "Processing Domain mapping added event: [tenant-id] " + str(domain_mapping_added_event.tenant_id) +
-            " [tenant-domain] " + tenant_domain + " [domain-name] " + domain_mapping_added_event.domain_name +
-            " [application-context] " + domain_mapping_added_event.application_context
-        )
-
-        plugin_values = {"SUBSCRIPTION_APPLICATION_ID": domain_mapping_added_event.application_id,
-                         "SUBSCRIPTION_SERVICE_NAME": domain_mapping_added_event.service_name,
-                         "SUBSCRIPTION_DOMAIN_NAME": domain_mapping_added_event.domain_name,
-                         "SUBSCRIPTION_CLUSTER_ID": domain_mapping_added_event.cluster_id,
-                         "SUBSCRIPTION_TENANT_ID": int(domain_mapping_added_event.tenant_id),
-                         "SUBSCRIPTION_TENANT_DOMAIN": tenant_domain,
-                         "SUBSCRIPTION_CONTEXT_PATH":
-                             domain_mapping_added_event.context_path}
-
-        self.execute_event_extendables(constants.DOMAIN_MAPPING_ADDED_EVENT, plugin_values)
-
-    def on_domain_mapping_removed_event(self, domain_mapping_removed_event):
-        tenant_domain = EventHandler.find_tenant_domain(domain_mapping_removed_event.tenant_id)
-        self.__log.info(
-            "Domain mapping removed event received: [tenant-id] " + str(domain_mapping_removed_event.tenant_id) +
-            " [tenant-domain] " + tenant_domain + " [domain-name] " + domain_mapping_removed_event.domain_name
-        )
-
-        plugin_values = {"SUBSCRIPTION_APPLICATION_ID": domain_mapping_removed_event.application_id,
-                         "SUBSCRIPTION_SERVICE_NAME": domain_mapping_removed_event.service_name,
-                         "SUBSCRIPTION_DOMAIN_NAME": domain_mapping_removed_event.domain_name,
-                         "SUBSCRIPTION_CLUSTER_ID": domain_mapping_removed_event.cluster_id,
-                         "SUBSCRIPTION_TENANT_ID": int(domain_mapping_removed_event.tenant_id),
-                         "SUBSCRIPTION_TENANT_DOMAIN": tenant_domain}
-
-        self.execute_event_extendables(constants.DOMAIN_MAPPING_REMOVED_EVENT, plugin_values)
-
-    def on_copy_artifacts_extension(self, src, dest):
-        self.__log.debug("Processing Copy artifacts extension...")
-        plugin_values = {"SOURCE": src, "DEST": dest}
-        self.execute_event_extendables("CopyArtifacts", plugin_values)
-
-    def on_tenant_subscribed_event(self, tenant_subscribed_event):
-        self.__log.debug(
-            "Processing Tenant subscribed event: [tenant] " + str(tenant_subscribed_event.tenant_id) +
-            " [service] " + tenant_subscribed_event.service_name + " [cluster] " + tenant_subscribed_event.cluster_ids
-        )
-
-        self.execute_event_extendables(constants.TENANT_SUBSCRIBED_EVENT, {})
-
-    def on_application_signup_removed_event(self, application_signup_removal_event):
-        self.__log.debug(
-            "Processing Tenant unsubscribed event: [tenant] " + str(application_signup_removal_event.tenantId) +
-            " [application ID] " + str(application_signup_removal_event.applicationId)
-        )
-
-        if Config.application_id == application_signup_removal_event.applicationId:
-            AgentGitHandler.remove_repo(application_signup_removal_event.tenantId)
-
-        self.execute_event_extendables(constants.APPLICATION_SIGNUP_REMOVAL_EVENT, {})
-
-    def cleanup(self, event):
-        self.__log.debug("Executing cleanup extension for event %s..." % event)
-        publisher.publish_maintenance_mode_event()
-        self.execute_event_extendables("clean", {})
-        publisher.publish_instance_ready_to_shutdown_event()
-
-    def execute_event_extendables(self, event, input_values):
-        """ Execute the extensions and plugins related to the event
-        :param event: The event name string
-        :param input_values: the values to be passed to the plugin
-        :return:
-        """
-        try:
-            input_values = EventHandler.add_common_input_values(input_values)
-        except Exception as e:
-            self.__log.error("Error while adding common input values for event extendables: %s" % e)
-        input_values["EVENT"] = event
-        self.__log.debug("Executing extensions for [event] %s with [input values] %s" % (event, input_values))
-        # Execute the extension
-        self.execute_extension_for_event(event, input_values)
-        # Execute the plugins
-        self.execute_plugins_for_event(event, input_values)
-
-    def execute_plugins_for_event(self, event, input_values):
-        """ For each plugin registered for the specified event, start a plugin execution thread
-       :param str event: The event name string
-       :param dict input_values: the values to be passed to the plugin
-       :return:
-       """
-        try:
-            plugins_for_event = Config.plugins.get(event)
-            if plugins_for_event is not None:
-                for plugin_info in plugins_for_event:
-                    self.__log.debug("Executing plugin %s for event %s" % (plugin_info.name, event))
-                    plugin_thread = PluginExecutor(plugin_info, input_values)
-                    plugin_thread.start()
-
-                    # block till plugin run completes.
-                    plugin_thread.join()
-            else:
-                self.__log.debug("No plugins registered for event %s" % event)
-        except Exception as e:
-            self.__log.exception("Error while executing plugin for event %s: %s" % (event, e))
-
-    def execute_extension_for_event(self, event, extension_values):
-        """ Execute the extension related to the event
-        :param event: The event name string
-        :param extension_values: the values to be passed to the plugin
-        :return:
-        """
-        try:
-            if Config.extension_executor is not None:
-                self.__log.debug("Executing extension for event [%s]" % event)
-                extension_thread = PluginExecutor(Config.extension_executor, extension_values)
-                extension_thread.start()
+
+def on_tenant_subscribed_event(tenant_subscribed_event):
+    log.debug(
+        "Processing Tenant subscribed event: [tenant] " + str(tenant_subscribed_event.tenant_id) +
+        " [service] " + tenant_subscribed_event.service_name + " [cluster] " + tenant_subscribed_event.cluster_ids
+    )
+
+    execute_event_extendables(constants.TENANT_SUBSCRIBED_EVENT, {})
+
+
+def on_application_signup_removed_event(application_signup_removal_event):
+    log.debug(
+        "Processing Tenant unsubscribed event: [tenant] " + str(application_signup_removal_event.tenantId) +
+        " [application ID] " + str(application_signup_removal_event.applicationId)
+    )
+
+    if Config.application_id == application_signup_removal_event.applicationId:
+        AgentGitHandler.remove_repo(application_signup_removal_event.tenantId)
+
+    execute_event_extendables(constants.APPLICATION_SIGNUP_REMOVAL_EVENT, {})
+
+
+def cleanup(event):
+    log.debug("Executing cleanup extension for event %s..." % event)
+    publisher.publish_maintenance_mode_event()
+    execute_event_extendables("clean", {})
+    publisher.publish_instance_ready_to_shutdown_event()
+
+
+def execute_event_extendables(event, input_values):
+    """ Execute the extensions and plugins related to the event
+    :param event: The event name string
+    :param input_values: the values to be passed to the plugin
+    :return:
+    """
+    try:
+        input_values = add_common_input_values(input_values)
+    except Exception as e:
+        log.error("Error while adding common input values for event extendables: %s" % e)
+    input_values["EVENT"] = event
+    log.debug("Executing extensions for [event] %s with [input values] %s" % (event, input_values))
+    # Execute the extension
+    execute_extension_for_event(event, input_values)
+    # Execute the plugins
+    execute_plugins_for_event(event, input_values)
+
+
+def execute_plugins_for_event(event, input_values):
+    """ For each plugin registered for the specified event, start a plugin execution thread
+   :param str event: The event name string
+   :param dict input_values: the values to be passed to the plugin
+   :return:
+   """
+    try:
+        plugins_for_event = Config.plugins.get(event)
+        if plugins_for_event is not None:
+            for plugin_info in plugins_for_event:
+                log.debug("Executing plugin %s for event %s" % (plugin_info.name, event))
+                plugin_thread = PluginExecutor(plugin_info, input_values)
+                plugin_thread.start()
 
                 # block till plugin run completes.
-                extension_thread.join()
-            else:
-                self.__log.debug("No extensions registered for event %s" % event)
-        except OSError as e:
-            self.__log.warn("No extension was found for event %s: %s" % (event, e))
-        except Exception as e:
-            self.__log.exception("Error while executing extension for event %s: %s" % (event, e))
-
-    def get_repo_path_for_tenant(self, tenant_id, git_local_repo_path, is_multitenant):
-        """ Finds the repository path for tenant to clone from the remote repository
-        :param tenant_id:
-        :param git_local_repo_path:
-        :param is_multitenant:
-        :return:
-        """
-        repo_path = ""
-
-        if is_multitenant:
-            if tenant_id == SUPER_TENANT_ID:
-                # super tenant, /repository/deploy/server/
-                super_tenant_repo_path = Config.super_tenant_repository_path
-                # "app_path"
-                repo_path += git_local_repo_path
-
-                if super_tenant_repo_path is not None and super_tenant_repo_path != "":
-                    super_tenant_repo_path = super_tenant_repo_path if super_tenant_repo_path.startswith("/") \
-                        else "/" + super_tenant_repo_path
-                    super_tenant_repo_path = super_tenant_repo_path if super_tenant_repo_path.endswith("/") \
-                        else super_tenant_repo_path + "/"
-                    # "app_path/repository/deploy/server/"
-                    repo_path += super_tenant_repo_path
-                else:
-                    # "app_path/repository/deploy/server/"
-                    repo_path += SUPER_TENANT_REPO_PATH
+                plugin_thread.join()
+        else:
+            log.debug("No plugins registered for event %s" % event)
+    except Exception as e:
+        log.exception("Error while executing plugin for event %s: %s" % (event, e))
+
 
+def execute_extension_for_event(event, extension_values):
+    """ Execute the extension related to the event
+    :param event: The event name string
+    :param extension_values: the values to be passed to the plugin
+    :return:
+    """
+    try:
+        if Config.extension_executor is not None:
+            log.debug("Executing extension for event [%s]" % event)
+            extension_thread = PluginExecutor(Config.extension_executor, extension_values)
+            extension_thread.start()
+
+            # block till plugin run completes.
+            extension_thread.join()
+        else:
+            log.debug("No extensions registered for event %s" % event)
+    except OSError as e:
+        log.warn("No extension was found for event %s: %s" % (event, e))
+    except Exception as e:
+        log.exception("Error while executing extension for event %s: %s" % (event, e))
+
+
+def get_repo_path_for_tenant(tenant_id, git_local_repo_path, is_multitenant):
+    """ Finds the repository path for tenant to clone from the remote repository
+    :param tenant_id:
+    :param git_local_repo_path:
+    :param is_multitenant:
+    :return:
+    """
+    repo_path = ""
+
+    if is_multitenant:
+        if tenant_id == SUPER_TENANT_ID:
+            # super tenant, /repository/deploy/server/
+            super_tenant_repo_path = Config.super_tenant_repository_path
+            # "app_path"
+            repo_path += git_local_repo_path
+
+            if super_tenant_repo_path is not None and super_tenant_repo_path != "":
+                super_tenant_repo_path = super_tenant_repo_path if super_tenant_repo_path.startswith("/") \
+                    else "/" + super_tenant_repo_path
+                super_tenant_repo_path = super_tenant_repo_path if super_tenant_repo_path.endswith("/") \
+                    else super_tenant_repo_path + "/"
+                # "app_path/repository/deploy/server/"
+                repo_path += super_tenant_repo_path
             else:
-                # normal tenant, /repository/tenants/tenant_id
-                tenant_repo_path = Config.tenant_repository_path
-                # "app_path"
-                repo_path += git_local_repo_path
-
-                if tenant_repo_path is not None and tenant_repo_path != "":
-                    tenant_repo_path = tenant_repo_path if tenant_repo_path.startswith("/") else "/" + tenant_repo_path
-                    tenant_repo_path = tenant_repo_path if tenant_repo_path.endswith("/") else tenant_repo_path + "/"
-                    # "app_path/repository/tenants/244653444"
-                    repo_path += tenant_repo_path + tenant_id
-                else:
-                    # "app_path/repository/tenants/244653444"
-                    repo_path += TENANT_REPO_PATH + tenant_id
-
-                    # tenant_dir_path = git_local_repo_path + AgentGitHandler.TENANT_REPO_PATH + tenant_id
-                    # GitUtils.create_dir(repo_path)
+                # "app_path/repository/deploy/server/"
+                repo_path += SUPER_TENANT_REPO_PATH
+
         else:
-            # not multi tenant, app_path
-            repo_path = git_local_repo_path
-
-        self.__log.debug("Repo path returned : %r" % repo_path)
-        return repo_path
-
-    def is_member_initialized_in_topology(self, service_name, cluster_id, member_id):
-        if self.member_exists_in_topology(service_name, cluster_id, member_id):
-            topology = TopologyContext.get_topology()
-            service = topology.get_service(service_name)
-            if service is None:
-                raise Exception("Service not found in topology [service] %s" % service_name)
-
-            cluster = service.get_cluster(cluster_id)
-            if cluster is None:
-                raise Exception("Cluster id not found in topology [cluster] %s" % cluster_id)
-
-            member = cluster.get_member(member_id)
-            if member is None:
-                raise Exception("Member id not found in topology [member] %s" % member_id)
-
-            self.__log.info("Found member: " + member.to_json())
-            if member.status == MemberStatus.Initialized:
-                return True
-        return False
+            # normal tenant, /repository/tenants/tenant_id
+            tenant_repo_path = Config.tenant_repository_path
+            # "app_path"
+            repo_path += git_local_repo_path
+
+            if tenant_repo_path is not None and tenant_repo_path != "":
+                tenant_repo_path = tenant_repo_path if tenant_repo_path.startswith("/") else "/" + tenant_repo_path
+                tenant_repo_path = tenant_repo_path if tenant_repo_path.endswith("/") else tenant_repo_path + "/"
+                # "app_path/repository/tenants/244653444"
+                repo_path += tenant_repo_path + tenant_id
+            else:
+                # "app_path/repository/tenants/244653444"
+                repo_path += TENANT_REPO_PATH + tenant_id
+
+                # tenant_dir_path = git_local_repo_path + AgentGitHandler.TENANT_REPO_PATH + tenant_id
+                # GitUtils.create_dir(repo_path)
+    else:
+        # not multi tenant, app_path
+        repo_path = git_local_repo_path
 
-    def member_exists_in_topology(self, service_name, cluster_id, member_id):
+    log.debug("Repo path returned : %r" % repo_path)
+    return repo_path
+
+
+def is_member_initialized_in_topology(service_name, cluster_id, member_id):
+    if member_exists_in_topology(service_name, cluster_id, member_id):
         topology = TopologyContext.get_topology()
         service = topology.get_service(service_name)
         if service is None:
@@ -519,131 +524,149 @@ class EventHandler:
         if cluster is None:
             raise Exception("Cluster id not found in topology [cluster] %s" % cluster_id)
 
-        activated_member = cluster.get_member(member_id)
-        if activated_member is None:
-            self.__log.error("Member id not found in topology [member] %s" % member_id)
-            return False
+        member = cluster.get_member(member_id)
+        if member is None:
+            raise Exception("Member id not found in topology [member] %s" % member_id)
 
-        return True
+        log.info("Found member: " + member.to_json())
+        if member.status == MemberStatus.Initialized:
+            return True
+    return False
 
-    @staticmethod
-    def mark_member_as_initialized(service_name, cluster_id, member_id):
-        topology = TopologyContext.get_topology()
-        service = topology.get_service(service_name)
+
+def member_exists_in_topology(service_name, cluster_id, member_id):
+    topology = TopologyContext.get_topology()
+    service = topology.get_service(service_name)
+    if service is None:
+        raise Exception("Service not found in topology [service] %s" % service_name)
+
+    cluster = service.get_cluster(cluster_id)
+    if cluster is None:
+        raise Exception("Cluster id not found in topology [cluster] %s" % cluster_id)
+
+    activated_member = cluster.get_member(member_id)
+    if activated_member is None:
+        log.error("Member id not found in topology [member] %s" % member_id)
+        return False
+
+    return True
+
+
+def mark_member_as_initialized(service_name, cluster_id, member_id):
+    topology = TopologyContext.get_topology()
+    service = topology.get_service(service_name)
+    if service is None:
+        raise Exception("Service not found in topology [service] %s" % service_name)
+
+    cluster = service.get_cluster(cluster_id)
+    if cluster is None:
+        raise Exception("Cluster id not found in topology [cluster] %s" % cluster_id)
+
+    member = cluster.get_member(member_id)
+    if member is None:
+        raise Exception("Member id not found in topology [member] %s" % member_id)
+    member.status = MemberStatus.Initialized
+
+
+def add_common_input_values(plugin_values):
+    """
+    Adds the common parameters to be used by the extension scripts
+    :param dict[str, str] plugin_values: Dictionary to be added
+    :return: Dictionary with updated parameters
+    :rtype: dict[str, str]
+    """
+    if plugin_values is None:
+        plugin_values = {}
+    elif type(plugin_values) != dict:
+        plugin_values = {"VALUE1": str(plugin_values)}
+
+    plugin_values["APPLICATION_PATH"] = Config.app_path
+    plugin_values["PARAM_FILE_PATH"] = Config.read_property(constants.PARAM_FILE_PATH, False)
+    plugin_values["PERSISTENCE_MAPPINGS"] = Config.persistence_mappings
+
+    lb_cluster_id_in_payload = Config.lb_cluster_id
+    lb_private_ip, lb_public_ip = get_lb_member_ip(lb_cluster_id_in_payload)
+    plugin_values["LB_IP"] = lb_private_ip if lb_private_ip is not None else Config.lb_private_ip
+    plugin_values["LB_PUBLIC_IP"] = lb_public_ip if lb_public_ip is not None else Config.lb_public_ip
+
+    topology = TopologyContext.get_topology()
+    if topology.initialized:
+        service = topology.get_service(Config.service_name)
         if service is None:
-            raise Exception("Service not found in topology [service] %s" % service_name)
+            raise Exception("Service not found in topology [service] %s" % Config.service_name)
 
-        cluster = service.get_cluster(cluster_id)
+        cluster = service.get_cluster(Config.cluster_id)
         if cluster is None:
-            raise Exception("Cluster id not found in topology [cluster] %s" % cluster_id)
+            raise Exception("Cluster id not found in topology [cluster] %s" % Config.cluster_id)
 
-        member = cluster.get_member(member_id)
+        member = cluster.get_member(Config.member_id)
         if member is None:
-            raise Exception("Member id not found in topology [member] %s" % member_id)
-        member.status = MemberStatus.Initialized
-
-    @staticmethod
-    def add_common_input_values(plugin_values):
-        """
-        Adds the common parameters to be used by the extension scripts
-        :param dict[str, str] plugin_values: Dictionary to be added
-        :return: Dictionary with updated parameters
-        :rtype: dict[str, str]
-        """
-        if plugin_values is None:
-            plugin_values = {}
-        elif type(plugin_values) != dict:
-            plugin_values = {"VALUE1": str(plugin_values)}
-
-        plugin_values["APPLICATION_PATH"] = Config.app_path
-        plugin_values["PARAM_FILE_PATH"] = Config.read_property(constants.PARAM_FILE_PATH, False)
-        plugin_values["PERSISTENCE_MAPPINGS"] = Config.persistence_mappings
-
-        lb_cluster_id_in_payload = Config.lb_cluster_id
-        lb_private_ip, lb_public_ip = EventHandler.get_lb_member_ip(lb_cluster_id_in_payload)
-        plugin_values["LB_IP"] = lb_private_ip if lb_private_ip is not None else Config.lb_private_ip
-        plugin_values["LB_PUBLIC_IP"] = lb_public_ip if lb_public_ip is not None else Config.lb_public_ip
+            raise Exception("Member id not found in topology [member] %s" % Config.member_id)
 
-        topology = TopologyContext.get_topology()
-        if topology.initialized:
-            service = topology.get_service(Config.service_name)
-            if service is None:
-                raise Exception("Service not found in topology [service] %s" % Config.service_name)
-
-            cluster = service.get_cluster(Config.cluster_id)
-            if cluster is None:
-                raise Exception("Cluster id not found in topology [cluster] %s" % Config.cluster_id)
-
-            member = cluster.get_member(Config.member_id)
-            if member is None:
-                raise Exception("Member id not found in topology [member] %s" % Config.member_id)
-
-            EventHandler.add_properties(service.properties, plugin_values, "SERVICE_PROPERTY")
-            EventHandler.add_properties(cluster.properties, plugin_values, "CLUSTER_PROPERTY")
-            EventHandler.add_properties(member.properties, plugin_values, "MEMBER_PROPERTY")
-
-        plugin_values.update(Config.get_payload_params())
-
-        return EventHandler.clean_process_parameters(plugin_values)
-
-    @staticmethod
-    def add_properties(properties, params, prefix):
-        """
-        Adds the given property list to the parameters list with given prefix in the parameter name
-        :param dict[str, str] properties: service properties
-        :param dict[str, str] params:
-        :param str prefix:
-        :return: dict[str, str]
-        """
-        if properties is None or properties.items() is None:
-            return
-
-        for key in properties:
-            params[prefix + "_" + key] = str(properties[key])
-
-    @staticmethod
-    def get_lb_member_ip(lb_cluster_id):
-        topology = TopologyContext.get_topology()
-        services = topology.get_services()
-
-        for service in services:
-            clusters = service.get_clusters()
-            for cluster in clusters:
-                members = cluster.get_members()
-                for member in members:
-                    if member.cluster_id == lb_cluster_id:
-                        return member.member_default_private_ip, member.member_default_public_ip
-
-        return None, None
-
-    @staticmethod
-    def clean_process_parameters(params):
-        """
-        Removes any null valued parameters before passing them to the extension scripts
-        :param dict params:
-        :return: cleaned parameters
-        :rtype: dict
-        """
-        for key, value in params.items():
-            if value is None:
-                del params[key]
-
-        return params
-
-    @staticmethod
-    def find_tenant_domain(tenant_id):
-        tenant = TenantContext.get_tenant(tenant_id)
-        if tenant is None:
-            raise RuntimeError("Tenant could not be found: [tenant-id] %s" % str(tenant_id))
-
-        return tenant.tenant_domain
-
-    @staticmethod
-    def validate_repo_path(app_path):
-        # app path would be ex: /var/www, or /opt/server/data
-        return os.access(app_path, os.W_OK)
+        add_properties(service.properties, plugin_values, "SERVICE_PROPERTY")
+        add_properties(cluster.properties, plugin_values, "CLUSTER_PROPERTY")
+        add_properties(member.properties, plugin_values, "MEMBER_PROPERTY")
+
+    plugin_values.update(Config.get_payload_params())
+
+    return clean_process_parameters(plugin_values)
+
+
+def add_properties(properties, params, prefix):
+    """
+    Adds the given property list to the parameters list with given prefix in the parameter name
+    :param dict[str, str] properties: service properties
+    :param dict[str, str] params:
+    :param str prefix:
+    :return: dict[str, str]
+    """
+    if properties is None or properties.items() is None:
+        return
+
+    for key in properties:
+        params[prefix + "_" + key] = str(properties[key])
+
+
+def get_lb_member_ip(lb_cluster_id):
+    topology = TopologyContext.get_topology()
+    services = topology.get_services()
+
+    for service in services:
+        clusters = service.get_clusters()
+        for cluster in clusters:
+            members = cluster.get_members()
+            for member in members:
+                if member.cluster_id == lb_cluster_id:
+                    return member.member_default_private_ip, member.member_default_public_ip
+
+    return None, None
+
+
+def clean_process_parameters(params):
+    """
+    Removes any null valued parameters before passing them to the extension scripts
+    :param dict params:
+    :return: cleaned parameters
+    :rtype: dict
+    """
+    for key, value in params.items():
+        if value is None:
+            del params[key]
+
+    return params
+
+
+def find_tenant_domain(tenant_id):
+    tenant = TenantContext.get_tenant(tenant_id)
+    if tenant is None:
+        raise RuntimeError("Tenant could not be found: [tenant-id] %s" % str(tenant_id))
+
+    return tenant.tenant_domain
 
 
+def validate_repo_path(app_path):
+    # app path would be ex: /var/www, or /opt/server/data
+    return os.access(app_path, os.W_OK)
 
 
 class PluginExecutor(Thread):

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/publisher.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/publisher.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/publisher.py
index a24650a..5b6190e 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/publisher.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/publisher.py
@@ -15,10 +15,10 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import threading
-
+from threading import Thread
 import paho.mqtt.publish as publish
 import time
+from Queue import Queue, Empty
 
 import constants
 import healthstats
@@ -201,7 +201,7 @@ def get_publisher(topic):
     return publishers[topic]
 
 
-class EventPublisher:
+class EventPublisher(object):
     """
     Handles publishing events to topics to the provided message broker
     """
@@ -210,24 +210,9 @@ class EventPublisher:
         self.__topic = topic
         self.__log = LogFactory().get_log(__name__)
         self.__start_time = int(time.time())
+        self.__msg_queue = Queue()
 
     def publish(self, event):
-        publisher_thread = threading.Thread(target=self.__publish_event, args=(event,))
-        publisher_thread.start()
-
-    def __publish_event(self, event):
-        """
-        Publishes the given event to the message broker.
-
-        When a list of message brokers are given the event is published to the first message broker
-        available. Therefore the message brokers should share the data (ex: Sharing the KahaDB in ActiveMQ).
-
-        When the event cannot be published, it will be retried until the mb_publisher_timeout is exceeded.
-        This value is set in the agent.conf.
-
-        :param event:
-        :return: True if the event was published.
-        """
         if Config.mb_username is None:
             auth = None
         else:
@@ -244,20 +229,59 @@ class EventPublisher:
             for mb_url in Config.mb_urls:
                 mb_ip, mb_port = mb_url.split(":")
 
+                # start a thread to execute publish event
+                publisher_thread = Thread(target=self.__publish_event, args=(event, mb_ip, mb_port, auth, payload))
+                publisher_thread.start()
+
+                # give sometime for the thread to complete
+                time.sleep(5)
+
+                # check if thread is still running and notify
+                if publisher_thread.isAlive():
+                    self.__log.debug(
+                        "Event publishing timed out before succeeding. The message broker could be offline.")
+
+                # check if publish.single() succeeded
                 try:
-                    publish.single(self.__topic, payload, hostname=mb_ip, port=mb_port, auth=auth)
-                    self.__log.debug("Event type: %s published to MB: %s:%s" % (str(event.__class__), mb_ip, mb_port))
+                    published = self.__msg_queue.get(block=False)
+                except Empty:
+                    published = False
+
+                if published:
                     return True
-                except:
-                    self.__log.debug(
-                        "Could not publish event to message broker %s:%s." % (mb_ip, mb_port))
 
+            # All the brokers on the list were offline
             self.__log.debug(
                 "Could not publish event to any of the provided message brokers. Retrying in %s seconds."
                 % retry_interval)
 
             time.sleep(retry_interval)
 
+        # Even publisher timeout exceeded
         self.__log.warn("Could not publish event to any of the provided message brokers before "
                         "the timeout [%s] exceeded. The event will be dropped." % Config.mb_publisher_timeout)
         return False
+
+    def __publish_event(self, event, mb_ip, mb_port, auth, payload):
+        """
+        Publishes the given event to the message broker.
+
+        When a list of message brokers are given the event is published to the first message broker
+        available. Therefore the message brokers should share the data (ex: Sharing the KahaDB in ActiveMQ).
+
+        When the event cannot be published, it will be retried until the mb_publisher_timeout is exceeded.
+        This value is set in the agent.conf.
+
+        :param event:
+        :return: True if the event was published.
+        """
+        try:
+            self.__log.debug("Publishing [event] %s to %s:%s" % (event.__class__.__name__, mb_ip, mb_port))
+            publish.single(self.__topic, payload, hostname=mb_ip, port=mb_port, auth=auth)
+            self.__log.debug("[Event] %s published to MB: %s:%s" % (str(event.__class__.__name__), mb_ip, mb_port))
+            self.__msg_queue.put(True)
+        except Exception as err:
+            self.__log.debug(
+                "Could not publish [event] %s to message broker %s:%s. : %s"
+                % (str(event.__class__.__name__), mb_ip, mb_port, err))
+            self.__msg_queue.put(False)

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/subscriber.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/subscriber.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/subscriber.py
index ff5cef9..c5a6d2d 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/subscriber.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/subscriber.py
@@ -178,7 +178,6 @@ class EventExecutor(threading.Thread):
     def __init__(self, event_queue):
         threading.Thread.__init__(self)
         self.__event_queue = event_queue
-        # TODO: several handlers for one event
         self.__event_handlers = {}
         EventSubscriber.log = LogFactory().get_log(__name__)
 
@@ -191,10 +190,9 @@ class EventExecutor(threading.Thread):
                 try:
                     EventSubscriber.log.debug("Executing handler for event %r" % event)
                     handler(event_msg)
-                except:
-                    EventSubscriber.log.exception("Error processing %r event" % event)
+                except Exception as err:
+                    EventSubscriber.log.exception("Error processing %r event: %s" % (event, err))
             else:
-
                 EventSubscriber.log.debug("Event handler not found for event : %r" % event)
 
     def register_event_handler(self, event, handler):
@@ -226,7 +224,7 @@ class MessageBrokerHeartBeatChecker(AbstractAsyncScheduledTask):
         try:
             self.__mb_client.connect(self.__mb_ip, self.__mb_port, 60)
             self.__mb_client.disconnect()
-        except:
+        except Exception:
             self.__log.info(
                 "Message broker %s:%s cannot be reached. Disconnecting client..." % (self.__mb_ip, self.__mb_port))
             self.__connected_client.disconnect()

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java
index 2398099..ab4975a 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java
@@ -67,6 +67,11 @@ public class ADCExtensionTestCase extends PythonAgentIntegrationTest {
         startServerSocket(8080);
     }
 
+    @Override
+    protected String getClassName() {
+        return this.getClass().getSimpleName();
+    }
+
     /**
      * TearDown method for test method testPythonCartridgeAgent
      */

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTenantUserTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTenantUserTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTenantUserTestCase.java
index 6e40dd6..05d5ba2 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTenantUserTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTenantUserTestCase.java
@@ -70,6 +70,11 @@ public class ADCMTAppTenantUserTestCase extends PythonAgentIntegrationTest {
         startServerSocket(8080);
     }
 
+    @Override
+    protected String getClassName() {
+        return this.getClass().getSimpleName();
+    }
+
     /**
      * TearDown method for test method testPythonCartridgeAgent
      */

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTestCase.java
index 6f0b070..444a5e0 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCMTAppTestCase.java
@@ -72,6 +72,11 @@ public class ADCMTAppTestCase extends PythonAgentIntegrationTest {
         startServerSocket(8080);
     }
 
+    @Override
+    protected String getClassName() {
+        return this.getClass().getSimpleName();
+    }
+
     /**
      * TearDown method for test method testPythonCartridgeAgent
      */

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java
index 0dc92be..dba6197 100755
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java
@@ -63,6 +63,11 @@ public class ADCTestCase extends PythonAgentIntegrationTest {
     public ADCTestCase() throws IOException {
     }
 
+    @Override
+    protected String getClassName() {
+        return this.getClass().getSimpleName();
+    }
+
     @BeforeMethod(alwaysRun = true)
     public void setupADCTest() throws Exception {
         log.info("Setting up ADCTestCase");

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentStartupTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentStartupTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentStartupTestCase.java
index ea156b6..db21359 100755
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentStartupTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentStartupTestCase.java
@@ -79,6 +79,11 @@ public class AgentStartupTestCase extends PythonAgentIntegrationTest {
         startServerSocket(8080);
     }
 
+    @Override
+    protected String getClassName() {
+        return this.getClass().getSimpleName();
+    }
+
     /**
      * TearDown method for test method testPythonCartridgeAgent
      */

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/CEPHAModeTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/CEPHAModeTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/CEPHAModeTestCase.java
index 44d295b..ce13d3f 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/CEPHAModeTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/CEPHAModeTestCase.java
@@ -76,6 +76,11 @@ public class CEPHAModeTestCase extends PythonAgentIntegrationTest {
 
     }
 
+    @Override
+    protected String getClassName() {
+        return this.getClass().getSimpleName();
+    }
+
 
     @BeforeMethod(alwaysRun = true)
     public void setupCEPHAModeTest() throws Exception {

http://git-wip-us.apache.org/repos/asf/stratos/blob/d1912180/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/MessageBrokerHATestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/MessageBrokerHATestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/MessageBrokerHATestCase.java
index b1f4d8b..8c72f2d 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/MessageBrokerHATestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/MessageBrokerHATestCase.java
@@ -42,6 +42,11 @@ public class MessageBrokerHATestCase extends PythonAgentIntegrationTest {
     public MessageBrokerHATestCase() throws IOException {
     }
 
+    @Override
+    protected String getClassName() {
+        return this.getClass().getSimpleName();
+    }
+
     private static final Log log = LogFactory.getLog(MessageBrokerHATestCase.class);
     private static final int HA_TEST_TIMEOUT = 300000;
     private static final String CLUSTER_ID = "php.php.domain";
@@ -169,10 +174,11 @@ public class MessageBrokerHATestCase extends PythonAgentIntegrationTest {
                                 MEMBER_ID);
                         publishEvent(instanceCleanupMemberEvent);
                         publishCleanupEvent = true;
-                        waitUntilCleanupEventIsReceivedAndStopDefaultMB();
+
+                        stopActiveMQInstance("testBroker-" + amqpBindPorts[0] + "-" + mqttBindPorts[0]);
                     }
 
-                    if (line.contains("Could not publish event to message broker localhost:1885.")) {
+                    if (line.contains("Could not publish [event] ")) {
                         log.info("Event publishing to default message broker failed and the next option is tried.");
                         exit = true;
                     }
@@ -186,26 +192,6 @@ public class MessageBrokerHATestCase extends PythonAgentIntegrationTest {
         log.info("MessageBrokerHATestCase publisher test completed successfully.");
     }
 
-    private void waitUntilCleanupEventIsReceivedAndStopDefaultMB() {
-        boolean eventReceived = false;
-        List<String> outputLines = new ArrayList<>();
-
-        while (!eventReceived) {
-            List<String> newLines = getNewLines(outputLines, outputStream.toString());
-            if (newLines.size() > 0) {
-                for (String line : newLines) {
-                    if (line.contains("Message received: instance/notifier/InstanceCleanupMemberEvent")) {
-                        // take down the default broker
-                        stopActiveMQInstance("testBroker-" + amqpBindPorts[0] + "-" + mqttBindPorts[0]);
-                        eventReceived = true;
-                    }
-                }
-            }
-            log.info("Waiting until cleanup event is received by PCA...");
-        }
-        log.info("Cleanup event is received by PCA.");
-    }
-
     private void assertAgentActivation() {
         pcaActivated = false;
         instanceActivated = false;


[08/50] [abbrv] stratos git commit: Update log4j.properties file used in integration test with necessary DEBUG logs to help troubleshoot test failures

Posted by ga...@apache.org.
Update log4j.properties file used in integration test with necessary DEBUG logs to help troubleshoot test failures


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

Branch: refs/heads/master
Commit: 9700dec9db36b41cdd243f2ab5861e319d054515
Parents: 1284c55
Author: Akila Perera <ra...@gmail.com>
Authored: Mon Nov 30 00:29:05 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Mon Nov 30 00:33:48 2015 +0530

----------------------------------------------------------------------
 .../src/test/resources/common/log4j.properties        | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/9700dec9/products/stratos/modules/integration/test-integration/src/test/resources/common/log4j.properties
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/common/log4j.properties b/products/stratos/modules/integration/test-integration/src/test/resources/common/log4j.properties
index 2d49c47..f948315 100644
--- a/products/stratos/modules/integration/test-integration/src/test/resources/common/log4j.properties
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/common/log4j.properties
@@ -52,17 +52,23 @@ log4j.logger.me.prettyprint.cassandra.hector.TimingLogger=ERROR
 log4j.logger.org.wso2=INFO
 
 # Apache Stratos logging configuration
-log4j.logger.org.apache.stratos.manager=INFO
+log4j.logger.org.apache.stratos.manager=DEBUG
 log4j.logger.org.apache.stratos.autoscaler=DEBUG
 log4j.logger.org.apache.stratos.messaging=INFO
 log4j.logger.org.apache.stratos.cloud.controller=DEBUG
 log4j.logger.org.wso2.andes.client=ERROR
 # Autoscaler rule logs
-log4j.logger.org.apache.stratos.autoscaler.rule.RuleLog=DEBUG
+log4j.logger.org.apache.stratos.autoscaler.rule.RuleLog=INFO
+
 log4j.logger.org.apache.stratos.cloud.controller.messaging.topology.TopologyHolder=INFO
-log4j.logger.org.apache.stratos.mock.iaas.client=DEBUG
-log4j.logger.org.apache.stratos.mock.iaas.services=DEBUG
+log4j.logger.org.apache.stratos.mock.iaas=DEBUG
+log4j.logger.org.apache.stratos.mock.iaas.client=INFO
+log4j.logger.org.apache.stratos.mock.iaas.statistics.publisher=INFO
 log4j.logger.org.apache.stratos.metadata.service=DEBUG
+log4j.logger.org.apache.stratos.messaging.message.processor.application=DEBUG
+log4j.logger.org.apache.stratos.messaging.message.processor.cluster=DEBUG
+log4j.logger.org.apache.stratos.messaging.domain.application=DEBUG
+log4j.logger.org.apache.stratos.autoscaler.applications.ApplicationHolder=INFO
 
 # Apache jclouds
 #log4j.logger.jclouds.wire=DEBUG


[03/50] [abbrv] stratos git commit: Add debug log to print status of each group instance in GroupStatusActiveProcessor

Posted by ga...@apache.org.
Add debug log to print status of each group instance in GroupStatusActiveProcessor


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

Branch: refs/heads/master
Commit: 34f80ec91182ba1ccfa27147ec42b146f0545b73
Parents: 138bd5e
Author: Akila Perera <ra...@gmail.com>
Authored: Mon Nov 30 00:17:33 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Mon Nov 30 00:33:47 2015 +0530

----------------------------------------------------------------------
 .../group/GroupStatusActiveProcessor.java       | 84 +++++++++++++++-----
 1 file changed, 63 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/34f80ec9/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusActiveProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusActiveProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusActiveProcessor.java
index b6b0a97..260c78e 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusActiveProcessor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusActiveProcessor.java
@@ -24,8 +24,14 @@ import org.apache.stratos.autoscaler.applications.ApplicationHolder;
 import org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder;
 import org.apache.stratos.autoscaler.status.processor.StatusProcessor;
 import org.apache.stratos.messaging.domain.application.*;
+import org.apache.stratos.messaging.domain.instance.ClusterInstance;
+import org.apache.stratos.messaging.domain.instance.GroupInstance;
+import org.apache.stratos.messaging.domain.topology.Cluster;
 import org.apache.stratos.messaging.domain.topology.ClusterStatus;
+import org.apache.stratos.messaging.domain.topology.Service;
+import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
 
+import java.util.Collection;
 import java.util.Map;
 
 /**
@@ -41,8 +47,7 @@ public class GroupStatusActiveProcessor extends GroupStatusProcessor {
     }
 
     @Override
-    public boolean process(String idOfComponent, String appId,
-                           String instanceId) {
+    public boolean process(String idOfComponent, String appId, String instanceId) {
         boolean statusChanged;
         statusChanged = doProcess(idOfComponent, appId, instanceId);
         if (statusChanged) {
@@ -54,8 +59,8 @@ public class GroupStatusActiveProcessor extends GroupStatusProcessor {
             return nextProcessor.process(idOfComponent, appId, instanceId);
         } else {
 
-            log.warn(String.format("No possible state change found for [component] %s [instance] %s",
-                    idOfComponent, instanceId));
+            log.warn(String.format("No possible state change found for [component] %s, [instance] %s", idOfComponent,
+                    instanceId));
         }
         return false;
     }
@@ -67,8 +72,9 @@ public class GroupStatusActiveProcessor extends GroupStatusProcessor {
         Map<String, ClusterDataHolder> clusterData;
 
         if (log.isDebugEnabled()) {
-            log.debug("StatusChecker calculating the active status for the group " +
-                    "[ " + idOfComponent + " ] " + " for the instance " + " [ " + instanceId + " ]");
+            log.debug(String.format(
+                    "GroupStatusActiveProcessor is checking the status of [application-id] %s, [group-id] %s, "
+                            + "[group-instance-id] %s", appId, idOfComponent, instanceId));
         }
         try {
             ApplicationHolder.acquireWriteLock();
@@ -84,35 +90,71 @@ public class GroupStatusActiveProcessor extends GroupStatusProcessor {
             groups = component.getAliasToGroupMap();
             clusterData = component.getClusterDataMap();
 
-            if (groups.isEmpty() &&
-                    getAllClusterInSameState(clusterData, ClusterStatus.Active, instanceId) ||
-                    clusterData.isEmpty() &&
-                            getAllGroupInSameState(groups, GroupStatus.Active, instanceId) ||
-                    getAllClusterInSameState(clusterData, ClusterStatus.Active, instanceId) &&
-                            getAllGroupInSameState(groups, GroupStatus.Active, instanceId)) {
+            if (groups.isEmpty() && getAllClusterInSameState(clusterData, ClusterStatus.Active, instanceId) ||
+                    clusterData.isEmpty() && getAllGroupInSameState(groups, GroupStatus.Active, instanceId) ||
+                    getAllClusterInSameState(clusterData, ClusterStatus.Active, instanceId) && getAllGroupInSameState(
+                            groups, GroupStatus.Active, instanceId)) {
 
                 if (component instanceof Application) {
                     //send application activated event
-                    log.info("Sending application instance active for [application] " + appId +
-                            " [instance] " + instanceId);
+                    log.info(String.format(
+                            "Sending application instance active event for [application-id] %s, [instance-id] %s",
+                            appId, instanceId));
                     ApplicationBuilder.handleApplicationInstanceActivatedEvent(appId, instanceId);
                     return true;
                 } else {
                     //send activation to the parent
-                    log.info("Sending group instance active for [group] " +
-                            component.getUniqueIdentifier() + " [instance] " + instanceId);
-                    ApplicationBuilder.handleGroupInstanceActivatedEvent(appId,
-                            component.getUniqueIdentifier(), instanceId);
+                    log.info(String.format(
+                            "Sending group instance active event for [application-id] %s, [group-id] %s, "
+                                    + "[instance-id] %s", appId, component.getUniqueIdentifier(), instanceId));
+                    ApplicationBuilder
+                            .handleGroupInstanceActivatedEvent(appId, component.getUniqueIdentifier(), instanceId);
                     return true;
                 }
-
+            } else {
+                if (log.isDebugEnabled()) {
+                    log.debug(String.format(
+                            "GroupStatusActiveProcessor did not detect any status change for [application-id] %s, "
+                                    + "[group-id] %s, [instance-id] %s", appId, idOfComponent, instanceId));
+                    for (Map.Entry<String, Group> entry : groups.entrySet()) {
+                        Collection<Group> groupCollection = entry.getValue().getGroups();
+                        for (Group group : groupCollection) {
+                            for (GroupInstance groupInstance : group.getInstanceIdToInstanceContextMap().values()) {
+                                log.debug(String.format("Groups: [group-id] %s, [group-instance-id] %s, [status] %s",
+                                        group.getUniqueIdentifier(), groupInstance.getInstanceId(), entry.getKey(),
+                                        groupInstance.getStatus()));
+                            }
+
+                        }
+
+                    }
+                    for (Map.Entry<String, ClusterDataHolder> entry : clusterData.entrySet()) {
+                        String serviceName = entry.getValue().getServiceType();
+                        String clusterId = entry.getValue().getClusterId();
+                        TopologyManager.acquireReadLockForCluster(serviceName, clusterId);
+                        try {
+                            Service service = TopologyManager.getTopology().getService(serviceName);
+                            Cluster cluster = service.getCluster(clusterId);
+                            ClusterInstance context = cluster.getInstanceContexts(instanceId);
+                            if (context != null) {
+                                log.debug(String.format(
+                                        "ClusterData: [cluster-id] %s, [cluster-instance-id] %s, [status] %s",
+                                        entry.getKey(), instanceId, context.getStatus()));
+                            } else {
+                                log.debug(String.format(
+                                        "ClusterData: cluster instance context is null: [cluster-instance-id] %s",
+                                        instanceId));
+                            }
+                        } finally {
+                            TopologyManager.releaseReadLockForCluster(serviceName, clusterId);
+                        }
+                    }
+                }
             }
         } finally {
             ApplicationHolder.releaseWriteLock();
-
         }
         return false;
     }
 
-
 }


[40/50] [abbrv] stratos git commit: Merge branch 'stratos-4.1.x' of https://github.com/Thanu/stratos into stratos-4.1.x

Posted by ga...@apache.org.
Merge branch 'stratos-4.1.x' of https://github.com/Thanu/stratos into stratos-4.1.x


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

Branch: refs/heads/master
Commit: 1e87b40ceb31b6a6ce89969e043f51f571f959c8
Parents: 2a425fd 5400c4d
Author: rajkumar <rr...@gmail.com>
Authored: Sun Dec 6 17:58:25 2015 +0530
Committer: rajkumar <rr...@gmail.com>
Committed: Sun Dec 6 17:58:25 2015 +0530

----------------------------------------------------------------------
 extensions/cep/modules/distribution/README.md   | 34 +++++++++++++--
 extensions/cep/modules/distribution/pom.xml     |  6 +--
 .../artifacts/metering-dashboard/README.md      | 36 +++++++++++-----
 .../metering-dashboard/ues-patch/README.md      |  5 ++-
 .../artifacts/monitoring-dashboard/README.md    | 33 +++++++++-----
 extensions/das/modules/distribution/README.md   | 45 +++++++++++++++++++-
 extensions/das/modules/distribution/pom.xml     |  6 +--
 .../das/modules/stratos-das-extension/README.md | 10 +++--
 8 files changed, 138 insertions(+), 37 deletions(-)
----------------------------------------------------------------------



[43/50] [abbrv] stratos git commit: Rebase with stratos 4.1.x

Posted by ga...@apache.org.
http://git-wip-us.apache.org/repos/asf/stratos/blob/1ae9bb39/service-stubs/org.apache.stratos.manager.service.stub/src/main/resources/StratosManagerService.wsdl
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.manager.service.stub/src/main/resources/StratosManagerService.wsdl b/service-stubs/org.apache.stratos.manager.service.stub/src/main/resources/StratosManagerService.wsdl
index f85732e..cc33797 100644
--- a/service-stubs/org.apache.stratos.manager.service.stub/src/main/resources/StratosManagerService.wsdl
+++ b/service-stubs/org.apache.stratos.manager.service.stub/src/main/resources/StratosManagerService.wsdl
@@ -1,16 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://impl.services.manager.stratos.apache.org" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ax23="http://signup.application.domain.messaging.stratos.apache.org/xsd" xmlns:ax21="http://exception.manager.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.manager.stratos.apache.org">
     <wsdl:types>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://signup.application.domain.messaging.stratos.apache.org/xsd">
-            <xs:complexType name="DomainMapping">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="contextPath" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="domainName" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
-                </xs:sequence>
-            </xs:complexType>
             <xs:complexType name="ApplicationSignUp">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
@@ -30,248 +20,258 @@
                     <xs:element minOccurs="0" name="repoUsername" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="DomainMapping">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="contextPath" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="domainName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
+                </xs:sequence>
+            </xs:complexType>
         </xs:schema>
         <xs:schema xmlns:ax24="http://signup.application.domain.messaging.stratos.apache.org/xsd" xmlns:ax22="http://exception.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.manager.stratos.apache.org">
             <xs:import namespace="http://exception.manager.stratos.apache.org/xsd"/>
             <xs:import namespace="http://signup.application.domain.messaging.stratos.apache.org/xsd"/>
-            <xs:element name="StratosManagerServiceArtifactDistributionCoordinatorException">
+            <xs:element name="StratosManagerServiceApplicationSignUpException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ArtifactDistributionCoordinatorException" nillable="true" type="ax21:ArtifactDistributionCoordinatorException"/>
+                        <xs:element minOccurs="0" name="ApplicationSignUpException" nillable="true" type="ax21:ApplicationSignUpException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="notifyArtifactUpdatedEventForSignUp">
+            <xs:element name="addApplicationSignUp">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
+                        <xs:element minOccurs="0" name="applicationSignUp" nillable="true" type="ax23:ApplicationSignUp"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="notifyArtifactUpdatedEventForRepository">
+            <xs:element name="removeApplicationSignUp">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="repoUrl" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="StratosManagerServiceApplicationSignUpException">
+            <xs:element name="getApplicationSignUp">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicationSignUpException" nillable="true" type="ax21:ApplicationSignUpException"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="applicationSignUpsExist">
+            <xs:element name="getApplicationSignUpResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax23:ApplicationSignUp"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="applicationSignUpsExistResponse">
+            <xs:element name="applicationSignUpExist">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="canCartridgeBeRemoved">
+            <xs:element name="applicationSignUpExistResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="canCartridgeBeRemovedResponse">
+            <xs:element name="applicationSignUpsExist">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="canCartirdgeGroupBeRemoved">
+            <xs:element name="applicationSignUpsExistResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeGroupName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="canCartirdgeGroupBeRemovedResponse">
+            <xs:element name="getApplicationSignUps">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="StratosManagerServiceDomainMappingException">
+            <xs:element name="getApplicationSignUpsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="DomainMappingException" nillable="true" type="ax21:DomainMappingException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax23:ApplicationSignUp"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addDomainMapping">
+            <xs:element name="StratosManagerServiceArtifactDistributionCoordinatorException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="domainMapping" nillable="true" type="ax23:DomainMapping"/>
+                        <xs:element minOccurs="0" name="ArtifactDistributionCoordinatorException" nillable="true" type="ax21:ArtifactDistributionCoordinatorException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addUsedCartridgesInCartridgeGroups">
+            <xs:element name="notifyArtifactUpdatedEventForSignUp">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeGroupName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeUsedCartridgesInCartridgeGroups">
+            <xs:element name="notifyArtifactUpdatedEventForRepository">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeGroupName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="repoUrl" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addUsedCartridgesInApplications">
+            <xs:element name="StratosManagerServiceDomainMappingException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="DomainMappingException" nillable="true" type="ax21:DomainMappingException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeUsedCartridgesInApplications">
+            <xs:element name="addDomainMapping">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="domainMapping" nillable="true" type="ax23:DomainMapping"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addUsedCartridgeGroupsInCartridgeSubGroups">
+            <xs:element name="getDomainMappings">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeSubGroupName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeUsedCartridgeGroupsInCartridgeSubGroups">
+            <xs:element name="getDomainMappingsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeSubGroupName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax23:DomainMapping"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addUsedCartridgeGroupsInApplications">
+            <xs:element name="removeDomainMapping">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
+                        <xs:element minOccurs="0" name="domainName" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeUsedCartridgeGroupsInApplications">
+            <xs:element name="addUsedCartridgesInCartridgeGroups">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="cartridgeGroupName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDomainMappings">
+            <xs:element name="removeUsedCartridgesInCartridgeGroups">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
+                        <xs:element minOccurs="0" name="cartridgeGroupName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDomainMappingsResponse">
+            <xs:element name="addUsedCartridgesInApplications">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax23:DomainMapping"/>
+                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeDomainMapping">
+            <xs:element name="removeUsedCartridgesInApplications">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
-                        <xs:element minOccurs="0" name="domainName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplicationSignUp">
+            <xs:element name="canCartridgeBeRemoved">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationSignUp" nillable="true" type="ax23:ApplicationSignUp"/>
+                        <xs:element minOccurs="0" name="cartridgeName" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="applicationSignUpExist">
+            <xs:element name="canCartridgeBeRemovedResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="applicationSignUpExistResponse">
+            <xs:element name="addUsedCartridgeGroupsInCartridgeSubGroups">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="cartridgeSubGroupName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeApplicationSignUp">
+            <xs:element name="removeUsedCartridgeGroupsInCartridgeSubGroups">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
+                        <xs:element minOccurs="0" name="cartridgeSubGroupName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationSignUp">
+            <xs:element name="addUsedCartridgeGroupsInApplications">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
+                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationSignUpResponse">
+            <xs:element name="removeUsedCartridgeGroupsInApplications">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax23:ApplicationSignUp"/>
+                        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeGroupNames" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationSignUps">
+            <xs:element name="canCartirdgeGroupBeRemoved">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="cartridgeGroupName" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationSignUpsResponse">
+            <xs:element name="canCartirdgeGroupBeRemovedResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax23:ApplicationSignUp"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://exception.manager.stratos.apache.org/xsd">
-            <xs:complexType name="ArtifactDistributionCoordinatorException">
+            <xs:complexType name="ApplicationSignUpException">
                 <xs:sequence/>
             </xs:complexType>
-            <xs:complexType name="ApplicationSignUpException">
+            <xs:complexType name="ArtifactDistributionCoordinatorException">
                 <xs:sequence/>
             </xs:complexType>
             <xs:complexType name="DomainMappingException">
@@ -279,15 +279,6 @@
             </xs:complexType>
         </xs:schema>
     </wsdl:types>
-    <wsdl:message name="applicationSignUpExistRequest">
-        <wsdl:part name="parameters" element="ns:applicationSignUpExist"/>
-    </wsdl:message>
-    <wsdl:message name="applicationSignUpExistResponse">
-        <wsdl:part name="parameters" element="ns:applicationSignUpExistResponse"/>
-    </wsdl:message>
-    <wsdl:message name="StratosManagerServiceApplicationSignUpException">
-        <wsdl:part name="parameters" element="ns:StratosManagerServiceApplicationSignUpException"/>
-    </wsdl:message>
     <wsdl:message name="addUsedCartridgeGroupsInApplicationsRequest">
         <wsdl:part name="parameters" element="ns:addUsedCartridgeGroupsInApplications"/>
     </wsdl:message>
@@ -297,6 +288,15 @@
     <wsdl:message name="canCartridgeBeRemovedResponse">
         <wsdl:part name="parameters" element="ns:canCartridgeBeRemovedResponse"/>
     </wsdl:message>
+    <wsdl:message name="applicationSignUpExistRequest">
+        <wsdl:part name="parameters" element="ns:applicationSignUpExist"/>
+    </wsdl:message>
+    <wsdl:message name="applicationSignUpExistResponse">
+        <wsdl:part name="parameters" element="ns:applicationSignUpExistResponse"/>
+    </wsdl:message>
+    <wsdl:message name="StratosManagerServiceApplicationSignUpException">
+        <wsdl:part name="parameters" element="ns:StratosManagerServiceApplicationSignUpException"/>
+    </wsdl:message>
     <wsdl:message name="getApplicationSignUpsRequest">
         <wsdl:part name="parameters" element="ns:getApplicationSignUps"/>
     </wsdl:message>
@@ -373,11 +373,6 @@
         <wsdl:part name="parameters" element="ns:addApplicationSignUp"/>
     </wsdl:message>
     <wsdl:portType name="StratosManagerServicePortType">
-        <wsdl:operation name="applicationSignUpExist">
-            <wsdl:input message="ns:applicationSignUpExistRequest" wsaw:Action="urn:applicationSignUpExist"/>
-            <wsdl:output message="ns:applicationSignUpExistResponse" wsaw:Action="urn:applicationSignUpExistResponse"/>
-            <wsdl:fault message="ns:StratosManagerServiceApplicationSignUpException" name="StratosManagerServiceApplicationSignUpException" wsaw:Action="urn:applicationSignUpExistStratosManagerServiceApplicationSignUpException"/>
-        </wsdl:operation>
         <wsdl:operation name="addUsedCartridgeGroupsInApplications">
             <wsdl:input message="ns:addUsedCartridgeGroupsInApplicationsRequest" wsaw:Action="urn:addUsedCartridgeGroupsInApplications"/>
         </wsdl:operation>
@@ -385,6 +380,11 @@
             <wsdl:input message="ns:canCartridgeBeRemovedRequest" wsaw:Action="urn:canCartridgeBeRemoved"/>
             <wsdl:output message="ns:canCartridgeBeRemovedResponse" wsaw:Action="urn:canCartridgeBeRemovedResponse"/>
         </wsdl:operation>
+        <wsdl:operation name="applicationSignUpExist">
+            <wsdl:input message="ns:applicationSignUpExistRequest" wsaw:Action="urn:applicationSignUpExist"/>
+            <wsdl:output message="ns:applicationSignUpExistResponse" wsaw:Action="urn:applicationSignUpExistResponse"/>
+            <wsdl:fault message="ns:StratosManagerServiceApplicationSignUpException" name="StratosManagerServiceApplicationSignUpException" wsaw:Action="urn:applicationSignUpExistStratosManagerServiceApplicationSignUpException"/>
+        </wsdl:operation>
         <wsdl:operation name="getApplicationSignUps">
             <wsdl:input message="ns:getApplicationSignUpsRequest" wsaw:Action="urn:getApplicationSignUps"/>
             <wsdl:output message="ns:getApplicationSignUpsResponse" wsaw:Action="urn:getApplicationSignUpsResponse"/>
@@ -397,6 +397,7 @@
         </wsdl:operation>
         <wsdl:operation name="notifyArtifactUpdatedEventForSignUp">
             <wsdl:input message="ns:notifyArtifactUpdatedEventForSignUpRequest" wsaw:Action="urn:notifyArtifactUpdatedEventForSignUp"/>
+            <wsdl:output message="ns:null" wsaw:Action="urn:notifyArtifactUpdatedEventForSignUpResponse"/>
             <wsdl:fault message="ns:StratosManagerServiceArtifactDistributionCoordinatorException" name="StratosManagerServiceArtifactDistributionCoordinatorException" wsaw:Action="urn:notifyArtifactUpdatedEventForSignUpStratosManagerServiceArtifactDistributionCoordinatorException"/>
         </wsdl:operation>
         <wsdl:operation name="removeUsedCartridgesInApplications">
@@ -419,6 +420,7 @@
         </wsdl:operation>
         <wsdl:operation name="addDomainMapping">
             <wsdl:input message="ns:addDomainMappingRequest" wsaw:Action="urn:addDomainMapping"/>
+            <wsdl:output message="ns:null" wsaw:Action="urn:addDomainMappingResponse"/>
             <wsdl:fault message="ns:StratosManagerServiceDomainMappingException" name="StratosManagerServiceDomainMappingException" wsaw:Action="urn:addDomainMappingStratosManagerServiceDomainMappingException"/>
         </wsdl:operation>
         <wsdl:operation name="addUsedCartridgesInApplications">
@@ -426,14 +428,17 @@
         </wsdl:operation>
         <wsdl:operation name="removeApplicationSignUp">
             <wsdl:input message="ns:removeApplicationSignUpRequest" wsaw:Action="urn:removeApplicationSignUp"/>
+            <wsdl:output message="ns:null" wsaw:Action="urn:removeApplicationSignUpResponse"/>
             <wsdl:fault message="ns:StratosManagerServiceApplicationSignUpException" name="StratosManagerServiceApplicationSignUpException" wsaw:Action="urn:removeApplicationSignUpStratosManagerServiceApplicationSignUpException"/>
         </wsdl:operation>
         <wsdl:operation name="removeDomainMapping">
             <wsdl:input message="ns:removeDomainMappingRequest" wsaw:Action="urn:removeDomainMapping"/>
+            <wsdl:output message="ns:null" wsaw:Action="urn:removeDomainMappingResponse"/>
             <wsdl:fault message="ns:StratosManagerServiceDomainMappingException" name="StratosManagerServiceDomainMappingException" wsaw:Action="urn:removeDomainMappingStratosManagerServiceDomainMappingException"/>
         </wsdl:operation>
         <wsdl:operation name="notifyArtifactUpdatedEventForRepository">
             <wsdl:input message="ns:notifyArtifactUpdatedEventForRepositoryRequest" wsaw:Action="urn:notifyArtifactUpdatedEventForRepository"/>
+            <wsdl:output message="ns:null" wsaw:Action="urn:notifyArtifactUpdatedEventForRepositoryResponse"/>
             <wsdl:fault message="ns:StratosManagerServiceArtifactDistributionCoordinatorException" name="StratosManagerServiceArtifactDistributionCoordinatorException" wsaw:Action="urn:notifyArtifactUpdatedEventForRepositoryStratosManagerServiceArtifactDistributionCoordinatorException"/>
         </wsdl:operation>
         <wsdl:operation name="canCartirdgeGroupBeRemoved">
@@ -452,37 +457,38 @@
         </wsdl:operation>
         <wsdl:operation name="addApplicationSignUp">
             <wsdl:input message="ns:addApplicationSignUpRequest" wsaw:Action="urn:addApplicationSignUp"/>
+            <wsdl:output message="ns:null" wsaw:Action="urn:addApplicationSignUpResponse"/>
             <wsdl:fault message="ns:StratosManagerServiceApplicationSignUpException" name="StratosManagerServiceApplicationSignUpException" wsaw:Action="urn:addApplicationSignUpStratosManagerServiceApplicationSignUpException"/>
         </wsdl:operation>
     </wsdl:portType>
     <wsdl:binding name="StratosManagerServiceSoap11Binding" type="ns:StratosManagerServicePortType">
         <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
-        <wsdl:operation name="canCartridgeBeRemoved">
-            <soap:operation soapAction="urn:canCartridgeBeRemoved" style="document"/>
+        <wsdl:operation name="applicationSignUpExist">
+            <soap:operation soapAction="urn:applicationSignUpExist" style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
             <wsdl:output>
                 <soap:body use="literal"/>
             </wsdl:output>
+            <wsdl:fault name="StratosManagerServiceApplicationSignUpException">
+                <soap:fault use="literal" name="StratosManagerServiceApplicationSignUpException"/>
+            </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
-            <soap:operation soapAction="urn:addUsedCartridgeGroupsInApplications" style="document"/>
+        <wsdl:operation name="canCartridgeBeRemoved">
+            <soap:operation soapAction="urn:canCartridgeBeRemoved" style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="applicationSignUpExist">
-            <soap:operation soapAction="urn:applicationSignUpExist" style="document"/>
+        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
+            <soap:operation soapAction="urn:addUsedCartridgeGroupsInApplications" style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-            </wsdl:output>
-            <wsdl:fault name="StratosManagerServiceApplicationSignUpException">
-                <soap:fault use="literal" name="StratosManagerServiceApplicationSignUpException"/>
-            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="getApplicationSignUps">
             <soap:operation soapAction="urn:getApplicationSignUps" style="document"/>
@@ -513,6 +519,9 @@
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceArtifactDistributionCoordinatorException">
                 <soap:fault use="literal" name="StratosManagerServiceArtifactDistributionCoordinatorException"/>
             </wsdl:fault>
@@ -558,6 +567,9 @@
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceDomainMappingException">
                 <soap:fault use="literal" name="StratosManagerServiceDomainMappingException"/>
             </wsdl:fault>
@@ -573,6 +585,9 @@
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceApplicationSignUpException">
                 <soap:fault use="literal" name="StratosManagerServiceApplicationSignUpException"/>
             </wsdl:fault>
@@ -582,6 +597,9 @@
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceDomainMappingException">
                 <soap:fault use="literal" name="StratosManagerServiceDomainMappingException"/>
             </wsdl:fault>
@@ -591,6 +609,9 @@
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceArtifactDistributionCoordinatorException">
                 <soap:fault use="literal" name="StratosManagerServiceArtifactDistributionCoordinatorException"/>
             </wsdl:fault>
@@ -633,6 +654,9 @@
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceApplicationSignUpException">
                 <soap:fault use="literal" name="StratosManagerServiceApplicationSignUpException"/>
             </wsdl:fault>
@@ -640,32 +664,32 @@
     </wsdl:binding>
     <wsdl:binding name="StratosManagerServiceSoap12Binding" type="ns:StratosManagerServicePortType">
         <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
-        <wsdl:operation name="canCartridgeBeRemoved">
-            <soap12:operation soapAction="urn:canCartridgeBeRemoved" style="document"/>
+        <wsdl:operation name="applicationSignUpExist">
+            <soap12:operation soapAction="urn:applicationSignUpExist" style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
             <wsdl:output>
                 <soap12:body use="literal"/>
             </wsdl:output>
+            <wsdl:fault name="StratosManagerServiceApplicationSignUpException">
+                <soap12:fault use="literal" name="StratosManagerServiceApplicationSignUpException"/>
+            </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
-            <soap12:operation soapAction="urn:addUsedCartridgeGroupsInApplications" style="document"/>
+        <wsdl:operation name="canCartridgeBeRemoved">
+            <soap12:operation soapAction="urn:canCartridgeBeRemoved" style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="applicationSignUpExist">
-            <soap12:operation soapAction="urn:applicationSignUpExist" style="document"/>
+        <wsdl:operation name="addUsedCartridgeGroupsInApplications">
+            <soap12:operation soapAction="urn:addUsedCartridgeGroupsInApplications" style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
-            <wsdl:output>
-                <soap12:body use="literal"/>
-            </wsdl:output>
-            <wsdl:fault name="StratosManagerServiceApplicationSignUpException">
-                <soap12:fault use="literal" name="StratosManagerServiceApplicationSignUpException"/>
-            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="getApplicationSignUps">
             <soap12:operation soapAction="urn:getApplicationSignUps" style="document"/>
@@ -696,6 +720,9 @@
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceArtifactDistributionCoordinatorException">
                 <soap12:fault use="literal" name="StratosManagerServiceArtifactDistributionCoordinatorException"/>
             </wsdl:fault>
@@ -741,6 +768,9 @@
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceDomainMappingException">
                 <soap12:fault use="literal" name="StratosManagerServiceDomainMappingException"/>
             </wsdl:fault>
@@ -756,6 +786,9 @@
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceApplicationSignUpException">
                 <soap12:fault use="literal" name="StratosManagerServiceApplicationSignUpException"/>
             </wsdl:fault>
@@ -765,6 +798,9 @@
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceDomainMappingException">
                 <soap12:fault use="literal" name="StratosManagerServiceDomainMappingException"/>
             </wsdl:fault>
@@ -774,6 +810,9 @@
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceArtifactDistributionCoordinatorException">
                 <soap12:fault use="literal" name="StratosManagerServiceArtifactDistributionCoordinatorException"/>
             </wsdl:fault>
@@ -816,6 +855,9 @@
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
             <wsdl:fault name="StratosManagerServiceApplicationSignUpException">
                 <soap12:fault use="literal" name="StratosManagerServiceApplicationSignUpException"/>
             </wsdl:fault>
@@ -823,152 +865,170 @@
     </wsdl:binding>
     <wsdl:binding name="StratosManagerServiceHttpBinding" type="ns:StratosManagerServicePortType">
         <http:binding verb="POST"/>
+        <wsdl:operation name="applicationSignUpExist">
+            <http:operation location="applicationSignUpExist"/>
+            <wsdl:input>
+                <mime:content type="application/xml" part="parameters"/>
+            </wsdl:input>
+            <wsdl:output>
+                <mime:content type="application/xml" part="parameters"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="canCartridgeBeRemoved">
             <http:operation location="canCartridgeBeRemoved"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="addUsedCartridgeGroupsInApplications">
             <http:operation location="addUsedCartridgeGroupsInApplications"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
-        <wsdl:operation name="applicationSignUpExist">
-            <http:operation location="applicationSignUpExist"/>
-            <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
-            </wsdl:input>
-            <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="getApplicationSignUps">
             <http:operation location="getApplicationSignUps"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="getDomainMappings">
             <http:operation location="getDomainMappings"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="notifyArtifactUpdatedEventForSignUp">
             <http:operation location="notifyArtifactUpdatedEventForSignUp"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
+            <wsdl:output>
+                <mime:content type="application/xml" part="parameters"/>
+            </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="removeUsedCartridgesInApplications">
             <http:operation location="removeUsedCartridgesInApplications"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
         <wsdl:operation name="addUsedCartridgesInCartridgeGroups">
             <http:operation location="addUsedCartridgesInCartridgeGroups"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
         <wsdl:operation name="removeUsedCartridgeGroupsInCartridgeSubGroups">
             <http:operation location="removeUsedCartridgeGroupsInCartridgeSubGroups"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
         <wsdl:operation name="addUsedCartridgeGroupsInCartridgeSubGroups">
             <http:operation location="addUsedCartridgeGroupsInCartridgeSubGroups"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
         <wsdl:operation name="removeUsedCartridgeGroupsInApplications">
             <http:operation location="removeUsedCartridgeGroupsInApplications"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
         <wsdl:operation name="removeUsedCartridgesInCartridgeGroups">
             <http:operation location="removeUsedCartridgesInCartridgeGroups"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
         <wsdl:operation name="addDomainMapping">
             <http:operation location="addDomainMapping"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
+            <wsdl:output>
+                <mime:content type="application/xml" part="parameters"/>
+            </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="addUsedCartridgesInApplications">
             <http:operation location="addUsedCartridgesInApplications"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
         <wsdl:operation name="removeApplicationSignUp">
             <http:operation location="removeApplicationSignUp"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
+            <wsdl:output>
+                <mime:content type="application/xml" part="parameters"/>
+            </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="removeDomainMapping">
             <http:operation location="removeDomainMapping"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
+            <wsdl:output>
+                <mime:content type="application/xml" part="parameters"/>
+            </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="notifyArtifactUpdatedEventForRepository">
             <http:operation location="notifyArtifactUpdatedEventForRepository"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
+            <wsdl:output>
+                <mime:content type="application/xml" part="parameters"/>
+            </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="canCartirdgeGroupBeRemoved">
             <http:operation location="canCartirdgeGroupBeRemoved"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="applicationSignUpsExist">
             <http:operation location="applicationSignUpsExist"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="getApplicationSignUp">
             <http:operation location="getApplicationSignUp"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="addApplicationSignUp">
             <http:operation location="addApplicationSignUp"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
+            <wsdl:output>
+                <mime:content type="application/xml" part="parameters"/>
+            </wsdl:output>
         </wsdl:operation>
     </wsdl:binding>
     <wsdl:service name="StratosManagerService">


[23/50] [abbrv] stratos git commit: Updating scaling_decision nickname and description

Posted by ga...@apache.org.
Updating scaling_decision nickname and description


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

Branch: refs/heads/master
Commit: 994255e7e2dd438685387dd506ed1f56d08b2471
Parents: f726ea8
Author: Thanuja <th...@wso2.com>
Authored: Mon Nov 30 13:25:13 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Tue Dec 1 08:57:54 2015 +0530

----------------------------------------------------------------------
 .../EventstreamScalingDecision/scaling_decision_1.0.0.json       | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/994255e7/extensions/das/modules/artifacts/monitoring-dashboard/capps/stratos-monitoring-service/EventstreamScalingDecision/scaling_decision_1.0.0.json
----------------------------------------------------------------------
diff --git a/extensions/das/modules/artifacts/monitoring-dashboard/capps/stratos-monitoring-service/EventstreamScalingDecision/scaling_decision_1.0.0.json b/extensions/das/modules/artifacts/monitoring-dashboard/capps/stratos-monitoring-service/EventstreamScalingDecision/scaling_decision_1.0.0.json
index fbda1ef..457fa06 100644
--- a/extensions/das/modules/artifacts/monitoring-dashboard/capps/stratos-monitoring-service/EventstreamScalingDecision/scaling_decision_1.0.0.json
+++ b/extensions/das/modules/artifacts/monitoring-dashboard/capps/stratos-monitoring-service/EventstreamScalingDecision/scaling_decision_1.0.0.json
@@ -1,8 +1,8 @@
 {
   "name": "scaling_decision",
   "version": "1.0.0",
-  "nickName": "Member Information",
-  "description": "Member Information",
+  "nickName": "Scaling Decision",
+  "description": "Scaling Decision",
   "payloadData": [
     {
       "name": "timestamp",


[28/50] [abbrv] stratos git commit: PCA - Validate agent.conf entries when loading Config, refactor handler methods for mb events, fix util methods, fix exception initialization

Posted by ga...@apache.org.
PCA - Validate agent.conf entries when loading Config, refactor handler methods for mb events, fix util methods, fix exception initialization


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

Branch: refs/heads/master
Commit: a242b52be5452ba03a2234333c62810d3ea67cfb
Parents: 64f05a5
Author: Chamila de Alwis <ch...@apache.org>
Authored: Tue Dec 1 17:35:25 2015 +0530
Committer: Chamila de Alwis <ch...@apache.org>
Committed: Tue Dec 1 17:35:34 2015 +0530

----------------------------------------------------------------------
 .../cartridge.agent/cartridge.agent/agent.py    | 144 +++++++++++--------
 .../cartridge.agent/cartridge.agent/config.py   |  83 ++++++++++-
 .../cartridge.agent/exception.py                |  46 +++---
 .../cartridge.agent/healthstats.py              |  34 +----
 .../cartridge.agent/logpublisher.py             |   2 +-
 .../modules/artifactmgt/git/agentgithandler.py  |   4 +-
 .../modules/event/application/signup/events.py  |   3 -
 .../modules/event/instance/notifier/events.py   |   2 +-
 .../modules/event/tenant/events.py              |   2 +-
 .../modules/util/cartridgeagentutils.py         |  75 ++++++----
 .../cartridge.agent/publisher.py                |   4 +-
 11 files changed, 250 insertions(+), 149 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/a242b52b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py
index 6b81dff..7f95f26 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py
@@ -30,12 +30,10 @@ from subscriber import EventSubscriber
 class CartridgeAgent(object):
     def __init__(self):
         Config.initialize_config()
-        self.__tenant_context_initialized = False
-        self.__log_publish_manager = None
         self.__terminated = False
         self.__log = LogFactory().get_log(__name__)
 
-        mb_urls = Config.mb_urls
+        mb_urls = Config.mb_urls.split(",")
         mb_uname = Config.mb_username
         mb_pwd = Config.mb_password
 
@@ -87,8 +85,8 @@ class CartridgeAgent(object):
         # Execute start servers extension
         try:
             event_handler.start_server_extension()
-        except Exception as e:
-            self.__log.exception("Error processing start servers event: %s" % e)
+        except Exception as ex:
+            self.__log.exception("Error processing start servers event: %s" % ex)
 
         # check if artifact management is required before publishing instance activated event
         repo_url = Config.repo_url
@@ -107,21 +105,22 @@ class CartridgeAgent(object):
             event_handler.volume_mount_extension(persistence_mapping_payload)
 
         # start log publishing thread
+        log_publish_manager = None
         if DataPublisherConfiguration.get_instance().enabled:
             log_file_paths = Config.log_file_paths
             if log_file_paths is None:
                 self.__log.exception("No valid log file paths found, no logs will be published")
             else:
                 self.__log.debug("Starting Log Publisher Manager: [Log file paths] %s" % ", ".join(log_file_paths))
-                self.__log_publish_manager = LogPublisherManager(log_file_paths)
-                self.__log_publish_manager.start()
+                log_publish_manager = LogPublisherManager(log_file_paths)
+                log_publish_manager.start()
 
         # run until terminated
         while not self.__terminated:
             time.sleep(5)
 
         if DataPublisherConfiguration.get_instance().enabled:
-            self.__log_publish_manager.terminate_all_publishers()
+            log_publish_manager.terminate_all_publishers()
 
     def terminate(self):
         """
@@ -134,9 +133,10 @@ class CartridgeAgent(object):
     def register_instance_topic_listeners(self):
         self.__log.debug("Starting instance notifier event message receiver thread")
 
-        self.__inst_topic_subscriber.register_handler("ArtifactUpdatedEvent", self.on_artifact_updated)
-        self.__inst_topic_subscriber.register_handler("InstanceCleanupMemberEvent", self.on_instance_cleanup_member)
-        self.__inst_topic_subscriber.register_handler("InstanceCleanupClusterEvent", self.on_instance_cleanup_cluster)
+        self.__inst_topic_subscriber.register_handler("ArtifactUpdatedEvent", Handlers.on_artifact_updated)
+        self.__inst_topic_subscriber.register_handler("InstanceCleanupMemberEvent", Handlers.on_instance_cleanup_member)
+        self.__inst_topic_subscriber.register_handler(
+            "InstanceCleanupClusterEvent", Handlers.on_instance_cleanup_cluster)
 
         self.__inst_topic_subscriber.start()
         self.__log.info("Instance notifier event message receiver thread started")
@@ -148,13 +148,13 @@ class CartridgeAgent(object):
     def register_topology_event_listeners(self):
         self.__log.debug("Starting topology event message receiver thread")
 
-        self.__topology_event_subscriber.register_handler("MemberActivatedEvent", self.on_member_activated)
-        self.__topology_event_subscriber.register_handler("MemberTerminatedEvent", self.on_member_terminated)
-        self.__topology_event_subscriber.register_handler("MemberSuspendedEvent", self.on_member_suspended)
-        self.__topology_event_subscriber.register_handler("CompleteTopologyEvent", self.on_complete_topology)
-        self.__topology_event_subscriber.register_handler("MemberStartedEvent", self.on_member_started)
-        self.__topology_event_subscriber.register_handler("MemberCreatedEvent", self.on_member_created)
-        self.__topology_event_subscriber.register_handler("MemberInitializedEvent", self.on_member_initialized)
+        self.__topology_event_subscriber.register_handler("MemberActivatedEvent", Handlers.on_member_activated)
+        self.__topology_event_subscriber.register_handler("MemberTerminatedEvent", Handlers.on_member_terminated)
+        self.__topology_event_subscriber.register_handler("MemberSuspendedEvent", Handlers.on_member_suspended)
+        self.__topology_event_subscriber.register_handler("CompleteTopologyEvent", Handlers.on_complete_topology)
+        self.__topology_event_subscriber.register_handler("MemberStartedEvent", Handlers.on_member_started)
+        self.__topology_event_subscriber.register_handler("MemberCreatedEvent", Handlers.on_member_created)
+        self.__topology_event_subscriber.register_handler("MemberInitializedEvent", Handlers.on_member_initialized)
 
         self.__topology_event_subscriber.start()
         self.__log.info("Cartridge agent topology receiver thread started")
@@ -166,11 +166,11 @@ class CartridgeAgent(object):
     def register_tenant_event_listeners(self):
         self.__log.debug("Starting tenant event message receiver thread")
         self.__tenant_topic_subscriber.register_handler("DomainMappingAddedEvent",
-                                                        self.on_domain_mapping_added)
+                                                        Handlers.on_domain_mapping_added)
         self.__tenant_topic_subscriber.register_handler("DomainsMappingRemovedEvent",
-                                                        self.on_domain_mapping_removed)
-        self.__tenant_topic_subscriber.register_handler("CompleteTenantEvent", self.on_complete_tenant)
-        self.__tenant_topic_subscriber.register_handler("TenantSubscribedEvent", self.on_tenant_subscribed)
+                                                        Handlers.on_domain_mapping_removed)
+        self.__tenant_topic_subscriber.register_handler("CompleteTenantEvent", Handlers.on_complete_tenant)
+        self.__tenant_topic_subscriber.register_handler("TenantSubscribedEvent", Handlers.on_tenant_subscribed)
 
         self.__tenant_topic_subscriber.start()
         self.__log.info("Tenant event message receiver thread started")
@@ -182,7 +182,7 @@ class CartridgeAgent(object):
     def register_application_signup_event_listeners(self):
         self.__log.debug("Starting application signup event message receiver thread")
         self.__app_topic_subscriber.register_handler("ApplicationSignUpRemovedEvent",
-                                                     self.on_application_signup_removed)
+                                                     Handlers.on_application_signup_removed)
 
         self.__app_topic_subscriber.start()
         self.__log.info("Application signup event message receiver thread started")
@@ -191,18 +191,36 @@ class CartridgeAgent(object):
         while not self.__app_topic_subscriber.is_subscribed():
             time.sleep(1)
 
-    def on_artifact_updated(self, msg):
+    def wait_for_complete_topology(self):
+        while not TopologyContext.topology.initialized:
+            self.__log.info("Waiting for complete topology event...")
+            time.sleep(5)
+        self.__log.info("Complete topology event received")
+
+
+class Handlers(object):
+    """
+    Handler methods for message broker events
+    """
+
+    __log = LogFactory().get_log(__name__)
+    __tenant_context_initialized = False
+
+    @staticmethod
+    def on_artifact_updated(msg):
         event_obj = ArtifactUpdatedEvent.create_from_json(msg.payload)
         event_handler.on_artifact_updated_event(event_obj)
 
-    def on_instance_cleanup_member(self, msg):
+    @staticmethod
+    def on_instance_cleanup_member(msg):
         member_in_payload = Config.member_id
         event_obj = InstanceCleanupMemberEvent.create_from_json(msg.payload)
         member_in_event = event_obj.member_id
         if member_in_payload == member_in_event:
             event_handler.on_instance_cleanup_member_event()
 
-    def on_instance_cleanup_cluster(self, msg):
+    @staticmethod
+    def on_instance_cleanup_cluster(msg):
         event_obj = InstanceCleanupClusterEvent.create_from_json(msg.payload)
         cluster_in_payload = Config.cluster_id
         cluster_in_event = event_obj.cluster_id
@@ -212,11 +230,13 @@ class CartridgeAgent(object):
         if cluster_in_event == cluster_in_payload and instance_in_payload == instance_in_event:
             event_handler.on_instance_cleanup_cluster_event()
 
-    def on_member_created(self, msg):
-        self.__log.debug("Member created event received: %r" % msg.payload)
+    @staticmethod
+    def on_member_created(msg):
+        Handlers.__log.debug("Member created event received: %r" % msg.payload)
 
-    def on_member_initialized(self, msg):
-        self.__log.debug("Member initialized event received: %r" % msg.payload)
+    @staticmethod
+    def on_member_initialized(msg):
+        Handlers.__log.debug("Member initialized event received: %r" % msg.payload)
         event_obj = MemberInitializedEvent.create_from_json(msg.payload)
 
         if not TopologyContext.topology.initialized:
@@ -224,84 +244,88 @@ class CartridgeAgent(object):
 
         event_handler.on_member_initialized_event(event_obj)
 
-    def on_member_activated(self, msg):
-        self.__log.debug("Member activated event received: %r" % msg.payload)
+    @staticmethod
+    def on_member_activated(msg):
+        Handlers.__log.debug("Member activated event received: %r" % msg.payload)
         if not TopologyContext.topology.initialized:
             return
 
         event_obj = MemberActivatedEvent.create_from_json(msg.payload)
         event_handler.on_member_activated_event(event_obj)
 
-    def on_member_terminated(self, msg):
-        self.__log.debug("Member terminated event received: %r" % msg.payload)
+    @staticmethod
+    def on_member_terminated(msg):
+        Handlers.__log.debug("Member terminated event received: %r" % msg.payload)
         if not TopologyContext.topology.initialized:
             return
 
         event_obj = MemberTerminatedEvent.create_from_json(msg.payload)
         event_handler.on_member_terminated_event(event_obj)
 
-    def on_member_suspended(self, msg):
-        self.__log.debug("Member suspended event received: %r" % msg.payload)
+    @staticmethod
+    def on_member_suspended(msg):
+        Handlers.__log.debug("Member suspended event received: %r" % msg.payload)
         if not TopologyContext.topology.initialized:
             return
 
         event_obj = MemberSuspendedEvent.create_from_json(msg.payload)
         event_handler.on_member_suspended_event(event_obj)
 
-    def on_complete_topology(self, msg):
+    @staticmethod
+    def on_complete_topology(msg):
         event_obj = CompleteTopologyEvent.create_from_json(msg.payload)
         TopologyContext.update(event_obj.topology)
         if not TopologyContext.topology.initialized:
-            self.__log.info("Topology initialized from complete topology event")
+            Handlers.__log.info("Topology initialized from complete topology event")
             TopologyContext.topology.initialized = True
             event_handler.on_complete_topology_event(event_obj)
 
-        self.__log.debug("Topology context updated with [topology] %r" % event_obj.topology.json_str)
+        Handlers.__log.debug("Topology context updated with [topology] %r" % event_obj.topology.json_str)
 
-    def on_member_started(self, msg):
-        self.__log.debug("Member started event received: %r" % msg.payload)
+    @staticmethod
+    def on_member_started(msg):
+        Handlers.__log.debug("Member started event received: %r" % msg.payload)
         if not TopologyContext.topology.initialized:
             return
 
         event_obj = MemberStartedEvent.create_from_json(msg.payload)
         event_handler.on_member_started_event(event_obj)
 
-    def on_domain_mapping_added(self, msg):
-        self.__log.debug("Subscription domain added event received : %r" % msg.payload)
+    @staticmethod
+    def on_domain_mapping_added(msg):
+        Handlers.__log.debug("Subscription domain added event received : %r" % msg.payload)
         event_obj = DomainMappingAddedEvent.create_from_json(msg.payload)
         event_handler.on_domain_mapping_added_event(event_obj)
 
-    def on_domain_mapping_removed(self, msg):
-        self.__log.debug("Subscription domain removed event received : %r" % msg.payload)
+    @staticmethod
+    def on_domain_mapping_removed(msg):
+        Handlers.__log.debug("Subscription domain removed event received : %r" % msg.payload)
         event_obj = DomainMappingRemovedEvent.create_from_json(msg.payload)
         event_handler.on_domain_mapping_removed_event(event_obj)
 
-    def on_complete_tenant(self, msg):
+    @staticmethod
+    def on_complete_tenant(msg):
         event_obj = CompleteTenantEvent.create_from_json(msg.payload)
         TenantContext.update(event_obj.tenants)
-        if not self.__tenant_context_initialized:
-            self.__log.info("Tenant context initialized from complete tenant event")
-            self.__tenant_context_initialized = True
+        if not Handlers.__tenant_context_initialized:
+            Handlers.__log.info("Tenant context initialized from complete tenant event")
+            Handlers.__tenant_context_initialized = True
             event_handler.on_complete_tenant_event(event_obj)
 
-        self.__log.debug("Tenant context updated with [tenant list] %r" % event_obj.tenant_list_json)
+        Handlers.__log.debug("Tenant context updated with [tenant list] %r" % event_obj.tenant_list_json)
 
-    def on_tenant_subscribed(self, msg):
-        self.__log.debug("Tenant subscribed event received: %r" % msg.payload)
+    @staticmethod
+    def on_tenant_subscribed(msg):
+        Handlers.__log.debug("Tenant subscribed event received: %r" % msg.payload)
         event_obj = TenantSubscribedEvent.create_from_json(msg.payload)
         event_handler.on_tenant_subscribed_event(event_obj)
 
-    def on_application_signup_removed(self, msg):
-        self.__log.debug("Application signup removed event received: %r" % msg.payload)
+    @staticmethod
+    def on_application_signup_removed(msg):
+        Handlers.__log.debug("Application signup removed event received: %r" % msg.payload)
         event_obj = ApplicationSignUpRemovedEvent.create_from_json(msg.payload)
         event_handler.on_application_signup_removed_event(event_obj)
 
-    def wait_for_complete_topology(self):
-        while not TopologyContext.topology.initialized:
-            self.__log.info("Waiting for complete topology event...")
-            time.sleep(5)
-        self.__log.info("Complete topology event received")
-
 
 if __name__ == "__main__":
     log = LogFactory().get_log(__name__)

http://git-wip-us.apache.org/repos/asf/stratos/blob/a242b52b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
index f1a70ec..72fc5e2 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
@@ -22,7 +22,7 @@ import sys
 from yapsy.PluginManager import PluginManager
 
 from modules.util.log import LogFactory
-from exception import ParameterNotFoundException
+from exception import ParameterNotFoundException, InvalidConfigValueException
 import constants
 from plugins.contracts import ICartridgeAgentPlugin, IArtifactCommitPlugin, IArtifactCheckoutPlugin, \
     IHealthStatReaderPlugin
@@ -148,6 +148,18 @@ class Config:
     """ :type : str """
     mb_publisher_timeout = None
     """ :type : int """
+    cep_username = None
+    """ :type : str """
+    cep_password = None
+    """ :type : str """
+    cep_urls = []
+    """ :type : list """
+    artifact_clone_retry_count = None
+    """ :type : str """
+    artifact_clone_retry_interval = None
+    """ :type : str """
+    port_check_timeout = None
+    """ :type : str """
 
     @staticmethod
     def read_conf_file():
@@ -351,8 +363,29 @@ class Config:
 
             Config.mb_username = Config.read_property(constants.MB_USERNAME, False)
             Config.mb_password = Config.read_property(constants.MB_PASSWORD, False)
-            Config.mb_urls = Config.read_property(constants.MB_URLS).split(",")
+            Config.mb_urls = Config.read_property(constants.MB_URLS)
             Config.mb_publisher_timeout = int(Config.read_property(constants.MB_PUBLISHER_TIMEOUT))
+
+            Config.cep_username = Config.read_property(constants.CEP_SERVER_ADMIN_USERNAME)
+            Config.cep_password = Config.read_property(constants.CEP_SERVER_ADMIN_PASSWORD)
+            Config.cep_urls = Config.read_property(constants.CEP_RECEIVER_URLS)
+
+            try:
+                Config.artifact_clone_retry_count = Config.read_property(constants.ARTIFACT_CLONE_RETRIES)
+            except ParameterNotFoundException:
+                Config.artifact_clone_retry_count = "5"
+
+            try:
+                Config.artifact_clone_retry_interval = Config.read_property(constants.ARTIFACT_CLONE_INTERVAL)
+            except ParameterNotFoundException:
+                Config.artifact_clone_retry_interval = "10"
+
+            try:
+                Config.port_check_timeout = Config.read_property(constants.PORT_CHECK_TIMEOUT)
+            except ParameterNotFoundException:
+                Config.port_check_timeout = "600000"
+
+            Config.validate_config()
         except ParameterNotFoundException as ex:
             raise RuntimeError(ex)
 
@@ -381,6 +414,52 @@ class Config:
         Config.extension_executor = Config.initialize_extensions()
 
     @staticmethod
+    def validate_config():
+        try:
+            Config.validate_url_list(Config.mb_urls, constants.MB_URLS)
+            Config.validate_int(Config.mb_publisher_timeout, constants.MB_PUBLISHER_TIMEOUT)
+            Config.validate_url_list(Config.cep_urls, constants.CEP_RECEIVER_URLS)
+            Config.validate_int(Config.artifact_update_interval, constants.ARTIFACT_UPDATE_INTERVAL)
+            Config.validate_int(Config.artifact_clone_retry_count, constants.ARTIFACT_CLONE_RETRIES)
+            Config.validate_int(Config.artifact_clone_retry_interval, constants.ARTIFACT_CLONE_INTERVAL)
+            Config.validate_int(Config.port_check_timeout, constants.PORT_CHECK_TIMEOUT)
+        except ValueError as err:
+            raise InvalidConfigValueException("Invalid configuration for Cartridge Agent", err)
+
+    @staticmethod
+    def validate_url_list(urls, field_name):
+        """
+        host1:port1,host2:port2
+
+        :param urls:
+        :param field_name:
+        :return:
+        """
+        url_list = str(urls).split(",")
+        if len(url_list) < 1:
+            raise ValueError("Invalid value [field] \"%s\"" % field_name)
+
+        for single_url in url_list:
+            try:
+                url_ip, url_port = single_url.split(":")
+            except ValueError:
+                raise ValueError("Invalid host or port number value for [field] %s", field_name)
+
+    @staticmethod
+    def validate_int(int_value, field_name):
+        """
+        valid integer value
+
+        :param int_value:
+        :param field_name:
+        :return:
+        """
+        try:
+            int(int_value)
+        except ValueError:
+            raise ValueError("Invalid int value for [field] %s " % field_name)
+
+    @staticmethod
     def initialize_plugins():
         """ Find, load, activate and group plugins for Python CA
         :return: a tuple of (PluginManager, plugins, artifact management plugins)

http://git-wip-us.apache.org/repos/asf/stratos/blob/a242b52b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/exception.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/exception.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/exception.py
index 1586c4d..345efee 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/exception.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/exception.py
@@ -21,17 +21,8 @@ class CartridgeAgentException(Exception):
     Exception super class to be used by specific exceptions thrown in the cartridge agent
     """
 
-    def __init__(self, message):
-        super(CartridgeAgentException, self).__init__(message)
-        self.__message = message
-
-    def get_message(self):
-        """
-        The message provided when the exception is raised
-        :return: message
-        :rtype: str
-        """
-        return self.__message
+    def __init__(self, *args, **kwargs):
+        Exception.__init__(self, *args, **kwargs)
 
 
 class DataPublisherException(CartridgeAgentException):
@@ -39,8 +30,8 @@ class DataPublisherException(CartridgeAgentException):
     Exception to be used during log publishing operations
     """
 
-    def __init__(self, message):
-        super(DataPublisherException, self).__init__(message)
+    def __init__(self, *args, **kwargs):
+        CartridgeAgentException.__init__(self, *args, **kwargs)
 
 
 class PluginExecutionException(CartridgeAgentException):
@@ -48,8 +39,8 @@ class PluginExecutionException(CartridgeAgentException):
     Exception raised when a runtime error is met while executing an plugin script
     """
 
-    def __init__(self, message):
-        super(PluginExecutionException, self).__init__(message)
+    def __init__(self, *args, **kwargs):
+        CartridgeAgentException.__init__(self, *args, **kwargs)
 
 
 class GitRepositorySynchronizationException(CartridgeAgentException):
@@ -57,8 +48,8 @@ class GitRepositorySynchronizationException(CartridgeAgentException):
     Exception raised during a git repository related task
     """
 
-    def __init__(self, message):
-        super(GitRepositorySynchronizationException, self).__init__(message)
+    def __init__(self, *args, **kwargs):
+        CartridgeAgentException.__init__(self, *args, **kwargs)
 
 
 class ParameterNotFoundException(CartridgeAgentException):
@@ -67,8 +58,8 @@ class ParameterNotFoundException(CartridgeAgentException):
     of the cartridge agent
     """
 
-    def __init__(self, message):
-        super(ParameterNotFoundException, self).__init__(message)
+    def __init__(self, *args, **kwargs):
+        CartridgeAgentException.__init__(self, *args, **kwargs)
 
 
 class ThriftReceiverOfflineException(CartridgeAgentException):
@@ -76,8 +67,8 @@ class ThriftReceiverOfflineException(CartridgeAgentException):
     Exception raised when the connection to the Thrift receiver is dropped when publishing events
     """
 
-    def __init__(self, message):
-        super(ThriftReceiverOfflineException, self).__init__(message)
+    def __init__(self, *args, **kwargs):
+        CartridgeAgentException.__init__(self, *args, **kwargs)
 
 
 class CEPPublisherException(CartridgeAgentException):
@@ -85,5 +76,14 @@ class CEPPublisherException(CartridgeAgentException):
     Exception to be used during CEP publishing operations
     """
 
-    def __init__(self, message):
-        super(CEPPublisherException, self).__init__(message)
+    def __init__(self, *args, **kwargs):
+        CartridgeAgentException.__init__(self, *args, **kwargs)
+
+
+class InvalidConfigValueException(CartridgeAgentException):
+    """
+    Exception to be used when validating agent configuration
+    """
+
+    def __init__(self, *args, **kwargs):
+        CartridgeAgentException.__init__(self, *args, **kwargs)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/a242b52b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py
index 71f2894..2005537 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py
@@ -62,7 +62,7 @@ class HealthStatisticsPublisherManager(Thread):
 
                 self.log.debug("Publishing load average: %r" % cartridge_stats.load_avg)
                 self.publisher.publish_load_average(cartridge_stats.load_avg)
-            except Exception as e:
+            except Exception:
                 self.log.exception(
                     "Couldn't publish health statistics to CEP. Thrift Receiver offline. Reconnecting...")
                 self.publisher = HealthStatisticsPublisher()
@@ -76,33 +76,17 @@ class HealthStatisticsPublisher:
     """
     log = LogFactory().get_log(__name__)
 
-    @staticmethod
-    def read_config(conf_key):
-        """
-        Read a given key from the cartridge agent configuration
-        :param conf_key: The key to look for in the CA config
-        :return: The value for the key from the CA config
-        :raise: RuntimeError if the given key is not found in the CA config
-        """
-        conf_value = Config.read_property(conf_key, False)
-
-        if conf_value is None or conf_value.strip() == "":
-            raise RuntimeError("System property not found: " + conf_key)
-
-        return conf_value
-
     def __init__(self):
 
         self.publishers = []
         self.deactive_publishers = []
-        self.cep_admin_username = HealthStatisticsPublisher.read_config(constants.CEP_SERVER_ADMIN_USERNAME)
-        self.cep_admin_password = HealthStatisticsPublisher.read_config(constants.CEP_SERVER_ADMIN_PASSWORD)
+        self.cep_admin_username = Config.cep_username
+        self.cep_admin_password = Config.cep_password
         self.stream_definition = HealthStatisticsPublisher.create_stream_definition()
         HealthStatisticsPublisher.log.debug("Stream definition created: %r" % str(self.stream_definition))
 
         # 1.1.1.1:1883,2.2.2.2:1883
-        cep_urls = HealthStatisticsPublisher.read_config(constants.CEP_RECEIVER_URLS)
-        cep_urls = cep_urls.split(',')
+        cep_urls = Config.cep_urls.split(',')
         for cep_url in cep_urls:
 
             cep_active = self.is_cep_active(cep_url)
@@ -207,14 +191,10 @@ class HealthStatisticsPublisher:
         return true if active
         :param cep_url:
         """
-        ports = []
         cep_ip = cep_url.split(':')[0]
         cep_port = cep_url.split(':')[1]
-        ports.append(cep_port)
 
-        cep_active = cartridgeagentutils.check_ports_active(
-            cep_ip,
-            ports)
+        cep_active = cartridgeagentutils.check_port_active(cep_ip, cep_port)
 
         return cep_active
 
@@ -229,8 +209,8 @@ class HealthStatisticsPublisher:
             except Exception as ex:
                 raise ThriftReceiverOfflineException(ex)
 
-        deactive_ceps = self.deactive_publishers
-        for cep_url in deactive_ceps:
+        inactive_ceps = self.deactive_publishers
+        for cep_url in inactive_ceps:
             cep_active = self.is_cep_active(cep_url)
             if cep_active:
                 self.add_publishers(cep_url)

http://git-wip-us.apache.org/repos/asf/stratos/blob/a242b52b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/logpublisher.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/logpublisher.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/logpublisher.py
index e7ab1c7..b9f5d63 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/logpublisher.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/logpublisher.py
@@ -145,7 +145,7 @@ class LogPublisherManager(Thread):
         ports_active = cartridgeagentutils.wait_until_ports_active(
             DataPublisherConfiguration.get_instance().monitoring_server_ip,
             self.ports,
-            int(Config.read_property("port.check.timeout", critical=False)))
+            int(Config.port_check_timeout))
 
         if not ports_active:
             self.log.debug("Monitoring server is not active")

http://git-wip-us.apache.org/repos/asf/stratos/blob/a242b52b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
index 2170a33..15d3733 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
@@ -168,8 +168,8 @@ class AgentGitHandler:
         """
         git_clone_successful = False
         # Read properties from agent.conf
-        max_retry_attempts = int(Config.read_property(constants.ARTIFACT_CLONE_RETRIES, 5))
-        retry_interval = int(Config.read_property(constants.ARTIFACT_CLONE_INTERVAL, 10))
+        max_retry_attempts = int(Config.artifact_clone_retry_count)
+        retry_interval = int(Config.artifact_clone_retry_interval)
         retry_attempts = 0
 
         # Iterate until git clone is successful or reaches max retry attempts

http://git-wip-us.apache.org/repos/asf/stratos/blob/a242b52b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/application/signup/events.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/application/signup/events.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/application/signup/events.py
index f44dd04..13bb680 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/application/signup/events.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/application/signup/events.py
@@ -27,7 +27,6 @@ class ApplicationSignUpAddedEvent:
         self.clusterIds = None
         """ :type : list[str]  """
 
-
     @staticmethod
     def create_from_json(json_str):
         json_obj = json.loads(json_str)
@@ -49,7 +48,6 @@ class ApplicationSignUpRemovedEvent:
         self.clusterIds = None
         """ :type : list[str]  """
 
-
     @staticmethod
     def create_from_json(json_str):
         json_obj = json.loads(json_str)
@@ -59,4 +57,3 @@ class ApplicationSignUpRemovedEvent:
         app_signup_removed.tenantId = json_obj["tenantId"] if "tenantId" in json_obj else None
 
         return app_signup_removed
-

http://git-wip-us.apache.org/repos/asf/stratos/blob/a242b52b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/instance/notifier/events.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/instance/notifier/events.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/instance/notifier/events.py
index 41dc133..d19cd0c 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/instance/notifier/events.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/instance/notifier/events.py
@@ -79,4 +79,4 @@ class InstanceCleanupMemberEvent:
         json_obj = json.loads(json_str)
         m_id = json_obj["memberId"] if "memberId" in json_obj else None
 
-        return InstanceCleanupMemberEvent(m_id)
\ No newline at end of file
+        return InstanceCleanupMemberEvent(m_id)

http://git-wip-us.apache.org/repos/asf/stratos/blob/a242b52b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/tenant/events.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/tenant/events.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/tenant/events.py
index 2e287bd..8a49bc2 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/tenant/events.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/tenant/events.py
@@ -84,4 +84,4 @@ class TenantUnsubscribedEvent:
         instance.service_name = json_obj["serviceName"] if "serviceName" in json_obj else None
         instance.cluster_ids = json_obj["clusterIds"] if "clusterIds" in json_obj else None
 
-        return instance
\ No newline at end of file
+        return instance

http://git-wip-us.apache.org/repos/asf/stratos/blob/a242b52b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
index 79bc6c5..e5ad877 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
@@ -24,12 +24,18 @@ import hashlib
 
 from log import LogFactory
 
+BS = 16
+
 log = LogFactory().get_log(__name__)
 
-unpad = lambda s: s[0:-ord(s[-1])]
-current_milli_time = lambda: int(round(time.time() * 1000))
-BS = 16
-pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
+
+def unpad(s): return s[0:-ord(s[-1])]
+
+
+def current_milli_time(): return int(round(time.time() * 1000))
+
+
+def pad(s): return s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
 
 
 def decrypt_password(pass_str, secret):
@@ -77,11 +83,26 @@ def wait_until_ports_active(ip_address, ports, ports_check_timeout=600000):
 
     log.debug("Port check timeout: %s" % ports_check_timeout)
 
-    active = False
+    ports_left = ports
     start_time = current_milli_time()
-    while not active:
+
+    # check ports until all are active or timeout exceeds
+    while True:
         log.info("Waiting for ports to be active: [ip] %s [ports] %s" % (ip_address, ports))
-        active = check_ports_active(ip_address, ports)
+
+        # check each port for activity
+        for checking_port in list(ports_left):
+            port_active = check_port_active(ip_address, checking_port)
+            if port_active:
+                log.debug("Port %s on host %s active" % (checking_port, ip_address))
+                ports_left.remove(checking_port)
+
+        # if no ports are left to check for activity, return
+        if len(ports_left) == 0:
+            log.info("Ports activated: [ip] %r [ports] %r" % (ip_address, ports))
+            return True
+
+        # active = check_ports_active(ip_address, ports)
         end_time = current_milli_time()
         duration = end_time - start_time
 
@@ -92,33 +113,33 @@ def wait_until_ports_active(ip_address, ports, ports_check_timeout=600000):
 
         time.sleep(5)
 
-    log.info("Ports activated: [ip] %r [ports] %r" % (ip_address, ports))
-    return True
-
 
-def check_ports_active(ip_address, ports):
+def check_port_active(ip_address, port):
     """
-    Checks the given list of port addresses for active state
+    Checks the given port on the given host for activity
     :param str ip_address: Ip address of the member to be checked
-    :param list[str] ports: The list of ports to be checked
+    :param str port: The port to be checked
     :return: True if the ports are active, False if at least one is not active
     :rtype: bool
     """
-    if len(ports) < 1:
-        raise RuntimeError("No ports found")
-
-    for port in ports:
-        s = socket.socket()
-        s.settimeout(5)
-        try:
-            s.connect((ip_address, int(port)))
-            log.debug("Port %s is active" % port)
-            s.close()
-        except socket.error:
-            log.debug("Port %s is not active" % port)
-            return False
+    if port is None:
+        raise RuntimeError("Cannot check invalid port for activity")
+
+    try:
+        port_int = int(port)
+    except ValueError:
+        raise RuntimeError("Cannot check invalid port for activity %s" % port)
 
-    return True
+    s = socket.socket()
+    s.settimeout(5)
+    try:
+        s.connect((ip_address, port_int))
+        log.debug("Port %s is active" % port)
+        s.close()
+        return True
+    except socket.error:
+        log.debug("Port %s is not active" % port)
+        return False
 
 
 class IncrementalCeilingListIterator(object):

http://git-wip-us.apache.org/repos/asf/stratos/blob/a242b52b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/publisher.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/publisher.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/publisher.py
index 5b6190e..229c354 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/publisher.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/publisher.py
@@ -71,7 +71,7 @@ def publish_instance_activated_event():
         ports_active = cartridgeagentutils.wait_until_ports_active(
             listen_address,
             configuration_ports,
-            int(Config.read_property("port.check.timeout", critical=False)))
+            int(Config.port_check_timeout))
 
         if ports_active:
             log.info("Publishing instance activated event...")
@@ -226,7 +226,7 @@ class EventPublisher(object):
         while int(time.time()) - self.__start_time < (Config.mb_publisher_timeout * 1000):
             retry_interval = retry_iterator.get_next_retry_interval()
 
-            for mb_url in Config.mb_urls:
+            for mb_url in Config.mb_urls.split(","):
                 mb_ip, mb_port = mb_url.split(":")
 
                 # start a thread to execute publish event


[30/50] [abbrv] stratos git commit: Adding MetadataServiceTestCase as a failed test

Posted by ga...@apache.org.
Adding MetadataServiceTestCase as a failed test


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

Branch: refs/heads/master
Commit: f7f289c9f2e8520531f5d206f57362acfd5b6984
Parents: 74ec780
Author: gayangunarathne <ga...@wso2.com>
Authored: Wed Dec 2 14:05:35 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Wed Dec 2 14:05:35 2015 +0530

----------------------------------------------------------------------
 .../integration/tests/application/MetadataServiceTestCase.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/f7f289c9/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/application/MetadataServiceTestCase.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/application/MetadataServiceTestCase.java b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/application/MetadataServiceTestCase.java
index 5ba3634..2f58695 100644
--- a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/application/MetadataServiceTestCase.java
+++ b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/application/MetadataServiceTestCase.java
@@ -49,7 +49,7 @@ import static org.testng.AssertJUnit.assertTrue;
  * Deploy a sample application on mock IaaS and load test metadata service with high load of concurrent read/write
  * operations from multiple clients
  */
-@Test(groups = { "application", "metadata" })
+@Test(groups = { "application", "metadata", "failed" })
 public class MetadataServiceTestCase extends StratosIntegrationTest {
     private static final Log log = LogFactory.getLog(MetadataServiceTestCase.class);
     private static final String RESOURCES_PATH = "/metadata-service-test";


[20/50] [abbrv] stratos git commit: PCA Live Test - Improved agent log display by removing duplicate log entries

Posted by ga...@apache.org.
PCA Live Test - Improved agent log display by removing duplicate log entries


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

Branch: refs/heads/master
Commit: 7d357546009ee633fa3a5006232f5392dfaf0abb
Parents: d191218
Author: Chamila de Alwis <ch...@apache.org>
Authored: Fri Nov 27 18:05:09 2015 +0530
Committer: Chamila de Alwis <ch...@apache.org>
Committed: Mon Nov 30 19:13:56 2015 +0530

----------------------------------------------------------------------
 .../integration/tests/PythonAgentIntegrationTest.java    | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/7d357546/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
index 08042b7..7f436f6 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/PythonAgentIntegrationTest.java
@@ -311,7 +311,7 @@ public abstract class PythonAgentIntegrationTest {
         Thread communicatorThread = new Thread(new Runnable() {
             @Override
             public void run() {
-                List<String> outputLines = new ArrayList<String>();
+                List<String> outputLines = new ArrayList<>();
                 while (!outputStream.isClosed()) {
                     List<String> newLines = getNewLines(outputLines, outputStream.toString());
                     if (newLines.size() > 0) {
@@ -544,12 +544,13 @@ public abstract class PythonAgentIntegrationTest {
      * @return new lines printed by Python agent process
      */
     protected List<String> getNewLines(List<String> currentOutputLines, String output) {
-        List<String> newLines = new ArrayList<String>();
+        List<String> newLines = new ArrayList<>();
 
         if (StringUtils.isNotBlank(output)) {
-            String[] lines = output.split(NEW_LINE);
-            for (String line : lines) {
-                if (!currentOutputLines.contains(line)) {
+            List<String> lines = Arrays.asList(output.split(NEW_LINE));
+            if (lines.size() > 0) {
+                int readStartIndex = (currentOutputLines.size() > 0) ? currentOutputLines.size() - 1 : 0;
+                for (String line : lines.subList(readStartIndex , lines.size() - 1)) {
                     currentOutputLines.add(line);
                     newLines.add(line);
                 }


[04/50] [abbrv] stratos git commit: Catch a generic Exception in MetadataApi

Posted by ga...@apache.org.
Catch a generic Exception in MetadataApi


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

Branch: refs/heads/master
Commit: 272210bbb9c4df3f2b566b583a0702ff4f728d02
Parents: a9ed3c5
Author: Akila Perera <ra...@gmail.com>
Authored: Mon Nov 30 00:21:10 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Mon Nov 30 00:33:47 2015 +0530

----------------------------------------------------------------------
 .../stratos/metadata/service/api/MetadataApi.java | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/272210bb/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/api/MetadataApi.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/api/MetadataApi.java b/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/api/MetadataApi.java
index 53174e0..053e030 100644
--- a/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/api/MetadataApi.java
+++ b/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/api/MetadataApi.java
@@ -68,7 +68,7 @@ public class MetadataApi {
                 propertiesArr = new Property[properties.size()];
                 propertiesArr = properties.toArray(propertiesArr);
             }
-        } catch (RegistryException e) {
+        } catch (Exception e) {
             String msg = "Error occurred while getting properties ";
             log.error(msg, e);
             throw new RestAPIException(msg, e);
@@ -98,7 +98,7 @@ public class MetadataApi {
                 propertiesArr = new Property[properties.size()];
                 propertiesArr = properties.toArray(propertiesArr);
             }
-        } catch (RegistryException e) {
+        } catch (Exception e) {
             String msg = "Error occurred while getting properties ";
             log.error(msg, e);
             throw new RestAPIException(msg, e);
@@ -133,7 +133,7 @@ public class MetadataApi {
                     break;
                 }
             }
-        } catch (RegistryException e) {
+        } catch (Exception e) {
             String msg = "Error occurred while getting property";
             log.error(msg, e);
             throw new RestAPIException(msg, e);
@@ -169,7 +169,7 @@ public class MetadataApi {
                     break;
                 }
             }
-        } catch (RegistryException e) {
+        } catch (Exception e) {
             String msg = "Error occurred while getting property";
             log.error(msg, e);
             throw new RestAPIException(msg, e);
@@ -194,7 +194,7 @@ public class MetadataApi {
 
         try {
             registry.addPropertyToApplication(applicationId, property);
-        } catch (RegistryException e) {
+        } catch (Exception e) {
             String msg = "Error occurred while adding properties ";
             log.error(msg, e);
             throw new RestAPIException(msg, e);
@@ -212,7 +212,7 @@ public class MetadataApi {
 
         try {
             registry.addPropertyToCluster(applicationId, clusterId, property);
-        } catch (RegistryException e) {
+        } catch (Exception e) {
             String msg = "Error occurred while adding properties ";
             log.error(msg, e);
             throw new RestAPIException(msg, e);
@@ -232,7 +232,7 @@ public class MetadataApi {
             if (!deleted) {
                 log.warn(String.format("No metadata is associated with given appId %s", applicationId));
             }
-        } catch (RegistryException e) {
+        } catch (Exception e) {
             String msg = "Resource attached with appId could not be deleted [application-id] " + applicationId;
             log.error(msg, e);
             throw new RestAPIException(msg, e);
@@ -252,7 +252,7 @@ public class MetadataApi {
             if (!deleted) {
                 log.warn(String.format("No metadata is associated with given appId %s", applicationId));
             }
-        } catch (RegistryException e) {
+        } catch (Exception e) {
             String msg = String
                     .format("[application-id] %s [property-name] %s deletion failed ", applicationId, propertyName);
             log.error(msg, e);
@@ -274,7 +274,7 @@ public class MetadataApi {
             if (!deleted) {
                 log.warn(String.format("No metadata is associated with given [application-id] %s", applicationId));
             }
-        } catch (RegistryException e) {
+        } catch (Exception e) {
             String msg = String
                     .format("[application-id] %s [property-name] %s [value] %s deletion failed" + applicationId,
                             propertyName, propertyValue);


[09/50] [abbrv] stratos git commit: Rename default timeout consts

Posted by ga...@apache.org.
Rename default timeout consts


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

Branch: refs/heads/master
Commit: 1284c55b2bf33b14f184b66005e47477269fe07e
Parents: 314020b
Author: Akila Perera <ra...@gmail.com>
Authored: Mon Nov 30 00:28:05 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Mon Nov 30 00:33:48 2015 +0530

----------------------------------------------------------------------
 .../stratos/integration/tests/StratosIntegrationTest.java       | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/1284c55b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/StratosIntegrationTest.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/StratosIntegrationTest.java b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/StratosIntegrationTest.java
index fca858e..7de8020 100644
--- a/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/StratosIntegrationTest.java
+++ b/products/stratos/modules/integration/test-integration/src/test/java/org/apache/stratos/integration/tests/StratosIntegrationTest.java
@@ -34,9 +34,8 @@ public class StratosIntegrationTest {
     protected String stratosSecuredBackendURL;
     protected RestClient restClient;
     protected MockIaasApiClient mockIaasApiClient;
-    public static final int GLOBAL_TEST_TIMEOUT = 5 * 60 * 1000; // 5 mins
-	public static final int IAAS_PROVIDER_TEST_TIMEOUT = 10 * 60 * 1000; // 10 mins
-    public static final int APPLICATION_TEST_TIMEOUT = 25 * 60 * 1000; // 25 mins
+    public static final int DEFAULT_TEST_TIMEOUT = 5 * 60 * 1000; // 5 mins
+    public static final int DEFAULT_APPLICATION_TEST_TIMEOUT = 25 * 60 * 1000; // 25 mins
 
     public StratosIntegrationTest() {
         try {


[41/50] [abbrv] stratos git commit: Refactor the aws lb extension

Posted by ga...@apache.org.
Refactor the aws lb extension


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

Branch: refs/heads/master
Commit: 298428bc4181f2626e7302d94cc16c3dc7cb20a9
Parents: 1e87b40
Author: gayangunarathne <ga...@wso2.com>
Authored: Tue Dec 8 10:41:57 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Tue Dec 8 10:41:57 2015 +0530

----------------------------------------------------------------------
 .../apache/stratos/aws/extension/AWSHelper.java |   9 +-
 .../stratos/aws/extension/AWSLoadBalancer.java  | 259 +++++++++----------
 .../org/apache/stratos/aws/extension/Main.java  |  24 +-
 3 files changed, 136 insertions(+), 156 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/298428bc/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java b/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java
index 8078252..a12fc96 100644
--- a/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java
+++ b/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java
@@ -471,20 +471,17 @@ public class AWSHelper {
     public List<Instance> getAttachedInstances(String loadBalancerName,
                                                String region) {
         try {
-            LoadBalancerDescription lbDescription = getLoadBalancerDescription(
-                    loadBalancerName, region);
+            LoadBalancerDescription lbDescription = getLoadBalancerDescription(loadBalancerName, region);
 
             if (lbDescription == null) {
-                log.warn("Could not find description of load balancer "
-                        + loadBalancerName);
+                log.warn("Could not find description of load balancer "+ loadBalancerName);
                 return null;
             }
 
             return lbDescription.getInstances();
 
         } catch (AmazonClientException e) {
-            log.error("Could not find instances attached  load balancer "
-                    + loadBalancerName, e);
+            log.error("Could not find instances attached  load balancer "+ loadBalancerName, e);
         }
 
         return null;

http://git-wip-us.apache.org/repos/asf/stratos/blob/298428bc/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java b/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
index 62f9882..5cd5556 100644
--- a/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
+++ b/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
@@ -80,63 +80,13 @@ public class AWSLoadBalancer implements LoadBalancer {
                     // Get the load balancer and update it.
 
                     if (log.isDebugEnabled()) {
-                        log.debug("Load balancer for cluster " + cluster.getClusterId() + " is already present.");
+                        log.debug(String.format("Load balancer for cluster %s is already present.", cluster.getClusterId()));
                     }
 
-                    LoadBalancerInfo loadBalancerInfo = clusterIdToLoadBalancerMap.get(cluster.getClusterId());
+	                if(updateExistingLoadBalancer(cluster)){
+		                activeClusters.add(cluster.getClusterId());
+	                }
 
-                    String loadBalancerName = loadBalancerInfo.getName();
-                    String region = loadBalancerInfo.getRegion();
-
-                    // Get all the instances attached - Attach newly added instances to load balancer
-
-                    // attachedInstances list is useful in finding out what are the new instances which
-                    // should be attached to this load balancer.
-                    List<Instance> attachedInstances = awsHelper.getAttachedInstances(loadBalancerName, region);
-
-                    // clusterMembers stores all the members of a cluster.
-                    Collection<Member> clusterMembers = cluster.getMembers();
-
-                    if (clusterMembers.size() > 0) {
-                        activeClusters.add(cluster.getClusterId());
-
-                        List<Instance> instancesToAddToLoadBalancer = new ArrayList<Instance>();
-                        List<String> availabilityZones = new ArrayList<String>();
-
-                        for (Member member : clusterMembers) {
-                            // if instance id of member is not in
-                            // attachedInstances
-                            // add this to instancesToAddToLoadBalancer
-                            Instance instance = new Instance(awsHelper.getAWSInstanceName(member.getInstanceId()));
-
-                            if (attachedInstances == null || !attachedInstances.contains(instance)) {
-                                instancesToAddToLoadBalancer.add(instance);
-
-                                if (log.isDebugEnabled()) {
-                                    log.debug("Instance " + awsHelper.getAWSInstanceName(member.getInstanceId()) +
-                                            " needs to be registered to load balancer " + loadBalancerName);
-                                }
-
-                                // LB Common Member has a property 'EC2_AVAILABILITY_ZONE' points to the ec2 availability zone
-                                // for this member. Use the property value to update the LB about the relevant zone
-                                String availabilityZone = getEC2AvaialbilityZoneOfMember(member);
-                                if (availabilityZone != null) {
-                                    availabilityZones.add(availabilityZone);
-                                }
-                            }
-                        }
-
-                        if (instancesToAddToLoadBalancer.size() > 0) {
-                            awsHelper.registerInstancesToLoadBalancer(
-                                    loadBalancerName,
-                                    instancesToAddToLoadBalancer, region);
-                        }
-
-                        // update LB with the zones
-                        if (!availabilityZones.isEmpty() && !AWSExtensionContext.getInstance().isOperatingInVPC()) {
-                            awsHelper.addAvailabilityZonesForLoadBalancer(loadBalancerName, availabilityZones, region);
-                        }
-                    }
 
                 } else {
                     // Create a new load balancer for this cluster
@@ -161,8 +111,7 @@ public class AWSLoadBalancer implements LoadBalancer {
                         if (initialZones.isEmpty()) {
                             // initial availability zones not defined
                             // use the default (<region>a)
-                            initialAvailabilityZones.add(awsHelper.getAvailabilityZoneFromRegion
-                                    (region));
+                            initialAvailabilityZones.add(awsHelper.getAvailabilityZoneFromRegion(region));
                         } else {
                             // prepend the region and construct the availability zone list with
                             // full names (<region> + <zone>)
@@ -170,98 +119,29 @@ public class AWSLoadBalancer implements LoadBalancer {
                                 initialAvailabilityZones.add(region + zone);
                             }
                         }
+	                    String loadBalancerDNSName =
+			                    createAWSLoadBalancer(loadBalancerName, region, listenersForThisCluster,initialAvailabilityZones);
 
-                        // Returns DNS name of load balancer which was created.
-                        // This is used in the domain mapping of this cluster.
-                        String loadBalancerDNSName = awsHelper.createLoadBalancer(loadBalancerName, listenersForThisCluster,
-                                region, initialAvailabilityZones, AWSExtensionContext.getInstance().isOperatingInVPC());
-
-                        // enable connection draining (default) and cross zone load balancing (if specified in aws-extension.sh)
-                        awsHelper.modifyLBAttributes(loadBalancerName, region, AWSExtensionContext.getInstance().
-                                isCrossZoneLoadBalancingEnabled(), true);
-
-                        // Add the inbound rule the security group of the load balancer
-                        // For each listener, add a new rule with load balancer port as allowed protocol in the security group.
-                        // if security group id is defined, directly use that
-                        for (Listener listener : listenersForThisCluster) {
-                            int port = listener.getLoadBalancerPort();
-
-                            if (awsHelper.getLbSecurityGroupIdDefinedInConfiguration() != null && !awsHelper.
-                                    getLbSecurityGroupIdDefinedInConfiguration().isEmpty())  {
-                                for (String protocol : awsHelper.getAllowedProtocolsForLBSecurityGroup()) {
-                                    awsHelper.addInboundRuleToSecurityGroup(awsHelper.getLbSecurityGroupIdDefinedInConfiguration(),
-                                            region, protocol, port);
-                                }
-                            } else if (awsHelper.getLbSecurityGroupName() != null && !awsHelper
-                                    .getLbSecurityGroupName().isEmpty()) {
-                                for (String protocol : awsHelper.getAllowedProtocolsForLBSecurityGroup()) {
-                                    awsHelper.addInboundRuleToSecurityGroup(awsHelper.getSecurityGroupId(awsHelper
-                                            .getLbSecurityGroupName(), region), region, protocol, port);
-                                }
-                            }
-                        }
-
-                        log.info("Load balancer '" + loadBalancerDNSName + "' created for cluster '" + cluster.getClusterId());
-
-                        // Register instances in the cluster to load balancer
-                        List<Instance> instances = new ArrayList<Instance>();
-                        List<String> availabilityZones = new ArrayList<String>();
-
-                        for (Member member : clusterMembers) {
-                            String instanceId = member.getInstanceId();
-
-                            if (log.isDebugEnabled()) {
-                                log.debug("Instance " + awsHelper.getAWSInstanceName(instanceId) + " needs to be registered to load balancer "
-                                        + loadBalancerName);
-                            }
-
-                            Instance instance = new Instance();
-                            instance.setInstanceId(awsHelper.getAWSInstanceName(instanceId));
 
-                            instances.add(instance);
-                            // LB Common Member has a property 'EC2_AVAILABILITY_ZONE' which points to the ec2 availability
-                            // zone for this member. Use the property value to update the LB about the relevant zone
-                            String availabilityZone = getEC2AvaialbilityZoneOfMember(member);
-                            if (availabilityZone != null) {
-                                availabilityZones.add(availabilityZone);
-                            }
-                        }
+                        log.info(String.format("Load balancer %s  created for cluster %s " , loadBalancerDNSName, cluster.getClusterId()));
 
-                        awsHelper.registerInstancesToLoadBalancer(loadBalancerName, instances, region);
-
-                        // update LB with the zones
-                        if (!availabilityZones.isEmpty() && !AWSExtensionContext.getInstance().isOperatingInVPC()) {
-                            awsHelper.addAvailabilityZonesForLoadBalancer(loadBalancerName, availabilityZones, region);
-                        }
-
-                        // add stickiness policy
-                        if (awsHelper.getAppStickySessionCookie() != null && !awsHelper.getAppStickySessionCookie().isEmpty()) {
-                            CreateAppCookieStickinessPolicyResult result = awsHelper.createStickySessionPolicy(loadBalancerName,
-                                    awsHelper.getAppStickySessionCookie(), Constants.STICKINESS_POLICY, region);
-
-                            if (result != null) {
-                                // Take a single port mapping from a member, and apply the policy for
-                                // the LB Listener port (Proxy port of the port mapping)
-                                awsHelper.applyPolicyToLBListenerPorts(aMember.getPorts(), loadBalancerName,
-                                        Constants.STICKINESS_POLICY, region);
-                            }
-                        }
+	                    if(addClusterMembersInfo(clusterMembers, loadBalancerName, region)){
+		                    activeClusters.add(cluster.getClusterId());
+	                    }
 
                         // persist LB info
                         try {
                             persistenceManager.persist(new LBInfoDTO(loadBalancerName, cluster.getClusterId(), region));
 
                         } catch (PersistenceException e) {
-                            log.error("Unable to persist LB Information for " + loadBalancerName + ", cluster id " +
-                                    cluster.getClusterId());
+	                        log.error(String.format(
+			                        "Unable to persist LB Information for %s , cluster id %s " + loadBalancerName,
+			                        cluster.getClusterId()));
                         }
 
-                        LoadBalancerInfo loadBalancerInfo = new LoadBalancerInfo(
-                                loadBalancerName, region);
+                        LoadBalancerInfo loadBalancerInfo = new LoadBalancerInfo(loadBalancerName, region);
+                        clusterIdToLoadBalancerMap.put(cluster.getClusterId(),loadBalancerInfo);
 
-                        clusterIdToLoadBalancerMap.put(cluster.getClusterId(),
-                                loadBalancerInfo);
-                        activeClusters.add(cluster.getClusterId());
                     }
 
                     pause(3000);
@@ -311,7 +191,111 @@ public class AWSLoadBalancer implements LoadBalancer {
         return true;
     }
 
-    private String getEC2AvaialbilityZoneOfMember(Member member) {
+	private Boolean addClusterMembersInfo(Collection<Member> clusterMembers, String loadBalancerName, String region) {
+		Boolean isUpdated=false;
+		// Register instances in the cluster to load balancer
+		List<Instance> instances = new ArrayList<Instance>();
+		List<String> availabilityZones = new ArrayList<String>();
+
+		for (Member member : clusterMembers) {
+			isUpdated=true;
+		    String instanceId = member.getInstanceId();
+
+		    if (log.isDebugEnabled()) {
+		        log.debug("Instance " + awsHelper.getAWSInstanceName(instanceId) + " needs to be registered to load balancer "
+		                + loadBalancerName);
+		    }
+
+		    Instance instance = new Instance();
+		    instance.setInstanceId(awsHelper.getAWSInstanceName(instanceId));
+
+		    instances.add(instance);
+		    // LB Common Member has a property 'EC2_AVAILABILITY_ZONE' which points to the ec2 availability
+		    // zone for this member. Use the property value to update the LB about the relevant zone
+		    String availabilityZone = getEC2AvaialbilityZoneOfMember(member);
+		    if (availabilityZone != null) {
+		        availabilityZones.add(availabilityZone);
+		    }
+
+			// add stickiness policy
+			if (awsHelper.getAppStickySessionCookie() != null && !awsHelper.getAppStickySessionCookie().isEmpty()) {
+				CreateAppCookieStickinessPolicyResult result = awsHelper.createStickySessionPolicy(loadBalancerName, awsHelper.getAppStickySessionCookie(),
+				                                                                                   Constants.STICKINESS_POLICY,
+				                                                                                   region);
+
+				if (result != null) {
+					// Take a single port mapping from a member, and apply the policy for
+					// the LB Listener port (Proxy port of the port mapping)
+					awsHelper.applyPolicyToLBListenerPorts(member.getPorts(), loadBalancerName,
+					                                       Constants.STICKINESS_POLICY, region);
+				}
+			}
+
+		}
+
+		awsHelper.registerInstancesToLoadBalancer(loadBalancerName, instances, region);
+
+		// update LB with the zones
+		if (!availabilityZones.isEmpty() && !AWSExtensionContext.getInstance().isOperatingInVPC()) {
+		    awsHelper.addAvailabilityZonesForLoadBalancer(loadBalancerName, availabilityZones, region);
+		}
+		return isUpdated;
+	}
+
+	private String createAWSLoadBalancer(String loadBalancerName, String region, List<Listener> listenersForThisCluster,
+	                                     Set<String> initialAvailabilityZones) throws LoadBalancerExtensionException {
+		// Returns DNS name of load balancer which was created.
+		// This is used in the domain mapping of this cluster.
+		String loadBalancerDNSName = awsHelper.createLoadBalancer(loadBalancerName, listenersForThisCluster,
+		        region, initialAvailabilityZones, AWSExtensionContext.getInstance().isOperatingInVPC());
+
+		// enable connection draining (default) and cross zone load balancing (if specified in aws-extension.sh)
+		awsHelper.modifyLBAttributes(loadBalancerName, region, AWSExtensionContext.getInstance().
+		        isCrossZoneLoadBalancingEnabled(), true);
+		// Add the inbound rule the security group of the load balancer
+		// For each listener, add a new rule with load balancer port as allowed protocol in the security group.
+		// if security group id is defined, directly use that
+		for (Listener listener : listenersForThisCluster) {
+			int port = listener.getLoadBalancerPort();
+
+			if (awsHelper.getLbSecurityGroupIdDefinedInConfiguration() != null && !awsHelper.getLbSecurityGroupIdDefinedInConfiguration().isEmpty()) {
+				for (String protocol : awsHelper.getAllowedProtocolsForLBSecurityGroup()) {
+					awsHelper.addInboundRuleToSecurityGroup(awsHelper.getLbSecurityGroupIdDefinedInConfiguration(),
+					                                        region, protocol, port);
+				}
+			} else if (awsHelper.getLbSecurityGroupName() != null && !awsHelper
+					.getLbSecurityGroupName().isEmpty()) {
+				for (String protocol : awsHelper.getAllowedProtocolsForLBSecurityGroup()) {
+					awsHelper.addInboundRuleToSecurityGroup(awsHelper.getSecurityGroupId(awsHelper.getLbSecurityGroupName(),region), region, protocol,port);
+				}
+			}
+		}
+
+		return loadBalancerDNSName;
+	}
+
+	private Boolean updateExistingLoadBalancer(Cluster cluster) {
+		Boolean isUpdated=false;
+		LoadBalancerInfo loadBalancerInfo = clusterIdToLoadBalancerMap.get(cluster.getClusterId());
+
+		String loadBalancerName = loadBalancerInfo.getName();
+		String region = loadBalancerInfo.getRegion();
+
+		// Get all the instances attached - Attach newly added instances to load balancer
+
+		// attachedInstances list is useful in finding out what are the new instances which
+		// should be attached to this load balancer.
+		List<Instance> attachedInstances = awsHelper.getAttachedInstances(loadBalancerName, region);
+
+		// clusterMembers stores all the members of a cluster.
+		Collection<Member> clusterMembers = cluster.getMembers();
+
+		isUpdated= addClusterMembersInfo(clusterMembers, loadBalancerName, region);
+
+		return isUpdated;
+	}
+
+	private String getEC2AvaialbilityZoneOfMember(Member member) {
         if (member.getProperties() != null) {
             return member.getProperties().getProperty(Constants.EC2_AVAILABILITY_ZONE_PROPERTY);
         }
@@ -324,7 +308,6 @@ public class AWSLoadBalancer implements LoadBalancer {
      * nothing but logs the message.
      */
     public void start() throws LoadBalancerExtensionException {
-
         log.info("AWS load balancer extension started.");
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/298428bc/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/Main.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/Main.java b/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/Main.java
index 73fa971..80b6481 100644
--- a/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/Main.java
+++ b/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/Main.java
@@ -25,6 +25,7 @@ import org.apache.log4j.PropertyConfigurator;
 import org.apache.stratos.common.threading.StratosThreadPool;
 import org.apache.stratos.load.balancer.common.topology.TopologyProvider;
 import org.apache.stratos.load.balancer.extension.api.LoadBalancerExtension;
+import org.apache.stratos.load.balancer.extension.api.exception.LoadBalancerExtensionException;
 
 import java.util.concurrent.ExecutorService;
 
@@ -34,6 +35,8 @@ import java.util.concurrent.ExecutorService;
 
 public class Main {
 	private static final Log log = LogFactory.getLog(Main.class);
+	public static final String AWS_EXTENSION_THREAD_POOL = "aws.extension.thread.pool";
+	public static final int THREAD_POOL_SIZE = 10;
 	private static ExecutorService executorService;
 
 	public static void main(String[] args) {
@@ -41,23 +44,20 @@ public class Main {
 		LoadBalancerExtension extension = null;
 		try {
 			// Configure log4j properties
-			PropertyConfigurator.configure(System
-					.getProperty("log4j.properties.file.path"));
+			PropertyConfigurator.configure(System.getProperty("log4j.properties.file.path"));
 
 			if (log.isInfoEnabled()) {
 				log.info("AWS extension started");
 			}
 
-			executorService = StratosThreadPool.getExecutorService(
-					"aws.extension.thread.pool", 10);
+			executorService = StratosThreadPool.getExecutorService(AWS_EXTENSION_THREAD_POOL, THREAD_POOL_SIZE);
 			// Validate runtime parameters
 			AWSExtensionContext.getInstance().validate();
 			TopologyProvider topologyProvider = new TopologyProvider();
-			AWSStatisticsReader statisticsReader = AWSExtensionContext
-					.getInstance().isCEPStatsPublisherEnabled() ? new AWSStatisticsReader(
-					topologyProvider) : null;
-			extension = new LoadBalancerExtension(new AWSLoadBalancer(),
-					statisticsReader, topologyProvider);
+			AWSStatisticsReader statisticsReader =
+					AWSExtensionContext.getInstance().isCEPStatsPublisherEnabled() ? new AWSStatisticsReader(
+							topologyProvider) : null;
+			extension = new LoadBalancerExtension(new AWSLoadBalancer(), statisticsReader, topologyProvider);
 			extension.setExecutorService(executorService);
 			extension.execute();
 
@@ -68,7 +68,7 @@ public class Main {
 				public void run() {
 					try {
 						if (finalExtension != null) {
-							log.info("Shutting aws extension...");
+							log.info("Shutting aws LB extension...");
 							finalExtension.stop();
 						}
 						mainThread.join();
@@ -77,9 +77,9 @@ public class Main {
 					}
 				}
 			});
-		} catch (Exception e) {
+		} catch (LoadBalancerExtensionException e) {
 			if (log.isErrorEnabled()) {
-				log.error(e);
+				log.error("Error occurred while running the aws lb extension");
 			}
 			if (extension != null) {
 				log.info("Shutting aws extension...");


[34/50] [abbrv] stratos git commit: Merge branch 'stratos-4.1.x' of https://github.com/R-Rajkumar/stratos into stratos-4.1.x

Posted by ga...@apache.org.
Merge branch 'stratos-4.1.x' of https://github.com/R-Rajkumar/stratos into stratos-4.1.x


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

Branch: refs/heads/master
Commit: a6665bb90543aba3991341325953375a18116163
Parents: b330694 02c17e4
Author: rajkumar <rr...@gmail.com>
Authored: Sun Dec 6 09:35:06 2015 +0530
Committer: rajkumar <rr...@gmail.com>
Committed: Sun Dec 6 09:35:06 2015 +0530

----------------------------------------------------------------------
 .../cep/modules/distribution/src/assembly/bin.xml   | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
----------------------------------------------------------------------



[15/50] [abbrv] stratos git commit: This closes #497 on GitHub

Posted by ga...@apache.org.
This closes #497 on GitHub


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

Branch: refs/heads/master
Commit: e722ff3049ebd244d064dda94c8d5c286ff4308f
Parents: 7cf63b3
Author: Imesh Gunaratne <im...@apache.org>
Authored: Mon Nov 30 13:54:52 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Mon Nov 30 13:54:52 2015 +0530

----------------------------------------------------------------------

----------------------------------------------------------------------



[24/50] [abbrv] stratos git commit: Adding cep extension jars to distribution

Posted by ga...@apache.org.
Adding cep extension jars to distribution


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

Branch: refs/heads/master
Commit: e129b807df26cf73db74a5adffeb5b2908993aba
Parents: 994255e
Author: Thanuja <th...@wso2.com>
Authored: Mon Nov 30 01:46:11 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Tue Dec 1 08:57:54 2015 +0530

----------------------------------------------------------------------
 extensions/cep/modules/distribution/pom.xml              | 10 ++++++++++
 extensions/cep/modules/distribution/src/assembly/bin.xml |  9 +++++++++
 extensions/cep/pom.xml                                   |  2 +-
 pom.xml                                                  | 10 ++++++++++
 4 files changed, 30 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/e129b807/extensions/cep/modules/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/cep/modules/distribution/pom.xml b/extensions/cep/modules/distribution/pom.xml
index cb9e874..1b2fbc5 100644
--- a/extensions/cep/modules/distribution/pom.xml
+++ b/extensions/cep/modules/distribution/pom.xml
@@ -63,4 +63,14 @@
             </build>
         </profile>
     </profiles>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.stratos</groupId>
+            <artifactId>org.apache.stratos.cep300.extension</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.stratos</groupId>
+            <artifactId>org.apache.stratos.cep.310.extension</artifactId>
+        </dependency>
+    </dependencies>
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/e129b807/extensions/cep/modules/distribution/src/assembly/bin.xml
----------------------------------------------------------------------
diff --git a/extensions/cep/modules/distribution/src/assembly/bin.xml b/extensions/cep/modules/distribution/src/assembly/bin.xml
index 509a6e2..8706de0 100755
--- a/extensions/cep/modules/distribution/src/assembly/bin.xml
+++ b/extensions/cep/modules/distribution/src/assembly/bin.xml
@@ -56,4 +56,13 @@
             <fileMode>644</fileMode>
         </file>
     </files>
+    <dependencySets>
+        <dependencySet>
+            <outputDirectory>${project.artifactId}-${project.version}/lib</outputDirectory>
+            <includes>
+                <include>org.apache.stratos:org.apache.stratos.cep300.extension:jar</include>
+                <include>org.apache.stratos:org.apache.stratos.cep.310.extension:jar</include>
+            </includes>
+        </dependencySet>
+    </dependencySets>
 </assembly>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/e129b807/extensions/cep/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/cep/pom.xml b/extensions/cep/pom.xml
index ce59670..b746075 100644
--- a/extensions/cep/pom.xml
+++ b/extensions/cep/pom.xml
@@ -32,8 +32,8 @@
     <description>Apache Stratos CEP Extensions</description>
 
     <modules>
-        <module>modules/distribution</module>
         <module>modules/stratos-cep-extension/wso2cep-3.0.0</module>
         <module>modules/stratos-cep-extension/wso2cep-3.1.0</module>
+        <module>modules/distribution</module>
     </modules>
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/e129b807/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8125401..2c62945 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1028,6 +1028,16 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.stratos</groupId>
+                <artifactId>org.apache.stratos.cep300.extension</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.stratos</groupId>
+                <artifactId>org.apache.stratos.cep.310.extension</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.stratos</groupId>
                 <artifactId>org.apache.stratos.das.extension</artifactId>
                 <version>${project.version}</version>
             </dependency>


[31/50] [abbrv] stratos git commit: fixing STRATOS-1638

Posted by ga...@apache.org.
fixing STRATOS-1638


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

Branch: refs/heads/master
Commit: 02c17e45047c6b88b94330f62f994e080a75a36d
Parents: f7f289c
Author: rajkumar <rr...@gmail.com>
Authored: Wed Dec 2 19:17:21 2015 +0530
Committer: rajkumar <rr...@gmail.com>
Committed: Wed Dec 2 19:17:21 2015 +0530

----------------------------------------------------------------------
 .../cep/modules/distribution/src/assembly/bin.xml   | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/02c17e45/extensions/cep/modules/distribution/src/assembly/bin.xml
----------------------------------------------------------------------
diff --git a/extensions/cep/modules/distribution/src/assembly/bin.xml b/extensions/cep/modules/distribution/src/assembly/bin.xml
index ee6c14b..28d912e 100755
--- a/extensions/cep/modules/distribution/src/assembly/bin.xml
+++ b/extensions/cep/modules/distribution/src/assembly/bin.xml
@@ -60,7 +60,23 @@
         <dependencySet>
             <outputDirectory>${project.artifactId}-${project.version}/lib</outputDirectory>
             <includes>
+                <include>org.apache.activemq:activemq-client:jar</include>
+                <include>org.apache.geronimo.specs:geronimo-j2ee-management_1.1_spec:jar</include>
+                <include>org.fusesource.hawtbuf:hawtbuf:jar</include>
+                <include>org.apache.commons:commons-lang3:jar</include>
+                <include>org.apache.stratos:org.apache.stratos.messaging:jar</include>
+                <include>org.apache.stratos:org.apache.stratos.common:jar</include>
+            </includes>
+        </dependencySet>
+        <dependencySet>
+            <outputDirectory>${project.artifactId}-${project.version}/wso2cep-3.0.0/lib</outputDirectory>
+            <includes>
                 <include>org.apache.stratos:org.apache.stratos.cep300.extension:jar</include>
+            </includes>
+        </dependencySet>
+        <dependencySet>
+            <outputDirectory>${project.artifactId}-${project.version}/wso2cep-3.1.0/lib</outputDirectory>
+            <includes>
                 <include>org.apache.stratos:org.apache.stratos.cep310.extension:jar</include>
             </includes>
         </dependencySet>


[19/50] [abbrv] stratos git commit: PCA Live Test - Minor test change

Posted by ga...@apache.org.
PCA Live Test - Minor test change


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

Branch: refs/heads/master
Commit: e40f25443b10d40700fb50e02cf07c36c68f276e
Parents: 7d35754
Author: Chamila de Alwis <ch...@apache.org>
Authored: Mon Nov 30 12:53:10 2015 +0530
Committer: Chamila de Alwis <ch...@apache.org>
Committed: Mon Nov 30 19:13:56 2015 +0530

----------------------------------------------------------------------
 .../agent/integration/tests/ADCValidationTestCase.java        | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/e40f2544/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java
----------------------------------------------------------------------
diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java
index 5148992..45834e5 100644
--- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java
+++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java
@@ -59,6 +59,11 @@ public class ADCValidationTestCase extends PythonAgentIntegrationTest {
     public ADCValidationTestCase() throws IOException {
     }
 
+    @Override
+    protected String getClassName() {
+        return this.getClass().getSimpleName();
+    }
+
     @BeforeMethod(alwaysRun = true)
     public void setUp() throws Exception {
         log.info("Setting up ADCTestCase");
@@ -75,7 +80,7 @@ public class ADCValidationTestCase extends PythonAgentIntegrationTest {
         tearDown();
     }
 
-    @Test(timeOut = ADC_TEST_TIMEOUT, groups = {"adddddd"})
+    @Test(timeOut = ADC_TEST_TIMEOUT, groups = {"smoke"})
     public void testAppPathValidation(){
         log.info("Testing app path validation for ADC");
         startCommunicatorThread();


[12/50] [abbrv] stratos git commit: Update the aws lb extension artifact id

Posted by ga...@apache.org.
Update the aws lb extension artifact id


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

Branch: refs/heads/master
Commit: e21fb5ab19579b5d6c3647e756caef1ca1d7534c
Parents: c0200ed
Author: gayangunarathne <ga...@wso2.com>
Authored: Mon Nov 30 10:51:17 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Mon Nov 30 11:15:38 2015 +0530

----------------------------------------------------------------------
 extensions/load-balancer/modules/aws-extension/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/e21fb5ab/extensions/load-balancer/modules/aws-extension/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/modules/aws-extension/pom.xml b/extensions/load-balancer/modules/aws-extension/pom.xml
index 02b5eff..36dc5c8 100644
--- a/extensions/load-balancer/modules/aws-extension/pom.xml
+++ b/extensions/load-balancer/modules/aws-extension/pom.xml
@@ -28,7 +28,7 @@
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
-    <artifactId>org.apache.stratos.aws.extension</artifactId>
+    <artifactId>apache-stratos-aws-extension</artifactId>
     <name>Apache Stratos - AWS LB Extension</name>
     <description>Apache Stratos AWS Extension for Load Balancing</description>