get removeExpiredObsoletedMemberFromCloudController method params separately for member context
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/5aa0417e Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/5aa0417e Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/5aa0417e Branch: refs/heads/master Commit: 5aa0417eb53b3186cfa77309617c1798ebee7a21 Parents: c843228 Author: Lahiru Sandaruwan <[email protected]> Authored: Sun Jun 14 14:45:38 2015 +0530 Committer: Lahiru Sandaruwan <[email protected]> Committed: Sun Jun 14 14:45:38 2015 +0530 ---------------------------------------------------------------------- .../client/AutoscalerCloudControllerClient.java | 6 +- .../partition/ClusterLevelPartitionContext.java | 7 +- .../monitor/cluster/ClusterMonitor.java | 2 + .../services/CloudControllerService.java | 18 +- .../impl/CloudControllerServiceImpl.java | 27 +- .../main/resources/CloudControllerService.wsdl | 819 ++++++++++--------- 6 files changed, 473 insertions(+), 406 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/5aa0417e/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 c6c59ed..a7938de 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 @@ -121,6 +121,7 @@ public class AutoscalerCloudControllerClient { long startTime = System.currentTimeMillis(); MemberContext memberContext = stub.startInstance(instanceContext); + if (log.isDebugEnabled()) { long endTime = System.currentTimeMillis(); log.debug(String.format("Service call startInstance() returned in %dms", (endTime - startTime))); @@ -208,7 +209,10 @@ public class AutoscalerCloudControllerClient { public void removeExpiredObsoletedMemberFromCloudController(MemberContext member) { try { - stub.removeExpiredObsoletedMemberFromCloudController(member); + stub.removeExpiredObsoletedMemberFromCloudController(member.getApplicationId(), member.getCartridgeType(), + member.getClusterId(), member.getMemberId(), member.getNetworkPartitionId(), + member.getPartition()); + } catch (RemoteException e) { log.error(String.format("Error while removing member from cloud controller for obsolete " + "member, [member-id] %s ", member.getMemberId())); http://git-wip-us.apache.org/repos/asf/stratos/blob/5aa0417e/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 dd54731..f3354d7 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 @@ -571,9 +571,11 @@ public class ClusterLevelPartitionContext extends PartitionContext implements Se // member is pending termination // remove from pending termination list iterator.remove(); + // add to the obsolete list this.obsoletedMembers.put(memberId, terminationPendingMember); + if (log.isDebugEnabled()) { log.debug(String.format("Termination pending member is removed and added to the " + "obsolete member list. [Member Id] %s", memberId)); @@ -719,9 +721,8 @@ public class ClusterLevelPartitionContext extends PartitionContext implements Se obsoleteMember.getClusterInstanceId())); //notifying CC, about the removal of obsolete member - - AutoscalerCloudControllerClient.getInstance().removeExpiredObsoletedMemberFromCloudController( - obsoleteMember); + AutoscalerCloudControllerClient.getInstance().removeExpiredObsoletedMemberFromCloudController( + obsoleteMember); iterator.remove(); if (ctxt.getMemberStatsContexts().containsKey(obsoleteMemberId)) { http://git-wip-us.apache.org/repos/asf/stratos/blob/5aa0417e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java index d314215..7613ad6 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java @@ -1191,6 +1191,8 @@ public class ClusterMonitor extends Monitor { "and moved to obsolete list: [member] %s " + "[partition] %s [cluster] %s ", memberId, partitionId, clusterId)); } + + } else if (partitionCtxt.getObsoleteMember(memberId) != null) { if (log.isDebugEnabled()) { log.debug(String.format("Member is in obsolete list: [member] %s " + http://git-wip-us.apache.org/repos/asf/stratos/blob/5aa0417e/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 b113329..876a681 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 @@ -391,7 +391,23 @@ public interface CloudControllerService { /** * Remove member from cloud controller side context, topology etc. + * * @param member member to be removed */ - void removeExpiredObsoletedMemberFromCloudController(MemberContext member); + + /** + * 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); + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/5aa0417e/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 7d2d891..9179e6d 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 @@ -25,6 +25,18 @@ import org.apache.stratos.cloud.controller.concurrent.PartitionValidatorCallable import org.apache.stratos.cloud.controller.config.CloudControllerConfig; import org.apache.stratos.cloud.controller.context.CloudControllerContext; import org.apache.stratos.cloud.controller.domain.*; +import org.apache.stratos.cloud.controller.domain.ApplicationClusterContext; +import org.apache.stratos.cloud.controller.domain.Cartridge; +import org.apache.stratos.cloud.controller.domain.ClusterContext; +import org.apache.stratos.cloud.controller.domain.Dependencies; +import org.apache.stratos.cloud.controller.domain.InstanceContext; +import org.apache.stratos.cloud.controller.domain.MemberContext; +import org.apache.stratos.cloud.controller.domain.NetworkPartition; +import org.apache.stratos.cloud.controller.domain.Partition; +import org.apache.stratos.cloud.controller.domain.PortMapping; +import org.apache.stratos.cloud.controller.domain.Registrant; +import org.apache.stratos.cloud.controller.domain.ServiceGroup; +import org.apache.stratos.cloud.controller.domain.Volume; import org.apache.stratos.cloud.controller.domain.kubernetes.KubernetesCluster; import org.apache.stratos.cloud.controller.domain.kubernetes.KubernetesHost; import org.apache.stratos.cloud.controller.domain.kubernetes.KubernetesMaster; @@ -33,6 +45,7 @@ import org.apache.stratos.cloud.controller.iaases.Iaas; import org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder; import org.apache.stratos.cloud.controller.messaging.topology.TopologyManager; import org.apache.stratos.cloud.controller.services.CloudControllerService; +import org.apache.stratos.cloud.controller.stub.domain.*; import org.apache.stratos.cloud.controller.util.CloudControllerUtil; import org.apache.stratos.common.Property; import org.apache.stratos.common.domain.LoadBalancingIPType; @@ -1610,9 +1623,15 @@ public class CloudControllerServiceImpl implements CloudControllerService { } @Override - public void removeExpiredObsoletedMemberFromCloudController(MemberContext member) { - - CloudControllerServiceUtil.executeMemberTerminationPostProcess(member); - + 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; } + }
