Repository: stratos Updated Branches: refs/heads/stratos-4.1.x 894aa4beb -> d620bdf3d
Update accessurl as a map against instanceclusterid Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/d620bdf3 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/d620bdf3 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/d620bdf3 Branch: refs/heads/stratos-4.1.x Commit: d620bdf3d353bb1e668d703c98c0f5529fbb6c76 Parents: 894aa4b Author: gayangunarathne <[email protected]> Authored: Thu Sep 24 16:30:54 2015 +0530 Committer: gayangunarathne <[email protected]> Committed: Thu Sep 24 21:16:00 2015 +0530 ---------------------------------------------------------------------- .../messaging/topology/TopologyBuilder.java | 2 +- .../impl/CloudControllerServiceImpl.java | 2 +- .../messaging/domain/topology/Cluster.java | 23 ++++++++++++-------- .../ClusterInstanceActivatedProcessor.java | 10 ++++----- .../util/converter/ObjectConverter.java | 5 +++-- .../kubernetes-cluster-2.json | 2 +- 6 files changed, 25 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/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 0131f3e..936f9ec 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 @@ -870,7 +870,7 @@ public class TopologyBuilder { // Using type URI since only http, https, ftp, file, jar protocols are supported in URL URI accessURL = new URI(kubernetesService.getProtocol(), null, publicIP, kubernetesService.getPort(), null, null, null); - cluster.addAccessUrl(accessURL.toString()); + cluster.addAccessUrl(clusterStatusClusterActivatedEvent.getInstanceId(),accessURL.toString()); clusterInstanceActivatedEvent.addAccessUrl(accessURL.toString()); } else { log.error(String.format("Could not create access URL for [Kubernetes-service] %s , " + http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java index f1615c5..dc365dd 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java @@ -1101,7 +1101,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { cluster.setLbCluster(false); cluster.setTenantRange(appClusterCtxt.getTenantRange()); cluster.setHostNames(Arrays.asList(appClusterCtxt.getHostName())); - cluster.setAccessUrls(accessUrls.get(appClusterCtxt.getClusterId())); + cluster.setAccessUrls(accessUrls); if (appClusterCtxt.getProperties() != null) { Properties properties = CloudControllerUtil.toJavaUtilProperties(appClusterCtxt.getProperties()); http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java index b734499..0fde36e 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java @@ -61,7 +61,7 @@ public class Cluster implements Serializable { private Properties properties; private Map<String, ClusterInstance> instanceIdToInstanceContextMap; //private LifeCycleStateManager<ClusterStatus> clusterStateManager; - private List<String> accessUrls; + private Map<String,List<String>> accessUrls; private List<KubernetesService> kubernetesServices; public Cluster(Cluster cluster) { @@ -93,7 +93,7 @@ public class Cluster implements Serializable { this.memberMap = new ConcurrentHashMap<String, Member>(); this.appId = appId; this.setInstanceIdToInstanceContextMap(new ConcurrentHashMap<String, ClusterInstance>()); - this.accessUrls = new ArrayList<String>(); + this.accessUrls = new HashMap<>(); this.kubernetesServices = new ArrayList<KubernetesService>(); } @@ -334,23 +334,28 @@ public class Cluster implements Serializable { return this.instanceIdToInstanceContextMap.values(); } - public List<String> getAccessUrls() { + public Map<String,List<String>> getAccessUrls() { return accessUrls; } - public void setAccessUrls(List<String> accessUrls) { + public void setAccessUrls(Map<String,List<String>> accessUrls) { this.accessUrls = accessUrls; } - public void addAccessUrl(String accessUrl) { - if (accessUrls == null) { - accessUrls = new ArrayList<String>(); + public void addAccessUrl(String clusterInstanceId,String accessUrl) { + List<String> listUrls=accessUrls.get(clusterInstanceId); + if (listUrls == null) { + listUrls = new ArrayList<String>(); } - if (!accessUrls.contains(accessUrl)) { - accessUrls.add(accessUrl); + if (!listUrls.contains(accessUrl)) { + listUrls.add(accessUrl); } + accessUrls.put(clusterInstanceId,listUrls); } + public void addAccessUrlList(String clusterInstanceId,List<String> accessUrl) { + accessUrls.put(clusterInstanceId, accessUrl); + } public List<KubernetesService> getKubernetesServices() { return kubernetesServices; } http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceActivatedProcessor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceActivatedProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceActivatedProcessor.java index 0aa85b0..5c57231 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceActivatedProcessor.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceActivatedProcessor.java @@ -21,7 +21,10 @@ package org.apache.stratos.messaging.message.processor.topology; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.messaging.domain.instance.ClusterInstance; -import org.apache.stratos.messaging.domain.topology.*; +import org.apache.stratos.messaging.domain.topology.Cluster; +import org.apache.stratos.messaging.domain.topology.ClusterStatus; +import org.apache.stratos.messaging.domain.topology.Service; +import org.apache.stratos.messaging.domain.topology.Topology; import org.apache.stratos.messaging.event.topology.ClusterInstanceActivatedEvent; import org.apache.stratos.messaging.message.filter.topology.TopologyApplicationFilter; import org.apache.stratos.messaging.message.filter.topology.TopologyClusterFilter; @@ -30,9 +33,6 @@ import org.apache.stratos.messaging.message.processor.MessageProcessor; import org.apache.stratos.messaging.message.processor.topology.updater.TopologyUpdater; import org.apache.stratos.messaging.util.MessagingUtil; -import java.net.URL; -import java.util.List; - /** * This processor will act upon the cluster activated event */ @@ -119,7 +119,7 @@ public class ClusterInstanceActivatedProcessor extends MessageProcessor { } } else { // Apply changes to the topology - cluster.setAccessUrls(event.getAccessUrls()); + cluster.addAccessUrlList(event.getInstanceId(),event.getAccessUrls()); ClusterInstance context = cluster.getInstanceContexts(event.getInstanceId()); if (context == null) { http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java index 07a95ac..aaef07e 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java @@ -48,7 +48,6 @@ import org.apache.stratos.manager.service.stub.domain.application.signup.Applica import org.apache.stratos.manager.service.stub.domain.application.signup.ArtifactRepository; import org.apache.stratos.manager.service.stub.domain.application.signup.DomainMapping; import org.apache.stratos.messaging.domain.application.Application; -import org.apache.stratos.messaging.domain.application.ApplicationStatus; import org.apache.stratos.messaging.domain.application.Group; import org.apache.stratos.messaging.domain.instance.ApplicationInstance; import org.apache.stratos.messaging.domain.instance.ClusterInstance; @@ -717,7 +716,9 @@ public class ObjectConverter { clusterInstanceBean.getMember().add(memberBean); } } - clusterInstanceBean.setAccessUrls(cluster.getAccessUrls()); + if(cluster.getAccessUrls()!=null) { + clusterInstanceBean.setAccessUrls(cluster.getAccessUrls().get(instanceId)); + } for (String hostname : cluster.getHostNames()) { clusterInstanceBean.getHostNames().add(hostname); } http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/samples/kubernetes-clusters/kubernetes-cluster-2.json ---------------------------------------------------------------------- diff --git a/samples/kubernetes-clusters/kubernetes-cluster-2.json b/samples/kubernetes-clusters/kubernetes-cluster-2.json index a9189f3..9614771 100644 --- a/samples/kubernetes-clusters/kubernetes-cluster-2.json +++ b/samples/kubernetes-clusters/kubernetes-cluster-2.json @@ -38,7 +38,7 @@ }, { "name": "payload_parameter.MB_PORT", - "value": "1883" + "value": "1884" }, { "name": "payload_parameter.CEP_URLS",
