Updated Branches:
  refs/heads/master 859d6d716 -> 6d2513384

creating a payload.zip file out of launch-params and the files inside user-data 
directory


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

Branch: refs/heads/master
Commit: 2218b2cedf7ec3f0278081fa8744207bc50207a5
Parents: c6bfb6b
Author: rekathiru <[email protected]>
Authored: Mon Oct 28 10:24:43 2013 +0530
Committer: rekathiru <[email protected]>
Committed: Mon Oct 28 10:24:43 2013 +0530

----------------------------------------------------------------------
 .../cloud/controller/iaases/AWSEC2Iaas.java     | 17 ++++------
 .../controller/iaases/OpenstackNovaIaas.java    | 19 +++++------
 .../impl/CloudControllerServiceImpl.java        | 30 ++---------------
 .../util/CloudControllerConstants.java          |  7 ++--
 .../cloud/controller/util/ServiceContext.java   | 35 +++++++++++++-------
 5 files changed, 43 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2218b2ce/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
index ff12fe8..c944a65 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
@@ -18,10 +18,9 @@
  */
 package org.apache.stratos.cloud.controller.iaases;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.cloud.controller.exception.CloudControllerException;
@@ -42,11 +41,9 @@ import org.jclouds.compute.domain.TemplateBuilder;
 import org.jclouds.compute.options.TemplateOptions;
 import org.jclouds.ec2.domain.KeyPair;
 import org.jclouds.ec2.domain.PublicIpInstanceIdPair;
