Using already existing method for forceful termination instead of new method


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

Branch: refs/heads/master
Commit: 685f7487ebb8f3d0ecbf2161f4cd6de46e99ceb8
Parents: 6012234
Author: Lahiru Sandaruwan <[email protected]>
Authored: Tue Jun 16 20:50:45 2015 +0530
Committer: Lahiru Sandaruwan <[email protected]>
Committed: Tue Jun 16 20:50:45 2015 +0530

----------------------------------------------------------------------
 .../client/AutoscalerCloudControllerClient.java |  36 +-
 .../partition/ClusterLevelPartitionContext.java |  12 +-
 .../autoscaler/rule/RuleTasksDelegator.java     |   4 +-
 .../services/impl/AutoscalerServiceImpl.java    |   3 +-
 .../services/CloudControllerService.java        |  15 -
 .../impl/CloudControllerServiceImpl.java        |  14 +-
 .../client/CloudControllerServiceClient.java    |  33 -
 .../main/resources/CloudControllerService.wsdl  | 772 +++++++++----------
 8 files changed, 400 insertions(+), 489 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/685f7487/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/AutoscalerCloudControllerClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/AutoscalerCloudControllerClient.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/AutoscalerCloudControllerClient.java
index a7938de..f944a9f 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/AutoscalerCloudControllerClient.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/AutoscalerCloudControllerClient.java
@@ -206,16 +206,36 @@ public class AutoscalerCloudControllerClient {
         return volumes.toArray(new Volume[volumes.size()]);
     }
 
