You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ud...@apache.org on 2014/01/14 09:33:09 UTC

[1/2] git commit: moving volume mapping to IASS

Updated Branches:
  refs/heads/master 9e064c845 -> 803e58cd8


moving volume mapping to IASS


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

Branch: refs/heads/master
Commit: 3da6962cfb0fa11999f9ead6f36e58b50e84f63d
Parents: b8d7d0c
Author: Udara Liyanage <ud...@wso2.com>
Authored: Tue Jan 14 14:01:42 2014 -0500
Committer: Udara Liyanage <ud...@wso2.com>
Committed: Tue Jan 14 14:01:42 2014 -0500

----------------------------------------------------------------------
 .../cloud/controller/iaases/AWSEC2Iaas.java     | 17 ++++++++
 .../controller/iaases/OpenstackNovaIaas.java    |  9 ++++
 .../cloud/controller/iaases/VCloudIaas.java     |  9 ++++
 .../impl/CloudControllerServiceImpl.java        | 46 +++++++++-----------
 .../cloud/controller/interfaces/Iaas.java       |  5 +++
 5 files changed, 60 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3da6962c/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 c6375d2..aad717c 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
@@ -31,6 +31,7 @@ import org.apache.stratos.cloud.controller.exception.InvalidZoneException;
 import org.apache.stratos.cloud.controller.interfaces.Iaas;
 import org.apache.stratos.cloud.controller.jcloud.ComputeServiceBuilderUtil;
 import org.apache.stratos.cloud.controller.pojo.IaasProvider;
+import org.apache.stratos.cloud.controller.pojo.PersistanceMapping;
 import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
 import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
 import org.apache.stratos.cloud.controller.validate.AWSEC2PartitionValidator;
@@ -47,6 +48,7 @@ import org.jclouds.compute.domain.TemplateBuilder;
 import org.jclouds.compute.options.TemplateOptions;
 import org.jclouds.ec2.EC2ApiMetadata;
 import org.jclouds.ec2.EC2Client;
+import org.jclouds.ec2.compute.options.EC2TemplateOptions;
 import org.jclouds.ec2.domain.AvailabilityZoneInfo;
 import org.jclouds.ec2.domain.KeyPair;
 import org.jclouds.ec2.domain.PublicIpInstanceIdPair;
@@ -55,6 +57,8 @@ import org.jclouds.ec2.options.DescribeAvailabilityZonesOptions;
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
 import java.util.Set;
 
 @SuppressWarnings("deprecation")
@@ -268,6 +272,19 @@ public class AWSEC2Iaas extends Iaas {
 		return ip;
 
 	}
