Updated Branches: refs/heads/master 3db69b0a5 -> d7d50416a
Added network partition id to cartridge agent and cloud controller event publishers Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/32858172 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/32858172 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/32858172 Branch: refs/heads/master Commit: 3285817236c5811095584c7f56e6bb7274243bf4 Parents: a077477 Author: Imesh Gunaratne <[email protected]> Authored: Thu Dec 12 23:46:39 2013 +0530 Committer: Imesh Gunaratne <[email protected]> Committed: Thu Dec 12 23:46:39 2013 +0530 ---------------------------------------------------------------------- .../impl/CloudControllerServiceImpl.java | 35 ++++++++++---------- .../controller/topology/TopologyBuilder.java | 18 +++++----- .../event/subscriber/ArtifactListener.java | 1 + .../subscriber/CartridgeAgentConstants.java | 1 + .../cartridge/agent/event/subscriber/Main.java | 1 + 5 files changed, 28 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/32858172/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java index 0470ca4..e6bb895 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java @@ -309,17 +309,17 @@ public class CloudControllerServiceImpl implements CloudControllerService { } @Override - public MemberContext startInstance(MemberContext member) throws IllegalArgumentException, + public MemberContext startInstance(MemberContext memberContext) throws IllegalArgumentException, UnregisteredCartridgeException { - if (member == null) { + if (memberContext == null) { String msg = "Instance start-up failed. Member is null."; log.error(msg); throw new IllegalArgumentException(msg); } - String clusterId = member.getClusterId(); - Partition partition = member.getPartition(); + String clusterId = memberContext.getClusterId(); + Partition partition = memberContext.getPartition(); log.info("Starting new instance of cluster : " + clusterId); @@ -355,7 +355,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { throw new UnregisteredCartridgeException(msg); } - member.setCartridgeType(cartridgeType); + memberContext.setCartridgeType(cartridgeType); final Lock lock = new ReentrantLock(); @@ -371,12 +371,12 @@ public class CloudControllerServiceImpl implements CloudControllerService { try { // generating the Unique member ID... String memberID = generateMemberId(clusterId); - member.setMemberId(memberID); + memberContext.setMemberId(memberID); // have to add memberID to the payload StringBuilder payload = new StringBuilder(ctxt.getPayload()); addToPayload(payload, "MEMBER_ID", memberID); - addToPayload(payload, "LB_CLUSTER_ID", member.getLbClusterId()); - addToPayload(payload, "NETWORK_PARTITION_ID", member.getNetworkPartitionId()); + addToPayload(payload, "LB_CLUSTER_ID", memberContext.getLbClusterId()); + addToPayload(payload, "NETWORK_PARTITION_ID", memberContext.getNetworkPartitionId()); if (log.isDebugEnabled()) { log.debug("Payload: " + payload.toString()); @@ -431,7 +431,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { throw new CloudControllerException(msg); } - member.setNodeId(nodeId); + memberContext.setNodeId(nodeId); // reset ip String ip = ""; @@ -440,7 +440,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { (autoAssignIpProp != null && autoAssignIpProp.equals("false"))) { // allocate an IP address - manual IP assigning mode ip = iaas.getIaas().associateAddress(iaas, node); - member.setAllocatedIpAddress(ip); + memberContext.setAllocatedIpAddress(ip); log.info("Allocated ip address: " + ip); } @@ -448,7 +448,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { if (node.getPublicAddresses() != null && node.getPublicAddresses().iterator().hasNext()) { ip = node.getPublicAddresses().iterator().next(); - member.setPublicIpAddress(ip); + memberContext.setPublicIpAddress(ip); log.info("Public ip address: " + ip); } @@ -456,18 +456,17 @@ public class CloudControllerServiceImpl implements CloudControllerService { if (node.getPrivateAddresses() != null && node.getPrivateAddresses().iterator().hasNext()) { ip = node.getPrivateAddresses().iterator().next(); - member.setPrivateIpAddress(ip); + memberContext.setPrivateIpAddress(ip); log.info("Private ip address: " + ip); } - dataHolder.addMemberContext(member); + dataHolder.addMemberContext(memberContext); // persist in registry persist(); // trigger topology - TopologyBuilder.handleMemberSpawned(memberID, cartridgeType, clusterId, partition, - ip); + TopologyBuilder.handleMemberSpawned(memberID, cartridgeType, clusterId, memberContext.getNetworkPartitionId(), partition.getId(), ip); // update the topology with the newly spawned member // publish data @@ -478,7 +477,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { log.info("Instance is successfully starting up in IaaS " + iaas.getType() + ".\tIP Address(public/private): " + ip + "\tNode Id: " + nodeId); - return member; + return memberContext; } finally { // release the lock @@ -883,7 +882,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { return iaasTemp; } - private void logTermination(MemberContext ctxt) { + private void logTermination(MemberContext memberContext) { // get the ip of the terminated node // String ip = ctxt.getPublicIp(nodeId); @@ -901,7 +900,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { // serviceCtxt.setProperty(ipProp, newIpStr.length() == 0 ? "" : newIpStr // .substring(0, newIpStr.length() - 1).toString()); //updating the topology - TopologyBuilder.handleMemberTerminated(ctxt.getCartridgeType(), ctxt.getClusterId(), ctxt.getPartition().getId(), ctxt.getMemberId()); + TopologyBuilder.handleMemberTerminated(memberContext.getCartridgeType(), memberContext.getClusterId(), memberContext.getNetworkPartitionId(), memberContext.getPartition().getId(), memberContext.getMemberId()); // remove the reference // ctxt.removeNodeIdToPublicIp(nodeId); http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/32858172/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java index 9d83e98..690d435 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java @@ -30,6 +30,7 @@ import org.apache.stratos.cloud.controller.util.CloudControllerUtil; import org.apache.stratos.messaging.domain.topology.*; import org.apache.stratos.messaging.event.instance.status.InstanceActivatedEvent; import org.apache.stratos.messaging.event.instance.status.InstanceStartedEvent; +import org.apache.stratos.messaging.event.topology.MemberActivatedEvent; import org.apache.stratos.messaging.util.Constants; import java.util.List; @@ -160,12 +161,11 @@ public class TopologyBuilder { } public static void handleMemberSpawned(String memberId, String serviceName, String clusterId, - Partition partition, String privateIp) { + String networkPartitionId, String partitionId, String privateIp) { //adding the new member to the cluster after it is successfully started in IaaS. Topology topology = TopologyManager.getInstance().getTopology(); Service service = topology.getService(serviceName); Cluster cluster = service.getCluster(clusterId); - String partitionId = partition.getId(); if (cluster.memberExists(memberId)) { throw new RuntimeException(String.format("Member %s already exists", memberId)); @@ -173,7 +173,7 @@ public class TopologyBuilder { try { TopologyManager.getInstance().acquireWriteLock(); - Member member = new Member(serviceName, clusterId, partitionId, memberId); + Member member = new Member(serviceName, clusterId, networkPartitionId, partitionId, memberId); member.setStatus(MemberStatus.Created); member.setMemberIp(privateIp); cluster.addMember(member); @@ -181,8 +181,7 @@ public class TopologyBuilder { } finally { TopologyManager.getInstance().releaseWriteLock(); } - TopologyEventSender.sendInstanceSpawnedEvent(serviceName, clusterId, partitionId, memberId); - + TopologyEventSender.sendInstanceSpawnedEvent(serviceName, clusterId, networkPartitionId, partitionId, memberId); } public static void handleMemberStarted(InstanceStartedEvent instanceStartedEvent) { @@ -237,9 +236,8 @@ public class TopologyBuilder { instanceActivatedEvent.getMemberId())); } - org.apache.stratos.messaging.event.topology.MemberActivatedEvent memberActivatedEvent = - new org.apache.stratos.messaging.event.topology.MemberActivatedEvent(instanceActivatedEvent.getServiceName(), - instanceActivatedEvent.getClusterId(), instanceActivatedEvent.getPartitionId(), instanceActivatedEvent.getMemberId()); + MemberActivatedEvent memberActivatedEvent = new MemberActivatedEvent(instanceActivatedEvent.getServiceName(), + instanceActivatedEvent.getClusterId(), instanceActivatedEvent.getNetworkPartitionId(), instanceActivatedEvent.getPartitionId(), instanceActivatedEvent.getMemberId()); try { TopologyManager.getInstance().acquireWriteLock(); @@ -268,7 +266,7 @@ public class TopologyBuilder { TopologyEventSender.sendMemberActivatedEvent(memberActivatedEvent); } - public static void handleMemberTerminated(String serviceName, String clusterId, String partitionId, String memberId) { + public static void handleMemberTerminated(String serviceName, String clusterId, String networkPartitionId, String partitionId, String memberId) { Topology topology = TopologyManager.getInstance().getTopology(); Service service = topology.getService(serviceName); Cluster cluster = service.getCluster(clusterId); @@ -286,7 +284,7 @@ public class TopologyBuilder { } finally { TopologyManager.getInstance().releaseWriteLock(); } - TopologyEventSender.sendMemberTerminatedEvent(serviceName, clusterId, partitionId, memberId); + TopologyEventSender.sendMemberTerminatedEvent(serviceName, clusterId, networkPartitionId, partitionId, memberId); } public static void handleMemberSuspended() { http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/32858172/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/ArtifactListener.java ---------------------------------------------------------------------- diff --git a/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/ArtifactListener.java b/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/ArtifactListener.java index ddb1c3d..8ea6431 100644 --- a/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/ArtifactListener.java +++ b/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/ArtifactListener.java @@ -83,6 +83,7 @@ public class ArtifactListener implements MessageListener{ InstanceActivatedEvent instanceActivatedEvent = new InstanceActivatedEvent( LaunchParamsUtil.readParamValueFromPayload(CartridgeAgentConstants.SERVICE_NAME), LaunchParamsUtil.readParamValueFromPayload(CartridgeAgentConstants.CLUSTER_ID), + LaunchParamsUtil.readParamValueFromPayload(CartridgeAgentConstants.NETWORK_PARTITION_ID), LaunchParamsUtil.readParamValueFromPayload(CartridgeAgentConstants.PARTITION_ID), LaunchParamsUtil.readParamValueFromPayload(CartridgeAgentConstants.MEMBER_ID)); EventPublisher publisher = new EventPublisher(Constants.INSTANCE_STATUS_TOPIC); http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/32858172/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/CartridgeAgentConstants.java ---------------------------------------------------------------------- diff --git a/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/CartridgeAgentConstants.java b/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/CartridgeAgentConstants.java index 440284d..610ddcf 100644 --- a/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/CartridgeAgentConstants.java +++ b/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/CartridgeAgentConstants.java @@ -30,6 +30,7 @@ public class CartridgeAgentConstants implements Serializable{ public static final String APP_PATH = "APP_PATH"; public static final String SERVICE_NAME = "SERVICE_NAME"; public static final String CLUSTER_ID = "CLUSTER_ID"; + public static final String NETWORK_PARTITION_ID = "NETWORK_PARTITION_ID"; public static final String PARTITION_ID = "PARTITION_ID"; public static final String MEMBER_ID = "MEMBER_ID"; } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/32858172/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/Main.java ---------------------------------------------------------------------- diff --git a/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/Main.java b/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/Main.java index 9aa5149..805808f 100644 --- a/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/Main.java +++ b/products/cartridge-agent/modules/event-subscriber/src/main/java/org/apache/stratos/cartridge/agent/event/subscriber/Main.java @@ -62,6 +62,7 @@ public class Main { InstanceStartedEvent event = new InstanceStartedEvent( LaunchParamsUtil.readParamValueFromPayload(CartridgeAgentConstants.SERVICE_NAME), LaunchParamsUtil.readParamValueFromPayload(CartridgeAgentConstants.CLUSTER_ID), + LaunchParamsUtil.readParamValueFromPayload(CartridgeAgentConstants.NETWORK_PARTITION_ID), LaunchParamsUtil.readParamValueFromPayload(CartridgeAgentConstants.PARTITION_ID), LaunchParamsUtil.readParamValueFromPayload(CartridgeAgentConstants.MEMBER_ID)); EventPublisher publisher = new EventPublisher(Constants.INSTANCE_STATUS_TOPIC);
