Adding logic to display access URLs for Kubernetes services in the UI

Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/59c1a335
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/59c1a335
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/59c1a335

Branch: refs/heads/master
Commit: 59c1a335aca4ea70a5bd5676c1e37ba1bbef0795
Parents: b8e5a7c
Author: Imesh Gunaratne <[email protected]>
Authored: Thu May 21 19:49:36 2015 +0530
Committer: Imesh Gunaratne <[email protected]>
Committed: Thu May 21 19:50:51 2015 +0530

----------------------------------------------------------------------
 .../topology/ClusterInstanceActivatedProcessor.java  | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/59c1a335/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 7c3e04e..c783ddc 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
@@ -29,6 +29,7 @@ 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;
 
 /**
@@ -117,6 +118,20 @@ public class ClusterInstanceActivatedProcessor extends 
MessageProcessor {
                 cluster.setKubernetesServices(kubernetesServices);
             }
 
+            try {
+                // Generate access URLs for kubernetes services
+                for (KubernetesService kubernetesService : kubernetesServices) 
{
+                    String[] publicIPs = kubernetesService.getPublicIPs();
+                    if((publicIPs != null) && (publicIPs.length > 0)) {
+                        URL accessURL = new 
URL(kubernetesService.getProtocol(), publicIPs[0],
+                                kubernetesService.getPort(), "");
+                        cluster.addAccessUrl(accessURL.toString());
+                    }
+                }
+            } catch (Exception e) {
+                log.error("Could not create access URLs for Kubernetes 
services");
+            }
+
             ClusterInstance context = 
cluster.getInstanceContexts(event.getInstanceId());
             if (context == null) {
                 log.warn("Cluster instance context is not found for [cluster] 
" +

Reply via email to