moving getPersiastacePaylod() to IAAS since it differ from IAAS

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

Branch: refs/heads/master
Commit: 192133f969a8df73de4545d3b894fcdca32ec870
Parents: 41efefa
Author: Udara Liyanage <[email protected]>
Authored: Fri Feb 21 10:19:47 2014 -0500
Committer: Udara Liyanage <[email protected]>
Committed: Fri Feb 21 10:19:47 2014 -0500

----------------------------------------------------------------------
 .../apache/stratos/cartridge/agent/CartridgeAgent.java   |  2 +-
 .../cloud/controller/iaases/OpenstackNovaIaas.java       |  5 +++++
 .../stratos/cloud/controller/iaases/VCloudIaas.java      |  5 +++++
 .../controller/impl/CloudControllerServiceImpl.java      | 11 +++++------
 .../apache/stratos/cloud/controller/interfaces/Iaas.java |  8 +++++++-
 5 files changed, 23 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/192133f9/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/CartridgeAgent.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/CartridgeAgent.java
 
b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/CartridgeAgent.java
index dc449b0..93ef50a 100644
--- 
a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/CartridgeAgent.java
+++ 
b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/CartridgeAgent.java
@@ -131,7 +131,7 @@ public class CartridgeAgent implements Runnable {
             CartridgeAgentEventPublisher.publishInstanceActivatedEvent();
         }
 
-
+        ExtensionUtils.executeVolumeMountExtension();
         // TODO: Start this thread only if this node is configured as a commit 
true node
         // Start periodical file checker task
         // ScheduledExecutorService scheduler = 
Executors.newScheduledThreadPool(1);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/192133f9/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 26e0f24..2a68fee 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
@@ -522,4 +522,9 @@ public class OpenstackNovaIaas extends Iaas {
         }
        }
 
+    @Override
+    public String getIaasDevice(String device) {
+        return device;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/192133f9/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/VCloudIaas.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/VCloudIaas.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/VCloudIaas.java
index bbc6951..7a44da0 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/VCloudIaas.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/VCloudIaas.java
@@ -235,4 +235,9 @@ public class VCloudIaas extends Iaas {
                
        }
 
+    @Override
+    public String getIaasDevice(String device) {
+        return device;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/192133f9/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 ae37667..3df66b9 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
@@ -247,8 +247,9 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
             addToPayload(payload, "NETWORK_PARTITION_ID", 
memberContext.getNetworkPartitionId());
             addToPayload(payload, "PARTITION_ID", partitionId);
 
+            Iaas iaas = iaasProvider.getIaas();
             if(ctxt.isVolumeRequired()){
-                addToPayload(payload, "PERSISTENCE_MAPPING", 
getPersistencePayload(cartridge).toString());
+                addToPayload(payload, "PERSISTENCE_MAPPING", 
getPersistencePayload(cartridge, iaas).toString());
             }
             
             if (log.isDebugEnabled()) {
@@ -256,8 +257,6 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
             }
             // reloading the payload with memberID
             iaasProvider.setPayload(payload.toString().getBytes());
-
-            Iaas iaas = iaasProvider.getIaas();
             
             if (iaas == null) {
                 if(log.isDebugEnabled()) {
@@ -386,17 +385,17 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
                volume.setIaasType(iaasProvider.getType());
        }
 
-       private StringBuilder getPersistencePayload(Cartridge cartridge) {
+       private StringBuilder getPersistencePayload(Cartridge cartridge, Iaas 
iaas) {
                StringBuilder persistencePayload = new StringBuilder();
                if(isPersistenceMappingAvailable(cartridge)){
                        for(Volume volume : 
cartridge.getPersistence().getVolumes()){
                                if(log.isDebugEnabled()){
                                        log.debug("Adding persistence mapping " 
+ volume.toString());
                                }
-                if(persistencePayload.toString() != null) {
+                if(persistencePayload.length() != 0) {
                    persistencePayload.append("|");
                 }
-                               persistencePayload.append(volume.getDevice());
+                               
persistencePayload.append(iaas.getIaasDevice(volume.getDevice()));
                                persistencePayload.append("|");
                 persistencePayload.append(volume.getMappingPath());
                        }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/192133f9/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/Iaas.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/Iaas.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/Iaas.java
index dfd15c8..f45d32e 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/Iaas.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/Iaas.java
@@ -155,5 +155,11 @@ public abstract class Iaas {
      * @param volumeId volume id of the volume to be detached.
      */
     public abstract void deleteVolume(String volumeId);
-    
+
+    /*
+    This returns the device of the volume specified by the user. This is 
depends on IAAS.
+    For an instance /dev/sdf maps to /dev/xvdf in EC2
+     */
+
+    public abstract String getIaasDevice(String device);
 }

Reply via email to