-    public void removeExpiredObsoletedMemberFromCloudController(MemberContext 
member) {
-        try {
+    public void terminateInstance(String memberId) throws Exception {
+        if (log.isInfoEnabled()) {
+            log.info(String.format("Terminating instance via cloud controller: 
[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)));
+        }
+    }
 
-            
stub.removeExpiredObsoletedMemberFromCloudController(member.getApplicationId(), 
member.getCartridgeType(),
-                    member.getClusterId(), member.getMemberId(), 
member.getNetworkPartitionId(),
-                    member.getPartition());
+    public void terminateInstanceForcefully(String memberId) throws Exception {
+        if (log.isDebugEnabled()) {
+            log.debug(String.format("Terminating instance forcefully via cloud 
controller: [member] %s", memberId));
+        }
+        stub.terminateInstanceForcefully(memberId);
+    }
 
-        } catch (RemoteException e) {
-            log.error(String.format("Error while removing member from cloud 
controller for obsolete " +
-                    "member, [member-id] %s ", member.getMemberId()));
+    public void terminateAllInstances(String clusterId) throws RemoteException,
+            CloudControllerServiceInvalidClusterExceptionException {
+        if (log.isInfoEnabled()) {
+            log.info(String.format("Terminating all instances of cluster via 
cloud controller: [cluster] %s", clusterId));
+        }
+        long startTime = System.currentTimeMillis();
+        stub.terminateInstances(clusterId);
+
+        if (log.isDebugEnabled()) {
+            long endTime = System.currentTimeMillis();
+            log.debug(String.format("Service call terminateInstances() 
returned in %dms", (endTime - startTime)));
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/685f7487/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
index f3354d7..df839bb 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
@@ -124,7 +124,7 @@ public class ClusterLevelPartitionContext extends 
PartitionContext implements Se
             if (log.isDebugEnabled()) {
                 log.debug(String.format("Forcefully terminating member 
[member-id] %s", memberId));
             }
-            
CloudControllerServiceClient.getInstance().terminateInstanceForcefully(memberId);
+            
AutoscalerCloudControllerClient.getInstance().terminateInstanceForcefully(memberId);
         } catch (Exception e) {
             log.error("Error occurred while terminating instance", e);
         }
@@ -721,8 +721,14 @@ public class ClusterLevelPartitionContext extends 
PartitionContext implements Se
                                 obsoleteMember.getClusterInstanceId()));
 
                         //notifying CC, about the removal of obsolete member
-                        
AutoscalerCloudControllerClient.getInstance().removeExpiredObsoletedMemberFromCloudController(
-                                obsoleteMember);
+                        try {
+                            
AutoscalerCloudControllerClient.getInstance().terminateInstanceForcefully(
+                                    obsoleteMember.getMemberId());
+                        } catch (Exception e) {
+                            log.error(String.format("Termination of obsolete 
member %s is failed, but all the contexts" +
+                                    "will be removed", 
obsoleteMember.getMemberId()));
+
+                        }
 
                         iterator.remove();
                         if 
(ctxt.getMemberStatsContexts().containsKey(obsoleteMemberId)) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/685f7487/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
index a996c0b..51443a1 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
@@ -296,7 +296,7 @@ public class RuleTasksDelegator {
 
     public void terminateObsoleteInstance(String memberId) {
         try {
-            
CloudControllerServiceClient.getInstance().terminateInstance(memberId);
+            
AutoscalerCloudControllerClient.getInstance().terminateInstance(memberId);
         } catch (Exception e) {
             log.error("Cannot terminate instance", e);
         }
@@ -308,7 +308,7 @@ public class RuleTasksDelegator {
             if (log.isDebugEnabled()) {
                 log.debug("delegateTerminateAll - begin");
             }
-            
CloudControllerServiceClient.getInstance().terminateAllInstances(clusterId);
+            
AutoscalerCloudControllerClient.getInstance().terminateAllInstances(clusterId);
             if (log.isDebugEnabled()) {
                 log.debug("delegateTerminateAll - done");
             }

http://git-wip-us.apache.org/repos/asf/stratos/blob/685f7487/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 54323e7..c2ee635 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
@@ -27,6 +27,7 @@ import 
org.apache.stratos.autoscaler.applications.parser.ApplicationParser;
 import 
org.apache.stratos.autoscaler.applications.parser.DefaultApplicationParser;
 import org.apache.stratos.autoscaler.applications.pojo.*;
 import org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder;
+import org.apache.stratos.autoscaler.client.AutoscalerCloudControllerClient;
 import org.apache.stratos.autoscaler.context.AutoscalerContext;
 import org.apache.stratos.autoscaler.context.InstanceContext;
 import org.apache.stratos.autoscaler.context.cluster.ClusterInstanceContext;
@@ -961,7 +962,7 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
                 try {
                     log.info(String.format("Terminating member forcefully 
[member-id] %s of the cluster [cluster-id] %s " +
                             "[application-id] %s", memberIdToTerminate, 
clusterId, application));
-                    
CloudControllerServiceClient.getInstance().terminateInstanceForcefully(memberIdToTerminate);
+                    
AutoscalerCloudControllerClient.getInstance().terminateInstanceForcefully(memberIdToTerminate);
                 } catch (Exception e) {
                     log.error(String.format("Forceful termination of member %s 
has failed, but continuing forceful " +
                             "deletion of other members", memberIdToTerminate));

http://git-wip-us.apache.org/repos/asf/stratos/blob/685f7487/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
index 4655244..169c665 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
@@ -396,21 +396,6 @@ public interface CloudControllerService {
      */
 
     /**
-     * Remove member from cloud controller side context, topology etc.
-     *
-     * @param applicationId      app of the member
-     * @param cartridgeType      cartridge of the member
-     * @param clusterId          cluster of the member
-     * @param memberId           id of the member
-     * @param networkPartitionId nw partition of the member
-     * @param partition          partition of the member
-     * @return whether the removal is successful
-     */
-    boolean removeExpiredObsoletedMemberFromCloudController(String 
applicationId, String cartridgeType,
-                                                            String clusterId, 
String memberId,
-                                                            String 
networkPartitionId, Partition partition);
-
-    /**
      * Returns the available Iaas Providers
      */
     public String[] getIaasProviders();

http://git-wip-us.apache.org/repos/asf/stratos/blob/685f7487/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
index 900728b..dab9f29 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
@@ -574,7 +574,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
             log.info(String.format("Member terminated [member-id] %s ", 
memberId));
         } else {
             log.warn(String.format("Stratos could not terminate the member 
[member-id] %s. This may due to a issue " +
-                    "in the underlying IaaS, Please terminate the member 
manually", memberId));
+                    "in the underlying IaaS, Please terminate the member 
manually if it is available", memberId));
             MemberContext memberContext = 
CloudControllerContext.getInstance().getMemberContextOfMemberId(memberId);
             
CloudControllerServiceUtil.executeMemberTerminationPostProcess(memberContext);
         }
@@ -1610,18 +1610,6 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
     }
 
     @Override
-    public boolean removeExpiredObsoletedMemberFromCloudController(String 
applicationId, String cartridgeType,
-                                                                   String 
clusterId, String memberId,
-                                                                   String 
networkPartitionId, Partition partition) {
-
-        MemberContext obsoleteMember = new MemberContext(applicationId, 
cartridgeType, clusterId, memberId);
-        obsoleteMember.setNetworkPartitionId(networkPartitionId);
-        obsoleteMember.setPartition(partition);
-        
CloudControllerServiceUtil.executeMemberTerminationPostProcess(obsoleteMember);
-        return true;
-    }
-
-    @Override
     public String[] getIaasProviders() {
 
         try {

http://git-wip-us.apache.org/repos/asf/stratos/blob/685f7487/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
index 4a1733e..8944564 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
@@ -112,39 +112,6 @@ public class CloudControllerServiceClient {
         return stub.getServiceGroup(name);
     }
 
-    public void terminateInstance(String memberId) throws Exception {
-        if (log.isInfoEnabled()) {
-            log.info(String.format("Terminating instance via cloud controller: 
[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)));
-        }
-    }
-
-    public void terminateInstanceForcefully(String memberId) throws Exception {
-        if (log.isDebugEnabled()) {
-            log.debug(String.format("Terminating instance forcefully via cloud 
controller: [member] %s", memberId));
-        }
-        stub.terminateInstanceForcefully(memberId);
-    }
-
-    public void terminateAllInstances(String clusterId) throws RemoteException,
-            CloudControllerServiceInvalidClusterExceptionException {
-        if (log.isInfoEnabled()) {
-            log.info(String.format("Terminating all instances of cluster via 
cloud controller: [cluster] %s", clusterId));
-        }
-        long startTime = System.currentTimeMillis();
-        stub.terminateInstances(clusterId);
-
-        if (log.isDebugEnabled()) {
-            long endTime = System.currentTimeMillis();
-            log.debug(String.format("Service call terminateInstances() 
returned in %dms", (endTime - startTime)));
-        }
-    }
-
     public String[] getRegisteredCartridges() throws RemoteException {
         return stub.getCartridges();
     }

Reply via email to