Updated Branches:
  refs/heads/master f8dc515cd -> 256cb0a50

Added logs in cloud controller client to trace service calls made to cloud 
controller


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

Branch: refs/heads/master
Commit: f913a9ebef8729eb86629b79fe7b670fc74772d8
Parents: 533665a
Author: Imesh Gunaratne <[email protected]>
Authored: Wed Dec 18 11:54:11 2013 +0530
Committer: Imesh Gunaratne <[email protected]>
Committed: Wed Dec 18 11:54:11 2013 +0530

----------------------------------------------------------------------
 .../autoscaler/api/AutoScalerServiceImpl.java   |  3 +-
 .../cloud/controller/CloudControllerClient.java | 92 ++++++++++++--------
 .../stratos/autoscaler/util/AutoscalerUtil.java |  6 +-
 3 files changed, 57 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/f913a9eb/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
index ce5292e..e88ca82 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
@@ -23,7 +23,6 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.NetworkPartitionContext;
 import 
org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient;
 import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
-import org.apache.stratos.autoscaler.exception.AutoScalerException;
 import org.apache.stratos.autoscaler.exception.InvalidPartitionException;
 import org.apache.stratos.autoscaler.exception.InvalidPolicyException;
 import org.apache.stratos.autoscaler.exception.NonExistingLBException;
@@ -65,7 +64,7 @@ public class AutoScalerServiceImpl implements 
AutoScalerServiceInterface{
                        Partition[] policyPartitions = 
deploymentPolicy.getAllPartitions();
             try {
                 // call CC API
-                
CloudControllerClient.getInstance().validatePartitionsOfPolicy(cartridgeType, 
policyPartitions);
+                
CloudControllerClient.getInstance().validateDeploymentPolicy(cartridgeType, 
deploymentPolicy);
                 // if this deployment policy is valid for this cartridge, add 
it.
                 validPolicies.add(deploymentPolicy);                   
             } catch (PartitionValidationException ignoredException) {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/f913a9eb/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
index 904b38d..c4ac81a 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
@@ -23,11 +23,13 @@ import org.apache.commons.configuration.XMLConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.Constants;
+import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
 import org.apache.stratos.autoscaler.exception.PartitionValidationException;
 import org.apache.stratos.autoscaler.exception.SpawningException;
 import org.apache.stratos.autoscaler.exception.TerminationException;
 import org.apache.stratos.autoscaler.util.ConfUtil;
 import org.apache.stratos.cloud.controller.deployment.partition.Partition;
+import org.apache.stratos.cloud.controller.pojo.MemberContext;
 import org.apache.stratos.cloud.controller.stub.*;
 
 import java.rmi.RemoteException;
@@ -67,28 +69,23 @@ public class CloudControllerClient {
                        log.error("Stub init error", e);
                }
     }
-
-//    public void spawnInstances(Partition partition, String clusterId, int 
memberCountToBeIncreased) throws SpawningException {
-//        //call CC spawnInstances method
-//
-//
-//        log.info("Calling CC for spawning instances in cluster " + 
clusterId);
-//        log.info("Member count to be increased: " + 
memberCountToBeIncreased);
-//
-//        for(int i =0; i< memberCountToBeIncreased; i++){
-//            spawnAnInstance(partition, clusterId);
-//        }
-//        
-//    }
     
     /*
      * This will validate the given partitions against the given cartridge 
type.
      */
     