+	
+	@Override
+	public void mapPersistanceVolumes(Template template, List<PersistanceMapping> persistancemapings){
+		if(persistancemapings ==null || persistancemapings.isEmpty())
+			return;
+		
+        Iterator< PersistanceMapping> it = persistancemapings.iterator();
+        while(it.hasNext()){  
+        	PersistanceMapping maping = it.next();
+        	template.getOptions().as(EC2TemplateOptions.class)
+            	.mapEBSSnapshotToDeviceName(maping.getDevice(), maping.getSnapshotId(), maping.getSize(), maping.isRemoveOntermination());
+        }
+    }
 
 	/**
 	 * @param ec2Client

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3da6962c/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 260571a..6fe664a 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
@@ -32,6 +32,7 @@ import org.apache.stratos.cloud.controller.exception.InvalidZoneException;
 import org.apache.stratos.cloud.controller.interfaces.Iaas;
 import org.apache.stratos.cloud.controller.jcloud.ComputeServiceBuilderUtil;
 import org.apache.stratos.cloud.controller.pojo.IaasProvider;
+import org.apache.stratos.cloud.controller.pojo.PersistanceMapping;
 import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
 import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
 import org.apache.stratos.cloud.controller.validate.OpenstackNovaPartitionValidator;
@@ -54,6 +55,7 @@ import org.jclouds.openstack.nova.v2_0.extensions.KeyPairApi;
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.List;
 
 public class OpenstackNovaIaas extends Iaas {
 
@@ -350,4 +352,11 @@ public class OpenstackNovaIaas extends Iaas {
         return new OpenstackNovaPartitionValidator();
     }
 
+	@Override
+	public void mapPersistanceVolumes(Template template,
+			List<PersistanceMapping> persistancemapings) {
+		// TODO Auto-generated method stub
+		
+	}
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3da6962c/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 ec5d69d..56ea1ef 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
@@ -25,6 +25,7 @@ import org.apache.stratos.cloud.controller.exception.CloudControllerException;
 import org.apache.stratos.cloud.controller.interfaces.Iaas;
 import org.apache.stratos.cloud.controller.jcloud.ComputeServiceBuilderUtil;
 import org.apache.stratos.cloud.controller.pojo.IaasProvider;
+import org.apache.stratos.cloud.controller.pojo.PersistanceMapping;
 import org.apache.stratos.cloud.controller.validate.interfaces.PartitionValidator;
 import org.jclouds.compute.domain.NodeMetadata;
 import org.jclouds.compute.domain.Template;
@@ -36,6 +37,7 @@ import org.jclouds.vcloud.domain.network.IpAddressAllocationMode;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.StringWriter;
+import java.util.List;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 
@@ -201,4 +203,11 @@ public class VCloudIaas extends Iaas {
         return null;
     }
 
+	@Override
+	public void mapPersistanceVolumes(Template template,
+			List<PersistanceMapping> persistancemapings) {
+		// TODO Auto-generated method stub
+		
+	}
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3da6962c/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 ce3eae9..385e119 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
@@ -264,20 +264,8 @@ public class CloudControllerServiceImpl implements CloudControllerService {
             addToPayload(payload, "LB_CLUSTER_ID", memberContext.getLbClusterId());
             addToPayload(payload, "NETWORK_PARTITION_ID", memberContext.getNetworkPartitionId());
             addToPayload(payload, "PARTITION_ID", partitionId);
-            
-            StringBuilder persistancePayload = new StringBuilder();            
-            if(isPersistanceMappingAvailable(cartridge)){
-            	int i=0;
-            	for(; i<cartridge.getPeristanceMappings().size()-1;i++){
-            		if(log.isDebugEnabled()){
-            			log.debug("Adding persistance mapping " + cartridge.getPeristanceMappings().get(i).toString());
-            		}
-            		persistancePayload.append(cartridge.getPeristanceMappings().get(i).getDevice());
-            		persistancePayload.append("|");
-            	}
-            	persistancePayload.append(cartridge.getPeristanceMappings().get(i).getDevice());
-            }
-            addToPayload(payload, "PERSISTANCE_MAPPING", persistancePayload.toString());
+                        
+            addToPayload(payload, "PERSISTANCE_MAPPING", getPersistancePayload(cartridge).toString());
             
             if (log.isDebugEnabled()) {
                 log.debug("Payload: " + payload.toString());
@@ -306,18 +294,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
             // get the pre built ComputeService from provider or region or zone or host
             computeService = iaasProvider.getComputeService();
             template = iaasProvider.getTemplate();
-            
-            // set volume mappings
-            if(isPersistanceMappingAvailable(cartridge)){
-            	Iterator< PersistanceMapping> it = cartridge.getPeristanceMappings().iterator();
-            	while(it.hasNext()){            		
-            		PersistanceMapping maping = it.next();
-            		template.getOptions().as(EC2TemplateOptions.class)
-                	.mapEBSSnapshotToDeviceName(maping.getDevice(), maping.getSnapshotId(), maping.getSize(), maping.isRemoveOntermination());
-            	}
-            	
-            }
-
+                        
             if (template == null) {
                 String msg =
                              "Failed to start an instance. " +
@@ -329,6 +306,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
                 throw new CloudControllerException(msg);
             }
 
+            iaas.mapPersistanceVolumes(template, cartridge.getPeristanceMappings());
             // generate the group id from domain name and sub domain
             // name.
             // Should have lower-case ASCII letters, numbers, or dashes.
@@ -373,6 +351,22 @@ public class CloudControllerServiceImpl implements CloudControllerService {
 
     }
 
+	private StringBuilder getPersistancePayload(Cartridge cartridge) {
+		StringBuilder persistancePayload = new StringBuilder();
+		if(isPersistanceMappingAvailable(cartridge)){
+			int i=0;
+			for(; i<cartridge.getPeristanceMappings().size()-1;i++){
+				if(log.isDebugEnabled()){
+					log.debug("Adding persistance mapping " + cartridge.getPeristanceMappings().get(i).toString());
+				}
+				persistancePayload.append(cartridge.getPeristanceMappings().get(i).getDevice());
+				persistancePayload.append("|");
+			}
+			persistancePayload.append(cartridge.getPeristanceMappings().get(i).getDevice());
+		}
+		return persistancePayload;
+	}
+
 	private boolean isPersistanceMappingAvailable(Cartridge cartridge) {
 		return cartridge.getPeristanceMappings() != null && !cartridge.getPeristanceMappings().isEmpty();
 	}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3da6962c/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 31b2ca4..c6fd6ea 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
@@ -18,6 +18,8 @@
  */
 package org.apache.stratos.cloud.controller.interfaces;
 