-import org.wso2.carbon.utils.CarbonUtils;
 
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
+import java.util.ArrayList;
+import java.util.Collections;
 
 public class AWSEC2Iaas extends Iaas {
 
@@ -132,7 +129,7 @@ public class AWSEC2Iaas extends Iaas {
         }
 
 
-               if (iaas.getProperty(CloudControllerConstants.PAYLOAD_FOLDER) 
!= null) {
+               /*if (iaas.getProperty(CloudControllerConstants.PAYLOAD_FOLDER) 
!= null) {
                        template.getOptions()
                                        .as(AWSEC2TemplateOptions.class)
                                        .userData(
@@ -140,7 +137,7 @@ public class AWSEC2Iaas extends Iaas {
                                                                        
.getCarbonHome()
                                                                        + 
File.separator
                                                                        + 
iaas.getProperty(CloudControllerConstants.PAYLOAD_FOLDER)));
-               }
+               }*/
 
                if (iaas.getProperty("keyPair") != null) {
                        template.getOptions().as(AWSEC2TemplateOptions.class)

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2218b2ce/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
index 1af9e20..cffae13 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
@@ -18,10 +18,10 @@
  */
 package org.apache.stratos.cloud.controller.iaases;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-
+import com.google.common.base.Predicate;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.cloud.controller.exception.CloudControllerException;
@@ -43,12 +43,9 @@ import org.jclouds.openstack.nova.v2_0.domain.FloatingIP;
 import org.jclouds.openstack.nova.v2_0.domain.KeyPair;
 import org.jclouds.openstack.nova.v2_0.extensions.FloatingIPApi;
 import org.jclouds.openstack.nova.v2_0.extensions.KeyPairApi;
-import org.wso2.carbon.utils.CarbonUtils;
 
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
+import java.util.ArrayList;
+import java.util.Collections;
 
 public class OpenstackNovaIaas extends Iaas {
 
@@ -123,7 +120,7 @@ public class OpenstackNovaIaas extends Iaas {
                                                                        
CloudControllerConstants.ENTRY_SEPARATOR));
                }
 
-               if (iaas.getProperty(CloudControllerConstants.PAYLOAD_FOLDER) 
!= null) {
+               /*if (iaas.getProperty(CloudControllerConstants.PAYLOAD_FOLDER) 
!= null) {
                        template.getOptions()
                                        .as(NovaTemplateOptions.class)
                                        .userData(
@@ -132,7 +129,7 @@ public class OpenstackNovaIaas extends Iaas {
                                                                        + 
File.separator
                                                                        + 
iaas.getProperty(CloudControllerConstants.PAYLOAD_FOLDER)));
                }
-
+*/
                if (iaas.getProperty("keyPair") != null) {
                        template.getOptions().as(NovaTemplateOptions.class)
                                        
.keyPairName(iaas.getProperty("keyPair"));

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2218b2ce/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
index bc58a5c..be3bb79 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
@@ -1003,35 +1003,10 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
                        log.error(msg);
                        throw new UnregisteredCartridgeException(msg);
                }
-
-/*
-
-                       // write payload file
-                       try {
-                               String uniqueName = clusterId + ".txt";
-                               FileUtils.forceMkdir(new File(
-                                               
CloudControllerConstants.PAYLOAD_DIR));
-                               File payloadFile = new File(
-                                               
CloudControllerConstants.PAYLOAD_DIR + uniqueName);
-                               FileUtils.writeByteArrayToFile(payloadFile, 
payload);
-                               
newServiceCtxt.setPayloadFile(payloadFile.getPath());
-
-                       } catch (IOException e) {
-                               String msg = "Failed while persisting the 
payload of clusterId : "
-                                               + clusterId;
-                               log.error(msg, e);
-                               throw new CloudControllerException(msg, e);
-                       }
-
-               } else {
-                       log.debug("Payload is null or empty for :\n "
-                                       + newServiceCtxt);
-               }*/
-
                // persist
         String uniqueName = clusterId + "-"
                 + UUID.randomUUID() + ".xml";
-        newServiceCtxt.setPayloadFile("/tmp/" + newServiceCtxt.getClusterId() 
+ ".zip");
+        newServiceCtxt.setPayloadFile("/tmp/" + 
CloudControllerConstants.PAYLOAD_NAME + ".zip");
         newServiceCtxt.generatePayload();
         // notify consumer by adding services
         TopologyBuilder.handleClusterCreated(newServiceCtxt);
@@ -1039,7 +1014,8 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
             FileUtils.writeStringToFile(new 
File(CloudControllerConstants.SERVICES_DIR + uniqueName),
                                             newServiceCtxt.toXml());
         } catch (IOException e) {
-            //TODO
+            log.error("couldn't write the service definition", e);
+            throw new CloudControllerException("couldn't write the service 
definition", e);
         }
         log.info("Service successfully registered! Domain - " + clusterId
                 + ", Cartridge type - " + cartridgeType);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2218b2ce/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerConstants.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerConstants.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerConstants.java
index f5ebd87..5dd80b0 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerConstants.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerConstants.java
@@ -179,7 +179,7 @@ public final class CloudControllerConstants {
     /**
      * Payload related constants
      */
-    public static final String PAYLOAD_FOLDER = "payload";
+    public static final String PAYLOAD_NAME = "payload";
     public static final String ENTRY_SEPARATOR = ",";
     
     /**
@@ -200,10 +200,7 @@ public final class CloudControllerConstants {
        /**
         * Directories
         */
-       public static final String PAYLOAD_DIR = CarbonUtils.getCarbonHome() + 
File.separator +
-                                                "resources" + File.separator + 
PAYLOAD_FOLDER +
-                                                File.separator;
-       public static final String SERVICES_DIR = 
CarbonUtils.getCarbonRepository() 
+       public static final String SERVICES_DIR = 
CarbonUtils.getCarbonRepository()
                + File.separator + "services"+File.separator;
     
     /**

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2218b2ce/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/ServiceContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/ServiceContext.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/ServiceContext.java
index f37a35a..b60a2c1 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/ServiceContext.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/ServiceContext.java
@@ -24,8 +24,6 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.cloud.controller.exception.CloudControllerException;
 import org.wso2.carbon.utils.CarbonUtils;
 
-import javax.activation.DataHandler;
-import javax.activation.FileDataSource;
 import java.io.*;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -45,7 +43,7 @@ public class ServiceContext implements Serializable{
        private String clusterId;
     private String tenantRange;
     private String hostName;
-    private String payloadFilePath;
+    private String payloadFilePath = "/tmp/" + 
CloudControllerConstants.PAYLOAD_NAME + ".zip";
     private String cartridgeType;
     private Cartridge cartridge;
     private StringBuilder payload;
@@ -264,18 +262,31 @@ public class ServiceContext implements Serializable{
             log.error(e.getMessage());
             throw new CloudControllerException(e.getMessage(), e);
         }
-
-        FileDataSource payloadDataSource;
-        DataHandler payloadDataHandler;
-        byte [] payloadData;
+        byte [] payloadData = null;
+        File file = null;
+        FileInputStream fileInputStream = null;
         try {
-            payloadDataSource = new FileDataSource(new File(payloadFilePath));
-            payloadDataHandler = new DataHandler(payloadDataSource);
-            payloadData = (byte[]) payloadDataHandler.getContent();
-        } catch (Exception e) {
-            log.error(e.getMessage());
+            file = new File(payloadFilePath);
+            payloadData = new byte[(int)file.length()];
+            fileInputStream = new FileInputStream(file);
+            try {
+                fileInputStream.read(payloadData);
+            } catch (IOException e) {
+                 log.error(e.getMessage());
+            throw new CloudControllerException(e.getMessage(), e);
+            }
+        } catch (FileNotFoundException e) {
+             log.error(e.getMessage());
+            throw new CloudControllerException(e.getMessage(), e);
+        }
+        try {
+            fileInputStream.close();
+            file.delete();
+        } catch (IOException e) {
+             log.error(e.getMessage());
             throw new CloudControllerException(e.getMessage(), e);
         }
+
         return payloadData;
     }
 

Reply via email to