You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2015/07/28 14:29:45 UTC
stratos git commit: Moving logic out of
ClusterInstanceActivatedProcessor and make all protocols accessible
Repository: stratos
Updated Branches:
refs/heads/master 6e4f6e572 -> 6aa985aa6
Moving logic out of ClusterInstanceActivatedProcessor and make all protocols accessible
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/6aa985aa
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/6aa985aa
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/6aa985aa
Branch: refs/heads/master
Commit: 6aa985aa66dfa42d514d93ff813e075f4ca4b3be
Parents: 6e4f6e5
Author: lasinducharith <la...@gmail.com>
Authored: Tue Jul 28 17:59:18 2015 +0530
Committer: lasinducharith <la...@gmail.com>
Committed: Tue Jul 28 17:59:18 2015 +0530
----------------------------------------------------------------------
.../messaging/topology/TopologyBuilder.java | 27 +++++++++++++++++++-
.../topology/ClusterInstanceActivatedEvent.java | 21 +++++++++++----
.../ClusterInstanceActivatedProcessor.java | 22 +---------------
3 files changed, 43 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/6aa985aa/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 f04a11f..39638a1 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
@@ -44,6 +44,9 @@ import org.apache.stratos.messaging.event.topology.*;
import org.apache.stratos.metadata.client.defaults.DefaultMetaDataServiceClient;
import org.apache.stratos.metadata.client.defaults.MetaDataServiceClient;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
import java.util.*;
/**
@@ -869,9 +872,31 @@ public class TopologyBuilder {
TopologyManager.acquireWriteLock();
List<KubernetesService> kubernetesServices = clusterContext.getKubernetesServices();
cluster.setKubernetesServices(kubernetesServices);
- clusterInstanceActivatedEvent.setKubernetesServices(kubernetesServices);
+
+ if (kubernetesServices != null) {
+ // Set kubernetes services
+ cluster.setKubernetesServices(kubernetesServices);
+ try {
+ // Generate access URLs for kubernetes services
+ for (KubernetesService kubernetesService : kubernetesServices) {
+ // Public IP = Kubernetes minion public IP
+ String[] publicIPs = kubernetesService.getPublicIPs();
+ if ((publicIPs != null) && (publicIPs.length > 0)) {
+ for (String publicIP : publicIPs) {
+ URI accessURL = new URI(kubernetesService.getProtocol(), null, publicIP,
+ kubernetesService.getPort(), null, null, null);
+ cluster.addAccessUrl(accessURL.toString());
+ clusterInstanceActivatedEvent.addAccessUrl(accessURL.toString());
+ }
+ }
+ }
+ } catch (URISyntaxException e) {
+ log.error("Could not create access URLs for Kubernetes services", e);
+ }
+ }
ClusterInstance context = cluster.getInstanceContexts(clusterStatusClusterActivatedEvent.getInstanceId());
+
if (context == null) {
log.warn("Cluster instance context is not found for [cluster] " +
clusterStatusClusterActivatedEvent.getClusterId() + " [instance-id] " +
http://git-wip-us.apache.org/repos/asf/stratos/blob/6aa985aa/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 7b02f9f..65b262f 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
@@ -21,6 +21,7 @@ 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.List;
/**
@@ -32,13 +33,14 @@ public class ClusterInstanceActivatedEvent extends Event {
private final String clusterId;
private String appId;
private String instanceId;
- private List<KubernetesService> kubernetesServices;
+ private 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>();
}
public String getServiceName() {
@@ -63,11 +65,20 @@ public class ClusterInstanceActivatedEvent extends Event {
return instanceId;
}
- public List<KubernetesService> getKubernetesServices() {
- return kubernetesServices;
+ public List<String> getAccessUrls() {
+ return accessUrls;
}
- public void setKubernetesServices(List<KubernetesService> kubernetesServices) {
- this.kubernetesServices = kubernetesServices;
+ public void setAccessUrls(List<String> accessUrls) {
+ this.accessUrls = accessUrls;
+ }
+
+ public void addAccessUrl(String accessUrl) {
+ if (accessUrls == null) {
+ accessUrls = new ArrayList<String>();
+ }
+ if (!accessUrls.contains(accessUrl)) {
+ accessUrls.add(accessUrl);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/6aa985aa/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 3d67d72..0aa85b0 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
@@ -119,27 +119,7 @@ public class ClusterInstanceActivatedProcessor extends MessageProcessor {
}
} else {
// Apply changes to the topology
- List<KubernetesService> kubernetesServices = event.getKubernetesServices();
- if (kubernetesServices != null) {
- // Set kubernetes services
- cluster.setKubernetesServices(kubernetesServices);
- try {
- // Generate access URLs for kubernetes services
- for (KubernetesService kubernetesService : kubernetesServices) {
- // Public IP = Kubernetes minion public IP
- String[] publicIPs = kubernetesService.getPublicIPs();
- if((publicIPs != null) && (publicIPs.length > 0)) {
- for(String publicIP : publicIPs) {
- URL accessURL = new URL(kubernetesService.getProtocol(), publicIP,
- kubernetesService.getPort(), "");
- cluster.addAccessUrl(accessURL.toString());
- }
- }
- }
- } catch (Exception e) {
- log.error("Could not create access URLs for Kubernetes services", e);
- }
- }
+ cluster.setAccessUrls(event.getAccessUrls());
ClusterInstance context = cluster.getInstanceContexts(event.getInstanceId());
if (context == null) {