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); }
