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
----------------------------------------------------------------------