Handling cloud controller connection failure with new exception and change the 
error message to a specific one


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

Branch: refs/heads/master
Commit: b0c49f0b3fd329205e0a149b85a5ae9f4636ce76
Parents: db482b8
Author: Lahiru Sandaruwan <[email protected]>
Authored: Sat Apr 25 08:12:36 2015 +0530
Committer: Lahiru Sandaruwan <[email protected]>
Committed: Sat Apr 25 08:12:36 2015 +0530

----------------------------------------------------------------------
 .../policy/InvalidDeploymentPolicyException.java       |  4 ++++
 .../stratos/autoscaler/services/AutoscalerService.java |  7 +++++--
 .../services/impl/AutoscalerServiceImpl.java           | 13 ++++++++-----
 3 files changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/b0c49f0b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/policy/InvalidDeploymentPolicyException.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/policy/InvalidDeploymentPolicyException.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/policy/InvalidDeploymentPolicyException.java
index a6c2dce..3790279 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/policy/InvalidDeploymentPolicyException.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/policy/InvalidDeploymentPolicyException.java
@@ -23,4 +23,8 @@ public class InvalidDeploymentPolicyException extends 
Exception {
     public InvalidDeploymentPolicyException(String message) {
         super(message);
     }
+
+    public InvalidDeploymentPolicyException(String message, Exception e) {
+        super(message, e);
+    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/b0c49f0b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
index a054e22..ab41da1 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
@@ -23,6 +23,7 @@ package org.apache.stratos.autoscaler.services;
 
 import org.apache.stratos.autoscaler.applications.pojo.ApplicationContext;
 import org.apache.stratos.autoscaler.exception.AutoScalerException;
+import 
org.apache.stratos.autoscaler.exception.CloudControllerConnectionException;
 import org.apache.stratos.autoscaler.exception.InvalidArgumentException;
 import 
org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
 import 
org.apache.stratos.autoscaler.exception.application.InvalidApplicationPolicyException;
@@ -235,7 +236,8 @@ public interface AutoscalerService {
      * @param deploymentPolicy DeployementPolicy
      * @throws IllegalArgumentException if the provided argument is not valid.
      */
-    public void updateDeploymentPolicy(DeploymentPolicy deploymentPolicy) 
throws DeploymentPolicyNotExistsException, InvalidDeploymentPolicyException, 
RemoteException, InvalidPolicyException;
+    public void updateDeploymentPolicy(DeploymentPolicy deploymentPolicy) 
throws DeploymentPolicyNotExistsException,
+            InvalidDeploymentPolicyException, RemoteException, 
InvalidPolicyException, CloudControllerConnectionException;
 
     /**
      * Remove deployment policy
@@ -243,7 +245,8 @@ public interface AutoscalerService {
      * @param deploymentPolicyID deploymentPolicyID
      * @throws IllegalArgumentException if the provided argument is not valid.
      */
-    public void removeDeployementPolicy(String deploymentPolicyID) throws 
DeploymentPolicyNotExistsException, DeploymentPolicyNotExistsException;
+    public void removeDeployementPolicy(String deploymentPolicyID) throws 
DeploymentPolicyNotExistsException,
+            DeploymentPolicyNotExistsException;
 
     /**
      * Get deployment policy definition

http://git-wip-us.apache.org/repos/asf/stratos/blob/b0c49f0b/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 acda7b4..a3f9cb3 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,6 +34,7 @@ import 
org.apache.stratos.autoscaler.context.cluster.ClusterInstanceContext;
 import 
org.apache.stratos.autoscaler.context.partition.ClusterLevelPartitionContext;
 import 
org.apache.stratos.autoscaler.context.partition.network.ClusterLevelNetworkPartitionContext;
 import org.apache.stratos.autoscaler.exception.AutoScalerException;
+import 
org.apache.stratos.autoscaler.exception.CloudControllerConnectionException;
 import org.apache.stratos.autoscaler.exception.InvalidArgumentException;
 import 
org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
 import 
org.apache.stratos.autoscaler.exception.application.InvalidApplicationPolicyException;
@@ -53,6 +54,7 @@ import org.apache.stratos.autoscaler.util.AutoscalerUtil;
 import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidCartridgeTypeExceptionException;
 import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidPartitionExceptionException;
 import org.apache.stratos.cloud.controller.stub.domain.MemberContext;
+import 
org.apache.stratos.cloud.controller.stub.exception.CloudControllerException;
 import org.apache.stratos.common.Properties;
 import org.apache.stratos.common.client.CloudControllerServiceClient;
 import org.apache.stratos.common.client.StratosManagerServiceClient;
@@ -932,7 +934,7 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
 
     @Override
     public void updateDeploymentPolicy(DeploymentPolicy deploymentPolicy) 
throws RemoteException,
-            InvalidDeploymentPolicyException, 
DeploymentPolicyNotExistsException, InvalidPolicyException {
+            InvalidDeploymentPolicyException, 
DeploymentPolicyNotExistsException, InvalidPolicyException, 
CloudControllerConnectionException {
 
         validateDeploymentPolicy(deploymentPolicy);
 
@@ -962,7 +964,8 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
         }
     }
 
-    private void updateClusterMonitors(DeploymentPolicy deploymentPolicy) 
throws InvalidDeploymentPolicyException {
+    private void updateClusterMonitors(DeploymentPolicy deploymentPolicy) 
throws InvalidDeploymentPolicyException,
+            CloudControllerConnectionException {
 
         for (ClusterMonitor clusterMonitor : 
AutoscalerContext.getInstance().getClusterMonitors().values()) {
 
@@ -981,13 +984,13 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
                         String message = "Cluster monitor update failed for 
[deployment-policy] "
                                 + deploymentPolicy.getDeploymentPolicyID();
                         log.error(message);
-                        throw new InvalidDeploymentPolicyException(message);
+                        throw new CloudControllerConnectionException(message, 
e);
                     } catch 
(CloudControllerServiceInvalidPartitionExceptionException e) {
 
-                        String message = "Cluster monitor update failed for 
[deployment-policy] "
+                        String message = "Invalid partition, Cluster monitor 
update failed for [deployment-policy] "
                                 + deploymentPolicy.getDeploymentPolicyID();
                         log.error(message);
-                        throw new InvalidDeploymentPolicyException(message);
+                        throw new InvalidDeploymentPolicyException(message, e);
                     } catch 
(CloudControllerServiceInvalidCartridgeTypeExceptionException e) {
 
                         String message = "Cluster monitor update failed for 
[deployment-policy] "

Reply via email to