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 11:19:11 UTC
[2/3] stratos git commit: Update the kubernetes service against the
cluster instance id
Update the kubernetes service against the cluster instance id
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/de7c53c5
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/de7c53c5
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/de7c53c5
Branch: refs/heads/stratos-4.1.x
Commit: de7c53c5c8786f77e34abc2c4a5e7cd771c3930f
Parents: 7645bc5
Author: gayangunarathne <ga...@wso2.com>
Authored: Mon Sep 21 14:42:37 2015 +0530
Committer: gayangunarathne <ga...@wso2.com>
Committed: Mon Sep 21 14:42:37 2015 +0530
----------------------------------------------------------------------
.../cloud/controller/domain/ClusterContext.java | 37 +++++++++++++++-----
.../iaases/kubernetes/KubernetesIaas.java | 8 ++---
.../messaging/topology/TopologyBuilder.java | 6 ++--
3 files changed, 36 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/de7c53c5/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
index 38aa8bf..9e8b7d2 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
@@ -23,9 +23,7 @@ import org.apache.stratos.common.Properties;
import org.apache.stratos.messaging.domain.topology.KubernetesService;
import java.io.Serializable;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
/**
* Holds runtime data of a Cluster.
@@ -46,7 +44,7 @@ public class ClusterContext implements Serializable {
// on an unregistration.
private long timeoutInMillis;
private Properties properties;
- private Map<String, KubernetesService> kubernetesServices;
+ private Map<String, Map<String,KubernetesService>> kubernetesServices;
public ClusterContext(String applicationId, String cartridgeType, String clusterId, String payload, String hostName,
boolean isLbCluster, Properties properties) {
@@ -117,12 +115,35 @@ public class ClusterContext implements Serializable {
this.properties = properties;
}
- public Collection<KubernetesService> getKubernetesServices() {
- return kubernetesServices.values();
+ public Collection<KubernetesService> getKubernetesServices(String clusterInstanceId) {
+ Collection<KubernetesService> arrayKubernetesList = new ArrayList<>();
+ if (kubernetesServices.get(clusterInstanceId) != null) {
+ arrayKubernetesList = kubernetesServices.get(clusterInstanceId).values();
+ }
+ return arrayKubernetesList;
}
- public void addKubernetesService(KubernetesService kubernetesService) {
- this.kubernetesServices.put(kubernetesService.getId(), kubernetesService);
+ public Collection<KubernetesService> getAllKubernetesServicesForCluster() {
+
+ Collection<KubernetesService> allServices = new ArrayList<>();
+
+ Iterator<Map.Entry<String, Map<String, KubernetesService>>> kubServicesPerInsatnceEntry = kubernetesServices.entrySet().iterator();
+ while (kubServicesPerInsatnceEntry.hasNext()) {
+ Map.Entry<String, Map<String, KubernetesService>> kubServicePerClusterInstance = kubServicesPerInsatnceEntry.next();
+ Iterator<Map.Entry<String, KubernetesService>> kubServiceEntry = kubServicePerClusterInstance.getValue().entrySet().iterator();
+ while (kubServiceEntry.hasNext()) {
+ allServices.add(kubServiceEntry.next().getValue());
+ }
+
+ }
+ return allServices;
+
+ }
+
+ public void addKubernetesService(String clusterInstanceId,KubernetesService kubernetesService) {
+ HashMap<String, KubernetesService> kubernetesServiceHashMap = new HashMap<>();
+ kubernetesServiceHashMap.put(kubernetesService.getId(), kubernetesService);
+ this.kubernetesServices.put(clusterInstanceId, kubernetesServiceHashMap);
}
public void removeKubernetesService(String serviceName) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/de7c53c5/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
index cd009fc..5a32c70 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
@@ -519,7 +519,7 @@ public class KubernetesIaas extends Iaas {
if (clusterPortMappings != null) {
String serviceName = DigestUtils.md5Hex(clusterId);
- Collection<KubernetesService> kubernetesServices = clusterContext.getKubernetesServices();
+ Collection<KubernetesService> kubernetesServices = clusterContext.getKubernetesServices(memberContext.getClusterInstanceId());
for (ClusterPortMapping clusterPortMapping : clusterPortMappings) {
// Skip if already created
@@ -620,7 +620,7 @@ public class KubernetesIaas extends Iaas {
kubernetesService.setContainerPort(containerPort);
- clusterContext.addKubernetesService(kubernetesService);
+ clusterContext.addKubernetesService(memberContext.getClusterInstanceId(),kubernetesService);
CloudControllerContext.getInstance().persist();
if (log.isInfoEnabled()) {
@@ -856,7 +856,7 @@ public class KubernetesIaas extends Iaas {
+ clusterId);
// Remove kubernetes services
- List<KubernetesService> kubernetesServices = Lists.newArrayList(clusterContext.getKubernetesServices());
+ List<KubernetesService> kubernetesServices = Lists.newArrayList(clusterContext.getAllKubernetesServicesForCluster());
if (kubernetesServices != null) {
for (KubernetesService kubernetesService : kubernetesServices) {
try {
@@ -1076,7 +1076,7 @@ public class KubernetesIaas extends Iaas {
if (clusterContext != null) {
ArrayList<KubernetesService> kubernetesServices =
- Lists.newArrayList(clusterContext.getKubernetesServices());
+ Lists.newArrayList(clusterContext.getAllKubernetesServicesForCluster());
for (KubernetesService kubernetesService : kubernetesServices) {
KubernetesClusterContext kubernetesClusterContext =
http://git-wip-us.apache.org/repos/asf/stratos/blob/de7c53c5/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 528c6ae..e94bb52 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
@@ -454,7 +454,7 @@ public class TopologyBuilder {
Cluster cluster = service.getCluster(memberContext.getClusterId());
String clusterId = cluster.getClusterId();
ClusterContext clusterContext = CloudControllerContext.getInstance().getClusterContext(clusterId);
- List<KubernetesService> kubernetesServices = Lists.newArrayList(clusterContext.getKubernetesServices());
+ List<KubernetesService> kubernetesServices = Lists.newArrayList(clusterContext.getKubernetesServices(memberContext.getClusterInstanceId()));
if (!kubernetesServices.isEmpty()) {
cluster.setKubernetesServices(kubernetesServices);
@@ -605,7 +605,7 @@ public class TopologyBuilder {
List<PortMapping> portMappings = Arrays.asList(cartridge.getPortMappings());
String clusterId = cluster.getClusterId();
ClusterContext clusterContext = CloudControllerContext.getInstance().getClusterContext(clusterId);
- Collection<KubernetesService> kubernetesServices = clusterContext.getKubernetesServices();
+ Collection<KubernetesService> kubernetesServices = clusterContext.getKubernetesServices(instanceActivatedEvent.getClusterInstanceId());
for (PortMapping portMapping : portMappings) {
if (!kubernetesServices.isEmpty()) {
@@ -852,7 +852,7 @@ public class TopologyBuilder {
clusterStatusClusterActivatedEvent.getInstanceId());
try {
TopologyManager.acquireWriteLock();
- Collection<KubernetesService> kubernetesServices = clusterContext.getKubernetesServices();
+ Collection<KubernetesService> kubernetesServices = clusterContext.getKubernetesServices(clusterStatusClusterActivatedEvent.getInstanceId());
if (kubernetesServices != null) {