Repository: stratos Updated Branches: refs/heads/4.1.0-test 71605eb03 -> 043cdce57
setting tenant domain before retrieing from registry Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/f7bc8a37 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/f7bc8a37 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/f7bc8a37 Branch: refs/heads/4.1.0-test Commit: f7bc8a37044eb72d9a2f3c03b0d0fbc76ab5b25c Parents: d08f7b2 Author: reka <[email protected]> Authored: Thu Dec 11 22:58:14 2014 +0530 Committer: reka <[email protected]> Committed: Thu Dec 11 22:58:14 2014 +0530 ---------------------------------------------------------------------- .../applications/topic/ApplicationBuilder.java | 34 ++++-- .../messaging/topology/TopologyBuilder.java | 115 +++++++++++-------- 2 files changed, 91 insertions(+), 58 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/f7bc8a37/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 06b2283..9ba3b41 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,11 @@ import org.apache.stratos.messaging.domain.instance.GroupInstance; import org.apache.stratos.messaging.domain.topology.Cluster; import org.apache.stratos.messaging.domain.topology.Service; import org.apache.stratos.messaging.message.receiver.topology.TopologyManager; +import org.wso2.carbon.CarbonConstants; +import org.wso2.carbon.base.CarbonBaseConstants; +import org.wso2.carbon.base.MultitenantConstants; +import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.utils.CarbonUtils; import java.util.Collection; import java.util.HashSet; @@ -315,19 +320,30 @@ public class ApplicationBuilder { //removing the monitor if (application.getInstanceContextCount() == 0) { AutoscalerContext.getInstance().removeAppMonitor(appId); - //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); + //Removing the application from memory and registry + PrivilegedCarbonContext.startTenantFlow(); + try { + PrivilegedCarbonContext.getThreadLocalCarbonContext(). + setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); + PrivilegedCarbonContext.getThreadLocalCarbonContext(). + setTenantId(MultitenantConstants.SUPER_TENANT_ID); + String policyId = PolicyManager.getInstance(). + getDeploymentPolicyIdByApplication(appId); + if(policyId != null) { + try { + PolicyManager.getInstance().undeployDeploymentPolicy(policyId); + log.info("Deployment policy for the [Application] " + appId + + "has been removed." ); + } catch (InvalidPolicyException e) { + log.error("Error while unDeploying the policy for [application] " + appId); + } } + } finally { + PrivilegedCarbonContext.endTenantFlow(); } + } ApplicationsEventPublisher.sendApplicationInstanceTerminatedEvent(appId, instanceId); } else { http://git-wip-us.apache.org/repos/asf/stratos/blob/f7bc8a37/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java index b97e98b..62ed682 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java @@ -496,25 +496,30 @@ public class TopologyBuilder { TopologyManager.acquireWriteLock(); // try update lifecycle state if (!member.isStateTransitionValid(MemberStatus.Starting)) { - log.error("Invalid State Transition from " + member.getStatus() + " to " + MemberStatus.Starting); + log.error("Invalid State Transition from " + member.getStatus() + " to " + + MemberStatus.Starting); + return; + } else { + member.setStatus(MemberStatus.Starting); + log.info("member started event adding status started"); + + TopologyManager.updateTopology(topology); + //memberStartedEvent. + TopologyEventPublisher.sendMemberStartedEvent(instanceStartedEvent); + //publishing data + StatisticsDataPublisher.publish(instanceStartedEvent.getMemberId(), + instanceStartedEvent.getPartitionId(), + instanceStartedEvent.getNetworkPartitionId(), + instanceStartedEvent.getClusterId(), + instanceStartedEvent.getServiceName(), + MemberStatus.Starting.toString(), + null); } - member.setStatus(MemberStatus.Starting); - log.info("member started event adding status started"); - TopologyManager.updateTopology(topology); } finally { TopologyManager.releaseWriteLock(); } - //memberStartedEvent. - TopologyEventPublisher.sendMemberStartedEvent(instanceStartedEvent); - //publishing data - StatisticsDataPublisher.publish(instanceStartedEvent.getMemberId(), - instanceStartedEvent.getPartitionId(), - instanceStartedEvent.getNetworkPartitionId(), - instanceStartedEvent.getClusterId(), - instanceStartedEvent.getServiceName(), - MemberStatus.Starting.toString(), - null); + } public static void handleMemberActivated(InstanceActivatedEvent instanceActivatedEvent) { @@ -556,40 +561,44 @@ public class TopologyBuilder { TopologyManager.acquireWriteLock(); // try update lifecycle state if (!member.isStateTransitionValid(MemberStatus.Activated)) { - log.error("Invalid State Transition from " + member.getStatus() + " to " + MemberStatus.Activated); - } - member.setStatus(MemberStatus.Activated); - log.info("member started event adding status activated"); - Cartridge cartridge = CloudControllerContext.getInstance(). - getCartridge(instanceActivatedEvent.getServiceName()); - - List<PortMapping> portMappings = cartridge.getPortMappings(); - Port port; - //adding ports to the event - for (PortMapping portMapping : portMappings) { - port = new Port(portMapping.getProtocol(), - Integer.parseInt(portMapping.getPort()), - Integer.parseInt(portMapping.getProxyPort())); - member.addPort(port); - memberActivatedEvent.addPort(port); - } + log.error("Invalid State Transition from " + member.getStatus() + " to " + + MemberStatus.Activated); + return; + } else { + member.setStatus(MemberStatus.Activated); + log.info("member started event adding status activated"); + Cartridge cartridge = CloudControllerContext.getInstance(). + getCartridge(instanceActivatedEvent.getServiceName()); - memberActivatedEvent.setMemberIp(member.getMemberIp()); - memberActivatedEvent.setMemberPublicIp(member.getMemberPublicIp()); - TopologyManager.updateTopology(topology); + List<PortMapping> portMappings = cartridge.getPortMappings(); + Port port; + //adding ports to the event + for (PortMapping portMapping : portMappings) { + port = new Port(portMapping.getProtocol(), + Integer.parseInt(portMapping.getPort()), + Integer.parseInt(portMapping.getProxyPort())); + member.addPort(port); + memberActivatedEvent.addPort(port); + } + memberActivatedEvent.setMemberIp(member.getMemberIp()); + memberActivatedEvent.setMemberPublicIp(member.getMemberPublicIp()); + TopologyManager.updateTopology(topology); + + TopologyEventPublisher.sendMemberActivatedEvent(memberActivatedEvent); + //publishing data + StatisticsDataPublisher.publish(memberActivatedEvent.getMemberId(), + memberActivatedEvent.getPartitionId(), + memberActivatedEvent.getNetworkPartitionId(), + memberActivatedEvent.getClusterId(), + memberActivatedEvent.getServiceName(), + MemberStatus.Activated.toString(), + null); + } } finally { TopologyManager.releaseWriteLock(); } - TopologyEventPublisher.sendMemberActivatedEvent(memberActivatedEvent); - //publishing data - StatisticsDataPublisher.publish(memberActivatedEvent.getMemberId(), - memberActivatedEvent.getPartitionId(), - memberActivatedEvent.getNetworkPartitionId(), - memberActivatedEvent.getClusterId(), - memberActivatedEvent.getServiceName(), - MemberStatus.Activated.toString(), - null); + } public static void handleMemberReadyToShutdown(InstanceReadyToShutdownEvent instanceReadyToShutdownEvent) @@ -628,7 +637,9 @@ public class TopologyBuilder { TopologyManager.acquireWriteLock(); if (!member.isStateTransitionValid(MemberStatus.ReadyToShutDown)) { - log.error("Invalid State Transition from " + member.getStatus() + " to " + MemberStatus.ReadyToShutDown); + log.error("Invalid State Transition from " + member.getStatus() + " to " + + MemberStatus.ReadyToShutDown); + return; } member.setStatus(MemberStatus.ReadyToShutDown); log.info("Member Ready to shut down event adding status started"); @@ -686,7 +697,9 @@ public class TopologyBuilder { TopologyManager.acquireWriteLock(); // try update lifecycle state if (!member.isStateTransitionValid(MemberStatus.In_Maintenance)) { - log.error("Invalid State Transition from " + member.getStatus() + " to " + MemberStatus.In_Maintenance); + log.error("Invalid State Transition from " + member.getStatus() + " to " + + MemberStatus.In_Maintenance); + return; } member.setStatus(MemberStatus.In_Maintenance); log.info("member maintenance mode event adding status started"); @@ -799,10 +812,11 @@ public class TopologyBuilder { //publishing data TopologyEventPublisher.sendClusterActivatedEvent(clusterActivatedEvent1); } else { - log.warn(String.format("Cluster state transition is not valid: [cluster-id] %s " + + log.error(String.format("Cluster state transition is not valid: [cluster-id] %s " + " [instance-id] %s [current-status] %s [status-requested] %s", clusterActivatedEvent.getClusterId(), clusterActivatedEvent.getInstanceId(), context.getStatus(), status)); + return; } } finally { TopologyManager.releaseWriteLock(); @@ -851,10 +865,11 @@ public class TopologyBuilder { //publishing data TopologyEventPublisher.sendClusterInactivateEvent(clusterInActivatedEvent1); } else { - log.warn(String.format("Cluster state transition is not valid: [cluster-id] %s " + + log.error(String.format("Cluster state transition is not valid: [cluster-id] %s " + " [instance-id] %s [current-status] %s [status-requested] %s", clusterInActivateEvent.getClusterId(), clusterInActivateEvent.getInstanceId(), context.getStatus(), status)); + return; } } finally { TopologyManager.releaseWriteLock(); @@ -913,10 +928,11 @@ public class TopologyBuilder { TopologyEventPublisher.sendClusterTerminatedEvent(clusterTerminatedEvent); } else { - log.warn(String.format("Cluster state transition is not valid: [cluster-id] %s " + + log.error(String.format("Cluster state transition is not valid: [cluster-id] %s " + " [instance-id] %s [current-status] %s [status-requested] %s", event.getClusterId(), event.getInstanceId(), context.getStatus(), status)); + return; } } finally { TopologyManager.releaseWriteLock(); @@ -956,10 +972,11 @@ public class TopologyBuilder { TopologyEventPublisher.sendClusterTerminatingEvent(clusterTerminaingEvent); } else { - log.warn(String.format("Cluster state transition is not valid: [cluster-id] %s " + + log.error(String.format("Cluster state transition is not valid: [cluster-id] %s " + " [instance-id] %s [current-status] %s [status-requested] %s", event.getClusterId(), event.getInstanceId(), context.getStatus(), status)); + return; } } finally { TopologyManager.releaseWriteLock();
