You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ud...@apache.org on 2014/12/12 11:11:19 UTC
[17/50] stratos git commit: Got clusterdata before delete and
modified logs
Got clusterdata before delete and modified logs
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/1433fc9c
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/1433fc9c
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/1433fc9c
Branch: refs/heads/master
Commit: 1433fc9c46558cc5c934eeb74d2247c30878ce9a
Parents: 2ba19d8
Author: Shiro <sh...@wso2.com>
Authored: Thu Dec 11 17:55:00 2014 +0530
Committer: Shiro <sh...@wso2.com>
Committed: Thu Dec 11 18:03:06 2014 +0530
----------------------------------------------------------------------
.../autoscaler/api/AutoScalerServiceImpl.java | 3 +--
.../applications/topic/ApplicationBuilder.java | 23 +++++++++++-----
.../topic/ApplicationsEventPublisher.java | 4 +--
.../applications/ApplicationDeletedEvent.java | 18 +++++--------
.../ApplicationCreatedMessageProcessor.java | 8 ++++--
.../ApplicationDeletedMessageProcessor.java | 28 +++++++++-----------
.../rest/endpoint/api/StratosApiV41.java | 2 +-
7 files changed, 46 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/1433fc9c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
index a2b371e..41d027f 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
@@ -275,8 +275,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface {
@Override
public void unDeployApplicationDefinition(String applicationId, int tenantId, String tenantDomain)
throws ApplicationDefinitionException {
-
- ApplicationBuilder.handleApplicationUndeployed(applicationId);
+ ApplicationBuilder.handleApplicationDeleted(applicationId);
}
public void updateClusterMonitor(String clusterId, Properties properties) throws InvalidArgumentException {
http://git-wip-us.apache.org/repos/asf/stratos/blob/1433fc9c/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 81581b8..1a2fb41 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
@@ -37,6 +37,7 @@ import org.apache.stratos.messaging.domain.topology.Service;
import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Set;
/**
@@ -176,11 +177,11 @@ public class ApplicationBuilder {
}
}
- public static void handleApplicationUndeployed(String appId) {
+ public static void handleApplicationDeleted(String appId) {
if (log.isDebugEnabled()) {
log.debug("Handling application unDeployment for [application-id] " + appId);
}
- Set<ClusterDataHolder> clusterData;
+ Set<ClusterDataHolder> appClusterDataToSend;
Application application;
ApplicationHolder.acquireWriteLock();
try {
@@ -192,22 +193,32 @@ public class ApplicationBuilder {
appId));
return;
} else {
+ // Check whether given application is deployed
org.apache.stratos.autoscaler.pojo.policy.deployment.DeploymentPolicy policy =
PolicyManager.getInstance().getDeploymentPolicyByApplication(appId);
if (policy != null) {
log.warn(String.format("Application has been found in the ApplicationsTopology" +
- ": [application-id] %s, Please unDeploy the Application Policy.",
+ ": [application-id] %s, Please unDeploy the Application Policy before deleting the Application definition.",
appId));
+ return;
}
}
+
+ //get cluster data to send in event before deleting the application
+ appClusterDataToSend = new HashSet<ClusterDataHolder>();
+ Set<ClusterDataHolder> appClusterData = application.getClusterDataRecursively();
+ for (ClusterDataHolder currClusterData : appClusterData) {
+ ClusterDataHolder newClusterData = new ClusterDataHolder(currClusterData.getServiceType(), currClusterData.getClusterId());
+ appClusterDataToSend.add(newClusterData);
+ }
+
ApplicationHolder.removeApplication(appId);
} finally {
ApplicationHolder.releaseWriteLock();
}
-
- log.info("[Application] " + appId + " has been successfully undeployed");
- ApplicationsEventPublisher.sendApplicationDeletedEvent(application);
+
+ ApplicationsEventPublisher.sendApplicationDeletedEvent(appId, appClusterDataToSend);
}
public static boolean handleApplicationPolicyUndeployed(String appId) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/1433fc9c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
index 61417a6..7d85f06 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
@@ -31,9 +31,9 @@ public class ApplicationsEventPublisher {
publishEvent(new ApplicationCreatedEvent(application));
}
- public static void sendApplicationDeletedEvent (Application application) {
+ public static void sendApplicationDeletedEvent (String appId, Set<ClusterDataHolder> clusterData) {
- publishEvent(new ApplicationDeletedEvent(application));
+ publishEvent(new ApplicationDeletedEvent(appId, clusterData));
}
public static void sendApplicationInstanceCreatedEvent(String appId,
http://git-wip-us.apache.org/repos/asf/stratos/blob/1433fc9c/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationDeletedEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationDeletedEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationDeletedEvent.java
index 32970f2..c28a892 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationDeletedEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationDeletedEvent.java
@@ -18,7 +18,6 @@
*/
package org.apache.stratos.messaging.event.applications;
-import org.apache.stratos.messaging.domain.applications.Application;
import org.apache.stratos.messaging.domain.applications.ClusterDataHolder;
import org.apache.stratos.messaging.event.Event;
@@ -29,25 +28,22 @@ import java.util.Set;
* This event will be fired upon the application deletion is detected.
*/
public class ApplicationDeletedEvent extends Event implements Serializable {
- private static final long serialVersionUID = 2625412714611885089L; //FIXME - correct UID
- private Application application;
- //private String appId;
+ private static final long serialVersionUID = 7541596367530563340L;
+ private String applicationId;
private Set<ClusterDataHolder> clusterData;
- public ApplicationDeletedEvent(Application application) {
- this.application = application;
+ public ApplicationDeletedEvent(String applicationId, Set<ClusterDataHolder> clusterData) {
+ this.applicationId = applicationId;
+ this.clusterData = clusterData;
}
public String getAppId() {
- return application.getKey();
+ return applicationId;
}
public Set<ClusterDataHolder> getClusterData() {
- return application.getClusterDataRecursively();
+ return clusterData;
}
- public Application getApplication() {
- return application;
- }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/1433fc9c/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationCreatedMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationCreatedMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationCreatedMessageProcessor.java
index 4b25dcd..a945cd8 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationCreatedMessageProcessor.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationCreatedMessageProcessor.java
@@ -88,11 +88,15 @@ public class ApplicationCreatedMessageProcessor extends MessageProcessor {
// check if an Application with same name exists in applications
if (applications.applicationExists(event.getApplication().getUniqueIdentifier())) {
- log.warn("Application with id [ " + event.getApplication().getUniqueIdentifier() + " ] already exists");
-
+ if(log.isDebugEnabled()) {
+ log.debug("Application with id [ " + event.getApplication().getUniqueIdentifier() + " ] already exists");
+ }
} else {
// add application and the clusters to Topology
applications.addApplication(event.getApplication());
+ if(log.isInfoEnabled()) {
+ log.info("Application with id [ " + event.getApplication().getUniqueIdentifier() + " ] created");
+ }
}
notifyEventListeners(event);
http://git-wip-us.apache.org/repos/asf/stratos/blob/1433fc9c/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationDeletedMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationDeletedMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationDeletedMessageProcessor.java
index c2fc99f..51bf741 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationDeletedMessageProcessor.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationDeletedMessageProcessor.java
@@ -22,7 +22,6 @@ package org.apache.stratos.messaging.message.processor.applications;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.messaging.domain.applications.Applications;
-import org.apache.stratos.messaging.event.applications.ApplicationCreatedEvent;
import org.apache.stratos.messaging.event.applications.ApplicationDeletedEvent;
import org.apache.stratos.messaging.message.processor.MessageProcessor;
import org.apache.stratos.messaging.message.processor.applications.updater.ApplicationsUpdater;
@@ -30,7 +29,7 @@ import org.apache.stratos.messaging.util.Util;
public class ApplicationDeletedMessageProcessor extends MessageProcessor {
- private static final Log log = LogFactory.getLog(ApplicationCreatedMessageProcessor.class);
+ private static final Log log = LogFactory.getLog(ApplicationDeletedMessageProcessor.class);
private MessageProcessor nextProcessor;
@Override
@@ -72,27 +71,24 @@ public class ApplicationDeletedMessageProcessor extends MessageProcessor {
}
}
- private boolean doProcess(ApplicationDeletedEvent event, Applications applications) {
-
- // check if required properties are available
- if (event.getApplication() == null) {
- String errorMsg = "Application object of application deleted event is invalid";
- log.error(errorMsg);
- throw new RuntimeException(errorMsg);
- }
-
- if (event.getApplication().getUniqueIdentifier() == null || event.getApplication().getUniqueIdentifier().isEmpty()) {
- String errorMsg = "App id of application deleted event is invalid: [ " + event.getApplication().getUniqueIdentifier() + " ]";
+ private boolean doProcess(ApplicationDeletedEvent event, Applications applications) {
+
+ // check if required properties are available
+ if (event.getAppId() == null || event.getAppId().isEmpty()) {
+ String errorMsg = "App id of application deleted event is invalid: [ " + event.getAppId() + " ]";
log.error(errorMsg);
throw new RuntimeException(errorMsg);
}
-
- //TODO Check before removing whether there are any deloyments alive
-
+
// Remove application and clusters from topology
applications.removeApplication(event.getAppId());
notifyEventListeners(event);
+
+ if (log.isInfoEnabled()) {
+ log.info("[Application] " + event.getAppId() + " has been successfully removed");
+ }
+
return true;
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/1433fc9c/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 32f83c1..23893ea 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
@@ -578,7 +578,7 @@ public class StratosApiV41 extends AbstractApi {
@SuperTenantService(true)
public Response deleteApplicationDefinition(@PathParam("applicationId") String applicationId)
throws RestAPIException {
- StratosApiV41Utils.removeApplicationDefinition(applicationId, getConfigContext(), getUsername(),
+ StratosApiV41Utils.removeApplicationDefinition(applicationId, getConfigContext(), getUsername(),
getTenantDomain());
return Response.noContent().build();
}