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] " +
