Repository: stratos Updated Branches: refs/heads/master 6ff03c4b9 -> 0f2b953bf
Adding PORT_MAPPINGS to payload parameters in jcloud IaaS Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/27190b76 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/27190b76 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/27190b76 Branch: refs/heads/master Commit: 27190b76b7a87270dfd0814cc34e8ce0695bf1e3 Parents: 6ff03c4 Author: anuruddhal <[email protected]> Authored: Wed Aug 12 22:47:32 2015 +0530 Committer: Imesh Gunaratne <[email protected]> Committed: Thu Aug 13 17:32:31 2015 +0530 ---------------------------------------------------------------------- .../applications/ApplicationUtils.java | 33 +++++++++++++++++--- .../applications/payload/BasicPayloadData.java | 14 ++++++++- 2 files changed, 42 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/27190b76/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationUtils.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationUtils.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationUtils.java index c8de90f..56dc571 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationUtils.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationUtils.java @@ -75,7 +75,7 @@ public class ApplicationUtils { return globalProperties; } - private static String createPortMappingPayloadString(Cartridge cartridge) { + private static String createPortsToPayloadString(Cartridge cartridge) { // port mappings StringBuilder portMapBuilder = new StringBuilder(); @@ -87,8 +87,7 @@ public class ApplicationUtils { } for (PortMapping portMapping : portMappings) { - int port = portMapping.getPort(); - portMapBuilder.append(port).append("|"); + portMapBuilder.append(portMapping.getPort()).append("|"); } // remove last "|" character @@ -97,6 +96,31 @@ public class ApplicationUtils { return portMappingString; } + private static String createPortMappingsToPayloadString(Cartridge cartridge) { + + // port mappings + StringBuilder portMapBuilder = new StringBuilder(); + PortMapping[] portMappings = cartridge.getPortMappings(); + + if (cartridge.getPortMappings()[0] == null) { + // first element is null, which means no port mappings. + return null; + } + + for (PortMapping portMapping : portMappings) { + int port = portMapping.getPort(); + //'NAME:mgt-console|PROTOCOL:https|PORT:30649|PROXY_PORT:0|TYPE:NodePort + portMapBuilder.append(String.format("NAME:%s|PROTOCOL:%s|PORT:%d|PROXY_PORT:%d|TYPE:%s;", + portMapping.getName(), portMapping.getProtocol(), + portMapping.getPort(), portMapping.getProxyPort(), + portMapping.getKubernetesPortType())); + } + //remove last ; + String portMappingString = portMapBuilder.toString().replaceAll(";$", ""); + return portMappingString; + + } + public static StringBuilder getTextPayload(String appId, String groupName, String clusterId) { StringBuilder payloadBuilder = new StringBuilder(); @@ -220,7 +244,8 @@ public class ApplicationUtils { basicPayloadData.setSubscriptionKey(subscriptionKey); //basicPayloadData.setDeployment("default");//currently hard coded to default basicPayloadData.setMultitenant(String.valueOf(cartridge.getMultiTenant())); - basicPayloadData.setPortMappings(createPortMappingPayloadString(cartridge)); + basicPayloadData.setPorts(createPortsToPayloadString(cartridge)); + basicPayloadData.setPortMappings(createPortMappingsToPayloadString(cartridge)); basicPayloadData.setServiceName(cartridge.getType()); basicPayloadData.setProvider(cartridge.getProvider()); basicPayloadData.setLvsVirtualIP(lvsVirtualIP); http://git-wip-us.apache.org/repos/asf/stratos/blob/27190b76/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java index 86fbac7..67d88e4 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java @@ -48,6 +48,7 @@ public class BasicPayloadData implements Serializable { private String subscriptionKey; private String applicationPath; private String gitRepositoryUrl; + private String ports; private String portMappings; private String multitenant; private String provider; @@ -94,7 +95,9 @@ public class BasicPayloadData implements Serializable { payloadBuilder.append(","); payloadBuilder.append("REPO_URL=" + getGitRepositoryUrl()); payloadBuilder.append(","); - payloadBuilder.append("PORTS=" + getPortMappings()); + payloadBuilder.append("PORTS=" + getPorts()); + payloadBuilder.append(","); + payloadBuilder.append("PORT_MAPPINGS=" + getPortMappings()); payloadBuilder.append(","); payloadBuilder.append("PROVIDER=" + getProvider()); @@ -226,6 +229,14 @@ public class BasicPayloadData implements Serializable { this.gitRepositoryUrl = gitRepositoryUrl; } + public String getPorts() { + return ports; + } + + public void setPorts(String ports) { + this.ports = ports; + } + public String getPortMappings() { return portMappings; } @@ -234,6 +245,7 @@ public class BasicPayloadData implements Serializable { this.portMappings = portMappings; } + public String getMultitenant() { return multitenant; }
