You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2015/06/16 17:21:11 UTC
[2/2] stratos git commit: Using already existing method for forceful
termination instead of new method
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 <la...@apache.org>
Authored: Tue Jun 16 20:50:45 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
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();
}