-    public boolean validatePartitionsOfPolicy(String cartridgeType, 
Partition[] partitions) throws PartitionValidationException{
-        
+    public boolean validateDeploymentPolicy(String cartridgeType, 
DeploymentPolicy deploymentPolicy) throws PartitionValidationException{
         try {
-            return stub.validateDeploymentPolicy(cartridgeType, partitions);
+            if(log.isInfoEnabled()) {
+                log.info(String.format("Validating partitions of policy via 
cloud controller: [id] %s", deploymentPolicy.getId()));
+            }
+            long startTime = System.currentTimeMillis();
+            boolean result = stub.validateDeploymentPolicy(cartridgeType, 
deploymentPolicy.getAllPartitions());
+            if(log.isDebugEnabled()) {
+                long endTime = System.currentTimeMillis();
+                log.debug(String.format("Service call 
validateDeploymentPolicy() returned in %dms", (endTime - startTime)));
+            }
+            return result;
         } catch (RemoteException e) {
             log.error(e.getMessage());
             throw new PartitionValidationException(e);
@@ -108,9 +105,17 @@ public class CloudControllerClient {
     public boolean validatePartition(Partition partition) throws 
PartitionValidationException{
         
         try {
-            return stub.validatePartition(partition);
+            if(log.isInfoEnabled()) {
+                log.info(String.format("Validating partition via cloud 
controller: [id] %s", partition.getId()));
+            }
+            long startTime = System.currentTimeMillis();
+            boolean result = stub.validatePartition(partition);
+            if(log.isDebugEnabled()) {
+                long endTime = System.currentTimeMillis();
+                log.debug(String.format("Service call validatePartition() 
returned in %dms", (endTime - startTime)));
+            }
+            return result;
         } catch (RemoteException e) {
-            log.error(e.getMessage());
             throw new PartitionValidationException(e);
         } catch (CloudControllerServiceInvalidPartitionExceptionException e) {
                throw new PartitionValidationException(e.getMessage(),e);
@@ -120,6 +125,11 @@ public class CloudControllerClient {
 
     public org.apache.stratos.cloud.controller.pojo.MemberContext 
spawnAnInstance(Partition partition, String clusterId, String lbClusterId, 
String networkPartitionId) throws SpawningException {
         try {
+            if(log.isInfoEnabled()) {
+                log.info(String.format("Trying to spawn an instance via cloud 
controller: [cluster] %s [partition] %s [lb-cluster] %s [network-partition-id] 
%s",
+                    clusterId, partition.getId(), lbClusterId, 
networkPartitionId));
+            }
+
             org.apache.stratos.cloud.controller.pojo.MemberContext member = 
new org.apache.stratos.cloud.controller.pojo.MemberContext();
             member.setClusterId(clusterId);
             member.setPartition(partition);
@@ -127,26 +137,34 @@ public class CloudControllerClient {
             member.setInitTime(System.currentTimeMillis());
             member.setNetworkPartitionId(networkPartitionId);
 
-            log.info("Trying to spawn an instance of [cluster] "+clusterId+" 
[partition] "+partition.getId()+
-                     " [lb cluster] "+lbClusterId+" [Network Partition Id] 
"+networkPartitionId);
-            return stub.startInstance(member);
+            long startTime = System.currentTimeMillis();
+            MemberContext memberContext = stub.startInstance(member);
+            if(log.isDebugEnabled()) {
+                long endTime = System.currentTimeMillis();
+                log.debug(String.format("Service call startInstance() returned 
in %dms", (endTime - startTime)));
+            }
+            return memberContext;
         } catch (CloudControllerServiceIllegalArgumentExceptionException e) {
-            log.error(e.getMessage());
             throw new SpawningException(e);
         } catch (CloudControllerServiceUnregisteredCartridgeExceptionException 
e) {
-            log.error(e.getMessage());
             throw new SpawningException(e);
         } catch (RemoteException e) {
-            String msg = "Error occurred in cloud controller side while 
spawning instance";
-            log.error(msg);
-            throw new SpawningException(msg, e);
+            throw new SpawningException(String.format("Error occurred in cloud 
controller while spawning instance: [cluster] %s [partition] %s [lb-cluster] %s 
[network-partition-id] %s",
+                    clusterId, partition.getId(), lbClusterId, 
networkPartitionId), e);
         }
     }
     
     public void terminateAllInstances(String clusterId) throws 
TerminationException {
         try {
+            if(log.isInfoEnabled()) {
+                log.info(String.format("Terminating all instances of cluster 
via cloud controller: %s", clusterId));
+            }
+            long startTime = System.currentTimeMillis();
             stub.terminateAllInstances(clusterId);
-            
+            if(log.isDebugEnabled()) {
+                long endTime = System.currentTimeMillis();
+                log.debug(String.format("Service call terminateAllInstances() 
returned in %dms", (endTime - startTime)));
+            }
         } catch (RemoteException e) {
             String msg = "Error occurred in cloud controller side while 
terminating instance";
             log.error(msg, e);
@@ -162,25 +180,23 @@ public class CloudControllerClient {
     }
 
     public void terminate(String memberId) throws TerminationException {
-        //call CC terminate method
-
-        log.info("Calling CC for terminating member with id: " + memberId);
-
         try {
+            if(log.isInfoEnabled()) {
+                log.info(String.format("Calling cloud controller to terminate 
instance: [member] %s", memberId));
+            }
+            long startTime = System.currentTimeMillis();
             stub.terminateInstance(memberId);
+            if(log.isDebugEnabled()) {
+                long endTime = System.currentTimeMillis();
+                log.debug(String.format("Service call terminateInstance() 
returned in %dms", (endTime - startTime)));
+            }
         } catch (RemoteException e) {
-            String msg = "Error occurred in cloud controller side while 
terminating instance";
-            log.error(msg, e);
-            throw new TerminationException(msg, e);
-
+            throw new TerminationException("Could not terminate instance", e);
         } catch (CloudControllerServiceIllegalArgumentExceptionException e) {
-            log.error(e.getMessage());
             throw new TerminationException(e);
         } catch (CloudControllerServiceInvalidMemberExceptionException e) {
-            log.error(e.getMessage());
             throw new TerminationException(e);
         } catch (CloudControllerServiceInvalidCartridgeTypeExceptionException 
e) {
-            log.error(e.getMessage());
             throw new TerminationException(e);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/f913a9eb/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
index b3358af..fbafea1 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
@@ -102,9 +102,7 @@ public class AutoscalerUtil {
             throw new PolicyValidationException(msg);
         }
 
-        CloudControllerClient.getInstance()
-                             
.validatePartitionsOfPolicy(cluster.getServiceName(),
-                                                         allPartitions);
+        
CloudControllerClient.getInstance().validateDeploymentPolicy(cluster.getServiceName(),
 deploymentPolicy);
 
         ClusterMonitor clusterMonitor =
                                         new 
ClusterMonitor(cluster.getClusterId(),
@@ -338,7 +336,7 @@ public class AutoscalerUtil {
 //           }
 //
 //           CloudControllerClient.getInstance()
-//                                
.validatePartitionsOfPolicy(cluster.getServiceName(),
+//                                
.validateDeploymentPolicy(cluster.getServiceName(),
 //                                                            allPartitions);
 //
 //           LbClusterMonitor clusterMonitor =

Reply via email to