You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ga...@apache.org on 2015/09/21 14:19:42 UTC
stratos git commit: Update accessurl as a map against
instanceclusterid
Repository: stratos
Updated Branches:
refs/heads/stratos-4.1.x 493214eb0 -> c646d2d23
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/c646d2d2
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/c646d2d2
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/c646d2d2
Branch: refs/heads/stratos-4.1.x
Commit: c646d2d23773cfdcd5252874289765a3ec7eaab2
Parents: 493214e
Author: gayangunarathne <ga...@wso2.com>
Authored: Mon Sep 21 17:36:20 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Mon Sep 21 17:41:41 2015 +0530
----------------------------------------------------------------------
.../messaging/topology/TopologyBuilder.java | 5 ++--
.../impl/CloudControllerServiceImpl.java | 2 +-
.../messaging/domain/topology/Cluster.java | 31 +++++++++++++-------
.../topology/ClusterInstanceActivatedEvent.java | 24 ++++++++-------
.../ClusterInstanceActivatedProcessor.java | 10 +++----
.../util/converter/ObjectConverter.java | 3 +-
6 files changed, 43 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/c646d2d2/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 e94bb52..59c5a03 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,8 +870,9 @@ 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());
- clusterInstanceActivatedEvent.addAccessUrl(accessURL.toString());
+ cluster.addAccessUrl(clusterInstanceActivatedEvent.getInstanceId(),accessURL.toString());
+
+ clusterInstanceActivatedEvent.addAccessUrl(clusterInstanceActivatedEvent.getInstanceId(),accessURL.toString());
} else {
log.error(String.format("Could not create access URL for [Kubernetes-service] %s , " +
"since Public IP is not available", kubernetesService.getId()));
http://git-wip-us.apache.org/repos/asf/stratos/blob/c646d2d2/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..a8adbcc 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.setAccessUrlsMap(accessUrls);
if (appClusterCtxt.getProperties() != null) {
Properties properties = CloudControllerUtil.toJavaUtilProperties(appClusterCtxt.getProperties());
http://git-wip-us.apache.org/repos/asf/stratos/blob/c646d2d2/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..49b3829 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) {
@@ -79,7 +79,7 @@ public class Cluster implements Serializable {
this.tenantRange = cluster.getTenantRange();
this.setLbCluster(cluster.isLbCluster());
this.setKubernetesCluster(cluster.isKubernetesCluster());
- this.accessUrls = cluster.getAccessUrls();
+ this.accessUrls = cluster.getAccessUrlsMap();
this.kubernetesServices = cluster.getKubernetesServices();
}
@@ -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,20 +334,29 @@ public class Cluster implements Serializable {
return this.instanceIdToInstanceContextMap.values();
}
- public List<String> getAccessUrls() {
+ public Map<String,List<String>> getAccessUrlsMap() {
return accessUrls;
}
- public void setAccessUrls(List<String> accessUrls) {
- this.accessUrls = accessUrls;
+ public List<String> getAccessUrls(String clusterInstanceId) {
+ return accessUrls.get(clusterInstanceId);
}
- public void addAccessUrl(String accessUrl) {
- if (accessUrls == null) {
- accessUrls = new ArrayList<String>();
+ public void setAccessUrls(String instanceClusterId,List<String> accessUrlSet) {
+ this.accessUrls.put(instanceClusterId, accessUrlSet);
+ }
+
+ public void setAccessUrlsMap(Map<String,List<String>> accessUrls) {
+ this.accessUrls=accessUrls;
+ }
+
+ public void addAccessUrl(String clusterInstanceId,String accessUrl) {
+ List<String> strAccessUrl = accessUrls.get(clusterInstanceId);
+ if (strAccessUrl == null) {
+ strAccessUrl = new ArrayList<String>();
}
- if (!accessUrls.contains(accessUrl)) {
- accessUrls.add(accessUrl);
+ if (!strAccessUrl.contains(accessUrl)) {
+ strAccessUrl.add(accessUrl);
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/c646d2d2/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceActivatedEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceActivatedEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceActivatedEvent.java
index 65b262f..eac7d39 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceActivatedEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceActivatedEvent.java
@@ -18,11 +18,12 @@
*/
package org.apache.stratos.messaging.event.topology;
-import org.apache.stratos.messaging.domain.topology.KubernetesService;
import org.apache.stratos.messaging.event.Event;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* Cluster activated event will be sent by Autoscaler
@@ -33,14 +34,14 @@ public class ClusterInstanceActivatedEvent extends Event {
private final String clusterId;
private String appId;
private String instanceId;
- private List<String> accessUrls;
+ private Map<String,List<String>> accessUrls;
public ClusterInstanceActivatedEvent(String appId, String serviceName, String clusterId, String instanceId) {
this.serviceName = serviceName;
this.clusterId = clusterId;
this.appId = appId;
this.instanceId = instanceId;
- this.accessUrls = new ArrayList<String>();
+ this.accessUrls = new HashMap<>();
}
public String getServiceName() {
@@ -65,20 +66,21 @@ public class ClusterInstanceActivatedEvent extends Event {
return instanceId;
}
- public List<String> getAccessUrls() {
- return accessUrls;
+ public List<String> getAccessUrls(String instanceClusterId) {
+ return accessUrls.get(instanceClusterId);
}
- 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> strAccessUrl=accessUrls.get(clusterInstanceId);
+ if (strAccessUrl == null) {
+ strAccessUrl = new ArrayList<String>();
}
- if (!accessUrls.contains(accessUrl)) {
- accessUrls.add(accessUrl);
+ if (!strAccessUrl.contains(accessUrl)) {
+ strAccessUrl.add(accessUrl);
}
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/c646d2d2/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..fd04994 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.setAccessUrls(event.getInstanceId(),event.getAccessUrls(event.getInstanceId()));
ClusterInstance context = cluster.getInstanceContexts(event.getInstanceId());
if (context == null) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/c646d2d2/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..d73c691 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,7 @@ public class ObjectConverter {
clusterInstanceBean.getMember().add(memberBean);
}
}
- clusterInstanceBean.setAccessUrls(cluster.getAccessUrls());
+ clusterInstanceBean.setAccessUrls(cluster.getAccessUrls(clusterInstanceBean.getInstanceId()));
for (String hostname : cluster.getHostNames()) {
clusterInstanceBean.getHostNames().add(hostname);
}