You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2015/03/01 19:35:47 UTC
[26/50] [abbrv] stratos git commit: Adding port mappings to payload
in kubernetes workflow
Adding port mappings to payload in kubernetes workflow
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/a854a9ca
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/a854a9ca
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/a854a9ca
Branch: refs/heads/docker-grouping-merge
Commit: a854a9caf5adea1a9f28e25e41b32eab3164ce2f
Parents: d58cc94
Author: Imesh Gunaratne <im...@apache.org>
Authored: Sun Mar 1 00:41:06 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Sun Mar 1 00:41:06 2015 +0530
----------------------------------------------------------------------
.../iaases/kubernetes/KubernetesIaas.java | 19 +++++++++++++++++--
.../iaases/kubernetes/KubernetesIaasUtil.java | 1 -
2 files changed, 17 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/a854a9ca/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 47e620c..f675a21 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
@@ -42,6 +42,7 @@ import org.apache.stratos.kubernetes.client.exceptions.KubernetesClientException
import org.apache.stratos.kubernetes.client.model.EnvironmentVariable;
import org.apache.stratos.kubernetes.client.model.Pod;
import org.apache.stratos.kubernetes.client.model.Service;
+import org.apache.stratos.kubernetes.client.model.Port;
import org.apache.stratos.messaging.domain.topology.KubernetesService;
import java.util.ArrayList;
@@ -59,6 +60,7 @@ public class KubernetesIaas extends Iaas {
private static final String PAYLOAD_PARAMETER_SEPARATOR = ",";
private static final String PAYLOAD_PARAMETER_NAME_VALUE_SEPARATOR = "=";
private static final String PAYLOAD_PARAMETER_PREFIX = "payload_parameter.";
+ private static final String PORT_MAPPINGS = "PORT_MAPPINGS";
private PartitionValidator partitionValidator;
private List<NameValuePair> payload;
@@ -385,8 +387,8 @@ public class KubernetesIaas extends Iaas {
EnvironmentVariable[] environmentVariables = KubernetesIaasUtil.prepareEnvironmentVariables(
clusterContext, memberContext);
- kubernetesApi.createPod(podId, podLabel, dockerImage,
- KubernetesIaasUtil.convertPortMappings(cartridge.getPortMappings()), environmentVariables);
+ List<Port> ports = KubernetesIaasUtil.convertPortMappings(cartridge.getPortMappings());
+ kubernetesApi.createPod(podId, podLabel, dockerImage, ports, environmentVariables);
// Add pod id to member context and persist
memberContext.setKubernetesPodId(podId);
@@ -510,6 +512,7 @@ public class KubernetesIaas extends Iaas {
Cartridge cartridge) {
if(cartridge != null) {
boolean servicePortsUpdated = false;
+ StringBuilder portMappingStrBuilder = new StringBuilder();
for (PortMapping portMapping : cartridge.getPortMappings()) {
if(portMapping.getKubernetesServicePort() == 0) {
int nextServicePort = kubernetesClusterContext.getNextServicePort();
@@ -520,12 +523,24 @@ public class KubernetesIaas extends Iaas {
portMapping.setKubernetesServicePort(nextServicePort);
servicePortsUpdated = true;
portMapping.setKubernetesServicePortMapping(true);
+
+ if(portMappingStrBuilder.toString().length() > 0) {
+ portMappingStrBuilder.append(":");
+ }
+
+ portMappingStrBuilder.append(String.format("PROTOCOL=%s|PORT=%d|PROXY_PORT=%d",
+ portMapping.getProtocol(), portMapping.getPort(), portMapping.getProxyPort()));
+
if (log.isInfoEnabled()) {
log.info(String.format("Kubernetes service port generated: [cluster-id] %s [port] %d " +
"[service-port] %d", clusterId, portMapping.getPort(), nextServicePort));
}
}
}
+
+ NameValuePair nameValuePair = new NameValuePair(PORT_MAPPINGS, portMappingStrBuilder.toString());
+ payload.add(nameValuePair);
+
if(servicePortsUpdated) {
// Persist service ports added to port mappings
CloudControllerContext.getInstance().updateKubernetesClusterContext(kubernetesClusterContext);
http://git-wip-us.apache.org/repos/asf/stratos/blob/a854a9ca/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaasUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaasUtil.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaasUtil.java
index 80cc395..7bfc68e 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaasUtil.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaasUtil.java
@@ -116,7 +116,6 @@ public class KubernetesIaasUtil {
Port port = new Port();
port.setName(preparePortNameFromPortMapping(portMapping));
port.setContainerPort(portMapping.getPort());
- port.setHostPort(portMapping.getKubernetesServicePort());
ports.add(port);
}
return ports;