You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2014/12/11 15:37:31 UTC
stratos git commit: removing the deployment policy when undeploy the
application
Repository: stratos
Updated Branches:
refs/heads/4.1.0-test b1f3b9bd3 -> d08f7b28a
removing the deployment policy when undeploy the application
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/d08f7b28
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/d08f7b28
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/d08f7b28
Branch: refs/heads/4.1.0-test
Commit: d08f7b28a7630e6e0f2c359ebfd9a43be5a9b27b
Parents: b1f3b9b
Author: reka <rt...@gmail.com>
Authored: Thu Dec 11 20:07:18 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Thu Dec 11 20:07:18 2014 +0530
----------------------------------------------------------------------
.../applications/topic/ApplicationBuilder.java | 11 +++++++++++
.../stratos/autoscaler/pojo/policy/PolicyManager.java | 9 +++++++++
2 files changed, 20 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/d08f7b28/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
index a7e6be5..06b2283 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
@@ -25,6 +25,7 @@ import org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext
import org.apache.stratos.autoscaler.client.CloudControllerClient;
import org.apache.stratos.autoscaler.context.AutoscalerContext;
import org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher;
+import org.apache.stratos.autoscaler.exception.policy.InvalidPolicyException;
import org.apache.stratos.autoscaler.monitor.Monitor;
import org.apache.stratos.autoscaler.monitor.component.ApplicationMonitor;
import org.apache.stratos.autoscaler.monitor.component.GroupMonitor;
@@ -317,6 +318,16 @@ public class ApplicationBuilder {
//Removing the application from memory and registry
//ApplicationHolder.removeApplication(appId);
log.info("Application run time is removed: [application-id] " + appId);
+ // Check whether given application is deployed
+ String policyId = PolicyManager.getInstance().getDeploymentPolicyIdByApplication(appId);
+ if(policyId != null) {
+ try {
+ PolicyManager.getInstance().undeployDeploymentPolicy(policyId);
+ } catch (InvalidPolicyException e) {
+ log.error("Error while unDeploying the policy for [application] " + appId);
+ }
+ }
+
}
ApplicationsEventPublisher.sendApplicationInstanceTerminatedEvent(appId, instanceId);
} else {
http://git-wip-us.apache.org/repos/asf/stratos/blob/d08f7b28/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
index ac05b55..a3a9337 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
@@ -290,4 +290,13 @@ public class PolicyManager {
return null;
}
+ public String getDeploymentPolicyIdByApplication(String appId) {
+ for(Map.Entry<String, DeploymentPolicy> entry : deploymentPolicyListMap.entrySet()) {
+ if(entry.getValue().getApplicationId().equals(appId)) {
+ return entry.getKey();
+ }
+ }
+ return null;
+ }
+
}