You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/08/18 06:04:28 UTC
[1/2] stratos git commit: This closes #435 on GitHub
Repository: stratos
Updated Branches:
refs/heads/master d45bd6e85 -> 96b4c26b4
This closes #435 on GitHub
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/96b4c26b
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/96b4c26b
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/96b4c26b
Branch: refs/heads/master
Commit: 96b4c26b4e7db0be03c96420d5a343ad7679d3c0
Parents: 7b9dc7d
Author: Imesh Gunaratne <im...@apache.org>
Authored: Tue Aug 18 09:34:22 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Tue Aug 18 09:34:22 2015 +0530
----------------------------------------------------------------------
----------------------------------------------------------------------
[2/2] stratos git commit: Adding Kubernetes Services to cluster in PCA
Posted by im...@apache.org.
Adding Kubernetes Services to cluster in PCA
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/7b9dc7d2
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/7b9dc7d2
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/7b9dc7d2
Branch: refs/heads/master
Commit: 7b9dc7d2f20aabc826b29c00ea30faa856c2f33d
Parents: d45bd6e
Author: Pubudu Gunatilaka <pu...@gmail.com>
Authored: Sun Aug 16 19:01:09 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Tue Aug 18 09:34:22 2015 +0530
----------------------------------------------------------------------
.../cartridge.agent/cartridge.agent/entity.py | 42 +++++++++++++++++++-
.../modules/event/topology/events.py | 25 +++++++++---
2 files changed, 61 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/7b9dc7d2/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/entity.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/entity.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/entity.py
index fd40511..3bb03e7 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/entity.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/entity.py
@@ -223,6 +223,8 @@ class Cluster:
""" :type : str """
self.app_id = ""
""" :type : str """
+ self.kubernetesService_map = {}
+ """ :type : dict[str, KubernetesService] """
# Not relevant to cartridge agent
# self.instance_id_instance_context_map = {}
# """ :type : dict[str, ClusterInstance] """
@@ -242,6 +244,17 @@ class Cluster:
"""
return self.member_map.values()
+ def get_kubernetesServices(self):
+ """
+ Provides the list of kubernetes Services in the cluster
+ :return: The list of KubernetesService object
+ :rtype: list[KubernetesService]
+ """
+ return self.kubernetesService_map.values()
+
+ def add_kubernetesService(self, kubernetesService):
+ self.kubernetesService_map[kubernetesService.id] = kubernetesService
+
def add_member(self, member):
self.member_map[member.member_id] = member
@@ -401,6 +414,33 @@ class Member:
self.add_port(port)
+class KubernetesService:
+ """
+ Represents a kubernetes service on a particular cluster
+ """
+
+ def __init__(self, id, portalIP, protocol, port, containerPort, serviceType, portName):
+ self.id = id
+ """ :type : str """
+ self.portalIP = portalIP
+ """ :type : str """
+ self.protocol = protocol
+ """ :type : str """
+ self.port = port
+ """ :type : str """
+ self.containerPort = containerPort
+ """ :type : str """
+ self.serviceType = serviceType
+ """ :type : str """
+ self.portName = portName
+ """ :type : str """
+ self.publicIPs = []
+ """ :type : list[str] """
+
+ def add_public_ips(self, public_ip):
+ self.publicIPs.append(public_ip)
+
+
class Port:
"""
Represents a port on a particular member
@@ -472,7 +512,7 @@ class Tenant:
Object type representing the tenant details of a single tenant
"""
- def __init__(self, tenant_id, tenant_domain):
+ def __init__(self, tenant_id, tenant_domain):
self.tenant_id = tenant_id
""" :type : int """
self.tenant_domain = tenant_domain
http://git-wip-us.apache.org/repos/asf/stratos/blob/7b9dc7d2/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/topology/events.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/topology/events.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/topology/events.py
index e11daab..48b4e2e 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/topology/events.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/topology/events.py
@@ -165,7 +165,7 @@ class CompleteTopologyEvent:
topology_str = json_obj["topology"] if "topology" in json_obj else None
if topology_str is not None:
topology_obj = Topology()
- topology_obj.initialized = True if str(topology_str["initialized"]).lower == "true" else False
+ topology_obj.initialized = True if str(topology_str["initialized"]).lower() == "true" else False
topology_obj.json_str = topology_str
# add service map
@@ -192,9 +192,9 @@ class CompleteTopologyEvent:
cl_deployment_policy_name, cl_autoscale_policy_name)
cluster_obj.hostnames = cluster_str["hostNames"]
cluster_obj.tenant_range = cluster_str["tenantRange"] if "tenantRange" in cluster_str else None
- cluster_obj.is_lb_cluster = True if str(cluster_str["isLbCluster"]).lower == "true" else False
- cluster_obj.is_kubernetes_cluster = True if str(cluster_str["isKubernetesCluster"]).lower == "true" \
- else False
+ cluster_obj.is_lb_cluster = True if str(cluster_str["isLbCluster"]).lower() == "true" else False
+ cluster_obj.is_kubernetes_cluster = True if str(cluster_str["isKubernetesCluster"]).lower() == \
+ "true" else False
# cluster_obj.status = cluster_str["status"] if "status" in cluster_str else None
cluster_obj.load_balancer_algorithm_name = cluster_str["loadBalanceAlgorithmName"] \
if "loadBalanceAlgorithmName" in cluster_str else None
@@ -220,7 +220,8 @@ class CompleteTopologyEvent:
member_obj.member_default_public_ip = member_str["defaultPublicIP"] \
if "defaultPublicIP" in member_str else None
member_obj.status = member_str["memberStateManager"]["stateStack"][-1]
- member_obj.member_private_ips = member_str["memberPrivateIPs"] if "memberPrivateIPs" in member_str \
+ member_obj.member_private_ips = member_str[
+ "memberPrivateIPs"] if "memberPrivateIPs" in member_str \
else None
member_obj.member_default_private_ip = member_str["defaultPrivateIP"] \
if "defaultPrivateIP" in member_str else None
@@ -235,6 +236,20 @@ class CompleteTopologyEvent:
mm_port_obj = Port(mm_port_str["protocol"], mm_port_str["value"], mm_port_proxy)
member_obj.add_port(mm_port_obj)
cluster_obj.add_member(member_obj)
+
+ for kubService_str in cluster_str["kubernetesServices"]:
+ kubService_id = kubService_str["id"]
+ kubService_portalIP = kubService_str["portalIP"]
+ kubService_protocol = kubService_str["protocol"]
+ kubService_port = kubService_str["port"]
+ kubService_containerPort = kubService_str["containerPort"]
+ kubService_serviceType = kubService_str["serviceType"]
+ kubService_portName = kubService_str["portName"]
+ kubService_obj = KubernetesService(kubService_id, kubService_portalIP, kubService_protocol,
+ kubService_port, kubService_containerPort,
+ kubService_serviceType, kubService_portName)
+ kubService_obj.publicIPs = kubService_str["publicIPs"]
+ cluster_obj.add_kubernetesService(kubService_obj)
service_obj.add_cluster(cluster_obj)
topology_obj.add_service(service_obj)
instance.topology = topology_obj