Updated Branches: refs/heads/master 19edc63b9 -> 1771faf38
updating the topology with memeber spawned event Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/3db7ccc9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/3db7ccc9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/3db7ccc9 Branch: refs/heads/master Commit: 3db7ccc905d130db9c7dcbe17a7db10658de7e47 Parents: 75cabdc Author: rekathiru <[email protected]> Authored: Fri Oct 25 14:49:05 2013 +0530 Committer: rekathiru <[email protected]> Committed: Fri Oct 25 14:49:05 2013 +0530 ---------------------------------------------------------------------- .../impl/CloudControllerServiceImpl.java | 2 +- .../controller/topology/TopologyBuilder.java | 72 ++++++++++---------- 2 files changed, 38 insertions(+), 36 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3db7ccc9/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 f3d7bfe..06753a2 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 @@ -332,7 +332,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { String memberID = generateMemberId(clusterId); //have to add memberID to the payload serviceCtxt.getPayload().append(","); - serviceCtxt.getPayload().append(memberID); + serviceCtxt.getPayload().append("MEMBER_ID=" + memberID); //reloading the payload with memberID reloadPayload(serviceCtxt.getCartridge(), serviceCtxt.generatePayload()); http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3db7ccc9/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 c5c7e9c..2990067 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 @@ -76,46 +76,45 @@ public class TopologyBuilder { public static void handleClusterCreated(List<ServiceContext> serviceContexts) { Topology topology = TopologyManager.getInstance().getTopology(); Service service; - for(ServiceContext serviceContext : serviceContexts) { - service = topology.getService(serviceContext.getCartridgeType()); - if(service == null) { - service = new Service(serviceContext.getClusterId()); - Cluster cluster = new Cluster(serviceContext.getCartridgeType(), - serviceContext.getClusterId(), - serviceContext.getAutoScalerPolicyName()); - cluster.setHostName(serviceContext.getHostName()); - cluster.setTenantRange(serviceContext.getTenantRange()); - cluster.setAutoscalePolicyName(serviceContext.getAutoScalerPolicyName()); - service.addCluster(cluster); - topology.addService(service); - } else { - if (service.clusterExists(serviceContext.getClusterId())) { - //update the cluster - service.getCluster(serviceContext.getClusterId()). - setHostName(serviceContext.getHostName()); - service.getCluster(serviceContext.getClusterId()). - setAutoscalePolicyName(serviceContext.getAutoScalerPolicyName()); - service.getCluster(serviceContext.getClusterId()). - setTenantRange(serviceContext.getTenantRange()); - } else { + try { + TopologyManager.getInstance().acquireWriteLock(); + for(ServiceContext serviceContext : serviceContexts) { + service = topology.getService(serviceContext.getCartridgeType()); + if(service == null) { + service = new Service(serviceContext.getClusterId()); Cluster cluster = new Cluster(serviceContext.getCartridgeType(), - serviceContext.getClusterId(), - serviceContext.getAutoScalerPolicyName()); + serviceContext.getClusterId(), + serviceContext.getAutoScalerPolicyName()); cluster.setHostName(serviceContext.getHostName()); cluster.setTenantRange(serviceContext.getTenantRange()); cluster.setAutoscalePolicyName(serviceContext.getAutoScalerPolicyName()); service.addCluster(cluster); - } - } - try { - TopologyManager.getInstance().acquireWriteLock(); - TopologyManager.getInstance().updateTopology(topology); - } finally { - TopologyManager.getInstance().releaseWriteLock(); - } - TopologyEventSender.sendClusterCreatedEvent(serviceContext); - - } + topology.addService(service); + } else { + if (service.clusterExists(serviceContext.getClusterId())) { + //update the cluster + service.getCluster(serviceContext.getClusterId()). + setHostName(serviceContext.getHostName()); + service.getCluster(serviceContext.getClusterId()). + setAutoscalePolicyName(serviceContext.getAutoScalerPolicyName()); + service.getCluster(serviceContext.getClusterId()). + setTenantRange(serviceContext.getTenantRange()); + } else { + Cluster cluster = new Cluster(serviceContext.getCartridgeType(), + serviceContext.getClusterId(), + serviceContext.getAutoScalerPolicyName()); + cluster.setHostName(serviceContext.getHostName()); + cluster.setTenantRange(serviceContext.getTenantRange()); + cluster.setAutoscalePolicyName(serviceContext.getAutoScalerPolicyName()); + service.addCluster(cluster); + } + } + TopologyManager.getInstance().updateTopology(topology); + TopologyEventSender.sendClusterCreatedEvent(serviceContext); + } + } finally { + TopologyManager.getInstance().releaseWriteLock(); + } } public static void handleClusterRemoved(ServiceContext serviceContext) { @@ -159,6 +158,9 @@ public class TopologyBuilder { Member member = new Member(serviceName, clusterId, memberId); member.setIaasNodeId(iaasNodeId); member.setStatus(MemberStatus.Created); + cluster.addMember(member); + cluster.addMemberToIaasNodeId(member); + TopologyManager.getInstance().updateTopology(topology); } finally { TopologyManager.getInstance().releaseWriteLock(); }