+import java.util.List;
+
 import org.jclouds.compute.ComputeService;
 import org.jclouds.compute.domain.NodeMetadata;
 import org.jclouds.compute.domain.Template;
@@ -25,6 +27,7 @@ import org.apache.stratos.cloud.controller.exception.InvalidHostException;
 import org.apache.stratos.cloud.controller.exception.InvalidRegionException;
 import org.apache.stratos.cloud.controller.exception.InvalidZoneException;
 import org.apache.stratos.cloud.controller.pojo.IaasProvider;
+import org.apache.stratos.cloud.controller.pojo.PersistanceMapping;
 import org.apache.stratos.cloud.controller.validate.interfaces.PartitionValidator;
 
 /**
@@ -115,4 +118,6 @@ public abstract class Iaas {
 
     public abstract void buildTemplate(IaasProvider iaas);
     
+    public abstract void mapPersistanceVolumes(Template template, List<PersistanceMapping> persistancemapings);
+    
 }


[2/2] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos

Posted by ud...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos


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

Branch: refs/heads/master
Commit: 803e58cd8a064ac13d7e363538a762951be66edf
Parents: 3da6962 9e064c8
Author: Udara Liyanage <ud...@wso2.com>
Authored: Tue Jan 14 14:02:04 2014 -0500
Committer: Udara Liyanage <ud...@wso2.com>
Committed: Tue Jan 14 14:02:04 2014 -0500

----------------------------------------------------------------------
 .../autoscaler/algorithm/OneAfterAnother.java   |  23 +-
 .../autoscaler/algorithm/RoundRobin.java        |  16 +-
 .../health/AutoscalerHealthStatReceiver.java    | 498 +++----------------
 .../autoscaler/rule/RuleTasksDelegator.java     |   3 -
 .../stratos/cartridge/agent/CartridgeAgent.java |   4 +-
 .../deployment/partition/Partition.java         |  13 +-
 .../impl/CloudControllerServiceImpl.java        |  45 +-
 .../controller/util/CloudControllerUtil.java    |  17 +-
 .../console/config/acl.json                     |   4 +
 .../console/controllers/acs.jag                 |   4 +
 .../console/util/acl.jag                        |  53 ++
 .../service/ServiceDeploymentManager.java       |  16 +-
 .../messaging/domain/topology/Cluster.java      |   6 +
 ...eCleanupClusterNotifierMessageProcessor.java |  55 ++
 ...ceCleanupMemberNotifierMessageProcessor.java |  55 ++
 ...InstanceCleanupNotifierMessageProcessor.java |  55 --
 .../InstanceNotifierMessageProcessorChain.java  |  14 +-
 .../rest/endpoint/services/ServiceUtils.java    |  83 ++--
 .../distribution/src/main/conf/scaling.drl      |   7 +-
 .../distribution/src/main/assembly/bin.xml      |   1 +
 .../pom.xml                                     |   5 +-
 tools/puppet/manifests/classes/lb_cartridge.pp  |  14 +-
 tools/puppet/manifests/classes/stratos.pp       |   3 +-
 23 files changed, 379 insertions(+), 615 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/803e58cd/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------