udpating cluster cleanup with instance iD
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/69fafdd4 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/69fafdd4 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/69fafdd4 Branch: refs/heads/master Commit: 69fafdd4c3c29df6d73d399eeb31cd8d0d9708fd Parents: 82e80be Author: reka <[email protected]> Authored: Wed Dec 3 00:01:12 2014 +0530 Committer: reka <[email protected]> Committed: Wed Dec 3 12:09:18 2014 +0530 ---------------------------------------------------------------------- .../event/publisher/InstanceNotificationPublisher.java | 4 ++-- .../topology/AutoscalerTopologyEventReceiver.java | 6 ++++-- .../instance/notifier/InstanceCleanupClusterEvent.java | 8 +++++++- .../apache/stratos/rest/endpoint/api/StratosApiV41.java | 10 ++++++++++ 4 files changed, 23 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/69fafdd4/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/publisher/InstanceNotificationPublisher.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/publisher/InstanceNotificationPublisher.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/publisher/InstanceNotificationPublisher.java index b1c419a..ea68f32 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/publisher/InstanceNotificationPublisher.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/publisher/InstanceNotificationPublisher.java @@ -39,9 +39,9 @@ public class InstanceNotificationPublisher { instanceNotifyingEvent.publish(event); } - public static void sendInstanceCleanupEventForCluster(String clusterId) { + public static void sendInstanceCleanupEventForCluster(String clusterId, String instanceId) { log.info(String.format("Publishing Instance Cleanup Event: [cluster] %s", clusterId)); - publish(new InstanceCleanupClusterEvent(clusterId)); + publish(new InstanceCleanupClusterEvent(clusterId, instanceId)); } /** http://git-wip-us.apache.org/repos/asf/stratos/blob/69fafdd4/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java index 8e25408..9f4c4a6 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java @@ -300,7 +300,7 @@ public class AutoscalerTopologyEventReceiver implements Runnable { if (monitor.getStatus() == ClusterStatus.Active) { // terminated gracefully monitor.setStatus(ClusterStatus.Terminating, instanceId); - InstanceNotificationPublisher.sendInstanceCleanupEventForCluster(clusterId); + InstanceNotificationPublisher.sendInstanceCleanupEventForCluster(clusterId, instanceId); } else { monitor.setStatus(ClusterStatus.Terminating, instanceId); monitor.terminateAllMembers(); @@ -328,7 +328,9 @@ public class AutoscalerTopologyEventReceiver implements Runnable { // if the cluster monitor is null, assume that its termianted ApplicationMonitor appMonitor = AutoscalerContext.getInstance().getAppMonitor(clusterTerminatedEvent.getAppId()); if (appMonitor != null) { - appMonitor.onChildStatusEvent(new ClusterStatusEvent(ClusterStatus.Terminated, clusterId, null)); + appMonitor.onChildStatusEvent( + new ClusterStatusEvent(ClusterStatus.Terminated, + clusterId, instanceId)); } return; } http://git-wip-us.apache.org/repos/asf/stratos/blob/69fafdd4/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/instance/notifier/InstanceCleanupClusterEvent.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/instance/notifier/InstanceCleanupClusterEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/instance/notifier/InstanceCleanupClusterEvent.java index a7d4f38..96f42ce 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/instance/notifier/InstanceCleanupClusterEvent.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/instance/notifier/InstanceCleanupClusterEvent.java @@ -27,12 +27,18 @@ import java.io.Serializable; */ public class InstanceCleanupClusterEvent extends InstanceNotifierEvent implements Serializable { private String clusterId; + private String instanceId; - public InstanceCleanupClusterEvent(String clusterId) { + public InstanceCleanupClusterEvent(String clusterId, String instanceId) { this.clusterId = clusterId; + this.instanceId = instanceId; } public String getClusterId() { return clusterId; } + + public String getInstanceId() { + return instanceId; + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/69fafdd4/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java index 036900a..252ee58 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java @@ -325,6 +325,16 @@ public class StratosApiV41 extends AbstractApi { return Response.created(url).build(); } + @DELETE + @Path("/deploymentPolicies/{deploymentPolicyName}") + @Produces("application/json") + @Consumes("application/json") + @AuthorizationAction("/permission/admin/manage/add/cartridgeDefinition") + public Response unDeployDeploymentPolicy(@PathParam("deploymentPolicyName") String cartridgeType) throws RestAPIException { + StratosApiV41Utils.undeployCartridge(cartridgeType); + return Response.noContent().build(); + } + @PUT @Path("/deploymentPolicies") @Produces("application/json")
