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/03/17 18:59:35 UTC
[14/50] [abbrv] stratos git commit: fixing application undeployment
issue
fixing application undeployment issue
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/257be0e2
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/257be0e2
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/257be0e2
Branch: refs/heads/master-deployment-policy-fix-merge
Commit: 257be0e20256bf702be533ad5abeac7d80ef64ae
Parents: beb9957
Author: R-Rajkumar <rr...@gmail.com>
Authored: Fri Mar 13 17:46:44 2015 +0530
Committer: R-Rajkumar <rr...@gmail.com>
Committed: Fri Mar 13 17:46:44 2015 +0530
----------------------------------------------------------------------
.../applications/topic/ApplicationBuilder.java | 4 ++--
.../services/impl/AutoscalerServiceImpl.java | 20 +++++++++++++++++++-
.../rest/endpoint/api/StratosApiV41.java | 6 +++---
3 files changed, 24 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/257be0e2/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 1cb1a6e..c52b311 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
@@ -227,7 +227,7 @@ public class ApplicationBuilder {
public static void handleApplicationRemoval(String appId) {
if (log.isDebugEnabled()) {
- log.debug("Handling application unDeployment for [application-id] " + appId);
+ log.debug("Handling application delete for [application-id] " + appId);
}
Set<ClusterDataHolder> appClusterDataToSend;
Application application;
@@ -324,7 +324,7 @@ public class ApplicationBuilder {
PrivilegedCarbonContext.endTenantFlow();
}
//removing the clusters and persisted application
- handleApplicationRemoval(appId);
+// handleApplicationRemoval(appId);
}
} else {
log.warn(String.format("Application state transition is not valid: [application-id] %s " +
http://git-wip-us.apache.org/repos/asf/stratos/blob/257be0e2/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 5da1636..e0774b2 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
@@ -414,10 +414,28 @@ public class AutoscalerServiceImpl implements AutoscalerService {
@Override
public void deleteApplication(String applicationId) {
- if (AutoscalerContext.getInstance().removeApplicationContext(applicationId) == null) {
+
+ ApplicationContext appContext = AutoscalerContext.getInstance().getApplicationContext(applicationId);
+
+ if (appContext == null) {
String msg = String.format("Application not found : [application-id] %s", applicationId);
throw new RuntimeException(msg);
}
+
+ if (ApplicationContext.STATUS_DEPLOYED.equals(appContext.getStatus())) {
+ String msg = String.format("Application is deployed : [application-id] %s. Please undeploy before deleting it.", applicationId);
+ throw new AutoScalerException(msg);
+ }
+
+ AutoscalerContext.getInstance().removeApplicationContext(applicationId);
+
+ if (RegistryManager.getInstance().getApplication(applicationId)== null) {
+ String msg = String.format("Application not found : [application-id] %s", applicationId);
+ throw new RuntimeException(msg);
+ }
+ ApplicationBuilder.handleApplicationRemoval(applicationId);
+ RegistryManager.getInstance().removeApplication(applicationId);
+
log.info(String.format("Application deleted successfully: [application-id] ", applicationId));
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/257be0e2/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 d8d6228..fd2cc81 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
@@ -909,9 +909,9 @@ public class StratosApiV41 extends AbstractApi {
if (applicationDefinition == null) {
return Response.status(Response.Status.NOT_FOUND).build();
}
- if (StratosApiV41Utils.getApplicationRuntime(applicationId) != null) {
- return Response.status(Response.Status.NOT_ACCEPTABLE).build();
- }
+// if (StratosApiV41Utils.getApplicationRuntime(applicationId) != null) {
+// return Response.status(Response.Status.NOT_ACCEPTABLE).build();
+// }
StratosApiV41Utils.removeApplication(applicationId);
return Response.ok().entity(
new SuccessResponseBean(Response.Status.OK.getStatusCode(),