adding subscription payload properties to the payload, which is needed in 
container scenario


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/06816a16
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/06816a16
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/06816a16

Branch: refs/heads/master
Commit: 06816a1688672f9efe1ad11b0311bd378f2dd2e4
Parents: 5dd5c29
Author: R-Rajkumar <[email protected]>
Authored: Sat Nov 8 09:58:33 2014 +0530
Committer: R-Rajkumar <[email protected]>
Committed: Sat Nov 8 09:58:33 2014 +0530

----------------------------------------------------------------------
 .../autoscaler/applications/ApplicationUtils.java   | 16 ++++++++++++++--
 .../parser/DefaultApplicationParser.java            |  6 +++---
 2 files changed, 17 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/06816a16/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 e82882c..a8aab5e 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
@@ -192,7 +192,8 @@ public class ApplicationUtils {
     }
 
     public static PayloadData createPayload(String appId, String groupName, 
CartridgeInfo cartridgeInfo, String subscriptionKey, int tenantId, String 
clusterId,
-                                            String hostName, String repoUrl, 
String alias, Map<String, String> customPayloadEntries, String[] 
dependencyAliases)
+                                            String hostName, String repoUrl, 
String alias, Map<String, String> customPayloadEntries, String[] 
dependencyAliases, 
+                                            
org.apache.stratos.cloud.controller.stub.pojo.Properties properties)
             throws ApplicationDefinitionException {
 
         //Create the payload
@@ -223,7 +224,18 @@ public class ApplicationUtils {
                 }
             }
         }
-
+        
+        // get subscription payload parameters (MB_IP, MB_PORT so on) and set 
them to payload (kubernetes scenario)
+        if (properties != null && properties.getProperties() != null && 
properties.getProperties().length != 0) {
+                       for (Property property : properties.getProperties()) {
+                               if 
(property.getName().startsWith("payload_parameter.")) {
+                    String payloadParamName = property.getName();
+                    String payloadParamSubstring = 
payloadParamName.substring(payloadParamName.indexOf(".") + 1);
+                    payloadData.add(payloadParamSubstring, 
property.getValue());
+                               }
+                       }
+               }
+        
         // DEPLOYMENT payload param must be set because its used by puppet 
agent
         // to generate the hostname. Therefore, if DEPLOYMENT is not set in 
cartridgeInfo properties,
         // adding the DEPLOYMENT="default" param

http://git-wip-us.apache.org/repos/asf/stratos/blob/06816a16/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
index ff0dcf1..a1dad1c 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
@@ -644,7 +644,7 @@ public class DefaultApplicationParser implements 
ApplicationParser {
             assert subscribableInfoCtxt != null;
             ApplicationClusterContext appClusterCtxt = 
createApplicationClusterContext(appId, groupName, cartridgeInfo,
                     key, tenantId, subscribableInfoCtxt.getRepoUrl(), 
subscribableCtxt.getAlias(),
-                    clusterId, hostname, 
subscribableInfoCtxt.getDeploymentPolicy(), false, 
subscribableInfoCtxt.getDependencyAliases());
+                    clusterId, hostname, 
subscribableInfoCtxt.getDeploymentPolicy(), false, 
subscribableInfoCtxt.getDependencyAliases(), 
subscribableInfoCtxt.getProperties());
 
             
appClusterCtxt.setAutoscalePolicyName(subscribableInfoCtxt.getAutoscalingPolicy());
                
appClusterCtxt.setProperties(subscribableInfoCtxt.getProperties());
@@ -678,12 +678,12 @@ public class DefaultApplicationParser implements 
ApplicationParser {
     private ApplicationClusterContext createApplicationClusterContext (String 
appId, String groupName, CartridgeInfo cartridgeInfo,
                                                                        String 
subscriptionKey, int tenantId, String repoUrl,
                                                                        String 
alias, String clusterId, String hostname,
-                                                                       String 
deploymentPolicy, boolean isLB, String[] dependencyAliases)
+                                                                       String 
deploymentPolicy, boolean isLB, String[] dependencyAliases, Properties 
properties)
             throws ApplicationDefinitionException {
 
         // Create text payload
         String textPayload = ApplicationUtils.createPayload(appId, groupName, 
cartridgeInfo, subscriptionKey, tenantId, clusterId,
-                hostname, repoUrl, alias, null, dependencyAliases).toString();
+                hostname, repoUrl, alias, null, dependencyAliases, 
properties).toString();
 
         return new ApplicationClusterContext(cartridgeInfo.getType(), 
clusterId, hostname, textPayload, deploymentPolicy, isLB);
     }

Reply via email to