You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2013/12/09 16:30:50 UTC
[1/2] git commit: initial impl for deploying partitions,
autoscaling policies and deployment policies from Rest API
Updated Branches:
refs/heads/master 19fc9f8b3 -> 522db6033
initial impl for deploying partitions, autoscaling policies and deployment policies from Rest API
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/5629d1d9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/5629d1d9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/5629d1d9
Branch: refs/heads/master
Commit: 5629d1d9084a7ef260626cfd8296499e9eceaaf5
Parents: b62ed0c
Author: Isuru <is...@wso2.com>
Authored: Mon Dec 9 20:59:15 2013 +0530
Committer: Isuru <is...@wso2.com>
Committed: Mon Dec 9 20:59:15 2013 +0530
----------------------------------------------------------------------
.../adc/mgt/client/AutoscalerServiceClient.java | 63 ++++++--
.../autoscaler/partition/PartitionGroup.java | 2 +-
.../policy/deployment/DeploymentPolicy.java | 4 +
.../bean/util/converter/PojoConverter.java | 149 ++++++++++++++++++-
.../rest/endpoint/services/ServiceUtils.java | 84 +++++++++--
.../rest/endpoint/services/StratosAdmin.java | 57 +++++--
.../pom.xml | 2 +-
7 files changed, 317 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5629d1d9/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/AutoscalerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/AutoscalerServiceClient.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/AutoscalerServiceClient.java
index 26b80a8..186ea36 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/AutoscalerServiceClient.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/AutoscalerServiceClient.java
@@ -24,7 +24,10 @@ import org.apache.axis2.context.ConfigurationContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.adc.mgt.internal.DataHolder;
+import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
+import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
import org.apache.stratos.autoscaler.stub.AutoScalerServiceStub;
+import org.apache.stratos.cloud.controller.deployment.partition.Partition;
import java.rmi.RemoteException;
@@ -61,12 +64,12 @@ public class AutoscalerServiceClient {
return serviceClient;
}
- /*public org.apache.stratos.cloud.controller.deployment.partition.Partition[] getAvailablePartitions ()
+ public org.apache.stratos.cloud.controller.deployment.partition.Partition[] getAvailablePartitions ()
throws Exception {
org.apache.stratos.cloud.controller.deployment.partition.Partition[] partitions;
try {
- partitions = stub.get;
+ partitions = stub.getAllAvailablePartitions();
} catch (RemoteException e) {
String errorMsg = "Error in getting available partitions";
@@ -75,9 +78,9 @@ public class AutoscalerServiceClient {
}
return partitions;
- }*/
+ }
- /*public org.apache.stratos.cloud.controller.deployment.partition.Partition getPartition (String partitionId)
+ public org.apache.stratos.cloud.controller.deployment.partition.Partition getPartition (String partitionId)
throws Exception{
org.apache.stratos.cloud.controller.deployment.partition.Partition partition;
@@ -91,15 +94,15 @@ public class AutoscalerServiceClient {
}
return partition;
- }*/
+ }
- /*public org.apache.stratos.cloud.controller.deployment.partition.Partition [] getPartitions (String deploymentPolicyId,
+ public org.apache.stratos.cloud.controller.deployment.partition.Partition [] getPartitions (String deploymentPolicyId,
String partitionGroupId)
throws Exception{
org.apache.stratos.cloud.controller.deployment.partition.Partition[] partitions;
try {
- partitions = stub.getPartitions(deploymentPolicyId, partitionGroupId);
+ partitions = stub.getPartitionsOfDeploymentPolicy(deploymentPolicyId, partitionGroupId);
} catch (RemoteException e) {
String errorMsg = "Error in getting available partitions";
@@ -124,7 +127,7 @@ public class AutoscalerServiceClient {
}
return partitionGroups;
- }*/
+ }
public org.apache.stratos.autoscaler.policy.model.AutoscalePolicy[] getAutoScalePolicies ()
throws Exception {
@@ -142,7 +145,7 @@ public class AutoscalerServiceClient {
return autoscalePolicies;
}
- /*public org.apache.stratos.autoscaler.policy.model.AutoscalePolicy getAutoScalePolicy (String autoscalingPolicyId)
+ public org.apache.stratos.autoscaler.policy.model.AutoscalePolicy getAutoScalePolicy (String autoscalingPolicyId)
throws Exception {
org.apache.stratos.autoscaler.policy.model.AutoscalePolicy autoscalePolicy;
@@ -156,7 +159,7 @@ public class AutoscalerServiceClient {
}
return autoscalePolicy;
- }*/
+ }
public org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy [] getDeploymentPolicies()
throws Exception {
@@ -190,7 +193,7 @@ public class AutoscalerServiceClient {
return deploymentPolicies;
}
- /*public org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy getDeploymentPolicy (String deploymentPolicyId)
+ public org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy getDeploymentPolicy (String deploymentPolicyId)
throws Exception {
org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy deploymentPolicy;
@@ -204,5 +207,41 @@ public class AutoscalerServiceClient {
}
return deploymentPolicy;
- }*/
+ }
+
+ public boolean deployDeploymentPolicy (DeploymentPolicy deploymentPolicy) throws Exception {
+
+ try {
+ return stub.addDeploymentPolicy(deploymentPolicy);
+
+ } catch (RemoteException e) {
+ String errorMsg = "Error in deploying new deployment policy definition";
+ log.error(errorMsg, e);
+ throw new Exception(errorMsg, e);
+ }
+ }
+
+ public boolean deployAutoscalingPolicy (AutoscalePolicy autoScalePolicy) throws Exception {
+
+ try {
+ return stub.addAutoScalingPolicy(autoScalePolicy);
+
+ } catch (RemoteException e) {
+ String errorMsg = "Error in deploying new autoscaling policy definition";
+ log.error(errorMsg, e);
+ throw new Exception(errorMsg, e);
+ }
+ }
+
+ public boolean deployPartition (Partition partition) throws Exception {
+
+ try {
+ return stub.addPartition(partition);
+
+ } catch (RemoteException e) {
+ String errorMsg = "Error in deploying new partition definition";
+ log.error(errorMsg, e);
+ throw new Exception(errorMsg, e);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5629d1d9/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/PartitionGroup.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/PartitionGroup.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/PartitionGroup.java
index 563cecd..4d817d8 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/PartitionGroup.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/PartitionGroup.java
@@ -30,5 +30,5 @@ public class PartitionGroup {
public String partitionAlgo;
//partition Ids
- public List<String> partition;
+ public List<Partition> partition;
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5629d1d9/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/DeploymentPolicy.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/DeploymentPolicy.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/DeploymentPolicy.java
index b818d91..0f9f10b 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/DeploymentPolicy.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/DeploymentPolicy.java
@@ -20,6 +20,7 @@
package org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment;
+import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition;
import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.PartitionGroup;
import javax.xml.bind.annotation.XmlRootElement;
@@ -32,4 +33,7 @@ public class DeploymentPolicy {
//partition groups
public List<PartitionGroup> partitionGroup;
+
+ //partitions
+ public List<Partition> partition;
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5629d1d9/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
index 4860b28..6320989 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
@@ -137,6 +137,133 @@ public class PojoConverter {
return properties;
}
+ public static org.apache.stratos.cloud.controller.deployment.partition.Partition convertToCCPartitionPojo
+ (Partition partitionBean) {
+
+ org.apache.stratos.cloud.controller.deployment.partition.Partition partition = new
+ org.apache.stratos.cloud.controller.deployment.partition.Partition();
+
+ partition.setId(partitionBean.id);
+ partition.setProvider(partitionBean.provider);
+ partition.setPartitionMin(partitionBean.partitionMin);
+ partition.setPartitionMax(partitionBean.partitionMax);
+
+ if(partitionBean.property != null && !partitionBean.property.isEmpty()) {
+ partition.setProperties(getProperties(partitionBean.property));
+ }
+
+ return partition;
+ }
+
+ public static org.apache.stratos.autoscaler.policy.model.AutoscalePolicy convertToCCAutoscalerPojo (AutoscalePolicy
+ autoscalePolicyBean) {
+
+ org.apache.stratos.autoscaler.policy.model.AutoscalePolicy autoscalePolicy = new
+ org.apache.stratos.autoscaler.policy.model.AutoscalePolicy();
+
+ autoscalePolicy.setId(autoscalePolicyBean.id);
+ autoscalePolicy.setDescription(autoscalePolicyBean.description);
+ autoscalePolicy.setDisplayName(autoscalePolicyBean.displayName);
+
+ if (autoscalePolicyBean.loadThresholds != null) {
+
+ org.apache.stratos.autoscaler.policy.model.LoadThresholds loadThresholds = new
+ org.apache.stratos.autoscaler.policy.model.LoadThresholds();
+
+ if(autoscalePolicyBean.loadThresholds.loadAverage != null) {
+
+ //set load average information
+ org.apache.stratos.autoscaler.policy.model.LoadAverage loadAverage = new
+ org.apache.stratos.autoscaler.policy.model.LoadAverage();
+ loadAverage.setAverage(autoscalePolicyBean.loadThresholds.loadAverage.average);
+ loadAverage.setGradient(autoscalePolicyBean.loadThresholds.loadAverage.gradient);
+ loadAverage.setSecondDerivative(autoscalePolicyBean.loadThresholds.loadAverage.secondDerivative);
+ loadAverage.setScaleDownMarginOfGradient(autoscalePolicyBean.loadThresholds.loadAverage.scaleDownMarginOfGradient);
+ loadAverage.setScaleDownMarginOfSecondDerivative(autoscalePolicyBean.loadThresholds.loadAverage.scaleDownMarginOfSecondDerivative);
+ //set load average
+ loadThresholds.setLoadAverage(loadAverage);
+ }
+ if (autoscalePolicyBean.loadThresholds.requestsInFlight != null) {
+
+ org.apache.stratos.autoscaler.policy.model.RequestsInFlight requestsInFlight = new
+ org.apache.stratos.autoscaler.policy.model.RequestsInFlight();
+ //set request in flight information
+ requestsInFlight.setAverage(autoscalePolicyBean.loadThresholds.requestsInFlight.average);
+ requestsInFlight.setGradient(autoscalePolicyBean.loadThresholds.requestsInFlight.gradient);
+ requestsInFlight.setSecondDerivative(autoscalePolicyBean.loadThresholds.requestsInFlight.secondDerivative);
+ requestsInFlight.setScaleDownMarginOfGradient(autoscalePolicyBean.loadThresholds.requestsInFlight.scaleDownMarginOfGradient);
+ requestsInFlight.setScaleDownMarginOfSecondDerivative(autoscalePolicyBean.loadThresholds.requestsInFlight.scaleDownMarginOfSecondDerivative);
+ //set request in flight
+ loadThresholds.setRequestsInFlight(requestsInFlight);
+ }
+ if (autoscalePolicyBean.loadThresholds.memoryConsumption != null) {
+
+ org.apache.stratos.autoscaler.policy.model.MemoryConsumption memoryConsumption = new
+ org.apache.stratos.autoscaler.policy.model.MemoryConsumption();
+
+ //set memory consumption information
+ memoryConsumption.setAverage(autoscalePolicyBean.loadThresholds.memoryConsumption.average);
+ memoryConsumption.setGradient(autoscalePolicyBean.loadThresholds.memoryConsumption.gradient);
+ memoryConsumption.setSecondDerivative(autoscalePolicyBean.loadThresholds.memoryConsumption.secondDerivative);
+ memoryConsumption.setScaleDownMarginOfGradient(autoscalePolicyBean.loadThresholds.memoryConsumption.scaleDownMarginOfGradient);
+ memoryConsumption.setScaleDownMarginOfSecondDerivative(autoscalePolicyBean.loadThresholds.memoryConsumption.scaleDownMarginOfSecondDerivative);
+ //set memory consumption
+ loadThresholds.setMemoryConsumption(memoryConsumption);
+ }
+
+ autoscalePolicy.setLoadThresholds(loadThresholds);
+ }
+
+ return autoscalePolicy;
+ }
+
+ public static org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy convetToCCDeploymentPolicyPojo (DeploymentPolicy
+ deploymentPolicyBean) {
+
+ org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy deploymentPolicy = new
+ org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy();
+
+ deploymentPolicy.setId(deploymentPolicyBean.id);
+ if(deploymentPolicyBean.partitionGroup != null && !deploymentPolicyBean.partitionGroup.isEmpty()) {
+ deploymentPolicy.setPartitionGroups(convertToCCPartitionGroup(deploymentPolicyBean.partitionGroup));
+ }
+
+ return deploymentPolicy;
+ }
+
+ private static org.apache.stratos.autoscaler.partition.xsd.PartitionGroup[] convertToCCPartitionGroup (List<PartitionGroup> partitionGroupBeans) {
+
+ org.apache.stratos.autoscaler.partition.xsd.PartitionGroup[] partitionGroups = new
+ org.apache.stratos.autoscaler.partition.xsd.PartitionGroup[partitionGroupBeans.size()];
+
+ for (int i = 0 ; i < partitionGroupBeans.size() ; i++) {
+ org.apache.stratos.autoscaler.partition.xsd.PartitionGroup partitionGroup = new
+ org.apache.stratos.autoscaler.partition.xsd.PartitionGroup();
+ partitionGroup.setId(partitionGroupBeans.get(i).id);
+ partitionGroup.setPartitionAlgo(partitionGroupBeans.get(i).partitionAlgo);
+
+ if(partitionGroupBeans.get(i).partition != null && !partitionGroupBeans.get(i).partition.isEmpty()) {
+ partitionGroup.setPartitions(convertToCCPartitionPojos(partitionGroupBeans.get(i).partition));
+ }
+
+ partitionGroups[i] = partitionGroup;
+ }
+
+ return partitionGroups;
+ }
+
+ private static org.apache.stratos.cloud.controller.deployment.partition.Partition[] convertToCCPartitionPojos
+ (List<Partition> partitionList) {
+
+ org.apache.stratos.cloud.controller.deployment.partition.Partition[] partitions =
+ new org.apache.stratos.cloud.controller.deployment.partition.Partition[partitionList.size()];
+ for (int i = 0; i < partitionList.size() ; i++) {
+ partitions[i] = convertToCCPartitionPojo(partitionList.get(i));
+ }
+
+ return partitions;
+ }
+
public static Partition[] populatePartitionPojos (org.apache.stratos.cloud.controller.deployment.partition.Partition[]
partitions) {
@@ -333,7 +460,7 @@ public class PojoConverter {
partitionGroupBean.id = partitionGroup.getId();
partitionGroupBean.partitionAlgo = partitionGroup.getPartitionAlgo();
if(partitionGroup.getPartitions() != null && partitionGroup.getPartitions().length > 0) {
- partitionGroupBean.partition = getPartitionIdsList(partitionGroup.getPartitions());
+ partitionGroupBean.partition = getPartitionList(partitionGroup.getPartitions());
}
return partitionGroupBean;
@@ -354,7 +481,7 @@ public class PojoConverter {
partitionGroup.partitionAlgo = partitionGroups[i].getPartitionAlgo();
if(partitionGroups[i].getPartitions() != null && partitionGroups[i].getPartitions().length > 0){
- partitionGroup.partition = getPartitionIdsList(partitionGroups[i].getPartitions());
+ partitionGroup.partition = getPartitionList(partitionGroups[i].getPartitions());
}*/
partitionGroupsBeans[i] = populatePartitionGroupPojo(partitionGroups[i]);
}
@@ -362,14 +489,22 @@ public class PojoConverter {
return partitionGroupsBeans;
}
- private static List<String> getPartitionIdsList(org.apache.stratos.cloud.controller.deployment.partition.Partition[]
- partitions) {
+ private static List<Partition> getPartitionList(org.apache.stratos.cloud.controller.deployment.partition.Partition[]
+ partitions) {
- List<String> partitionIdList = new ArrayList<String>();
+ List<Partition> partitionList = new ArrayList<Partition>();
for (int i = 0 ; i < partitions.length ; i++) {
- partitionIdList.add(partitions[i].getId());
+ Partition partition = new Partition();
+ partition.id = partitions[i].getId();
+ partition.provider = partitions[i].getProvider();
+ partition.partitionMin = partitions[i].getPartitionMin();
+ partition.partitionMax = partitions[i].getPartitionMax();
+ if (partitions[i].getProperties() != null) {
+ partition.property = getPropertyBeans(partitions[i].getProperties());
+ }
+ partitionList.add(partition);
}
- return partitionIdList;
+ return partitionList;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5629d1d9/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
index f99a16d..9bb225a 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
@@ -37,6 +37,8 @@ import org.apache.stratos.adc.mgt.utils.PersistenceManager;
import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService;
import org.apache.stratos.cloud.controller.pojo.CartridgeConfig;
import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
+import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition;
+import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.PartitionGroup;
import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.AutoscalePolicy;
import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy;
import org.apache.stratos.rest.endpoint.bean.cartridge.definition.CartridgeDefinitionBean;
@@ -88,6 +90,70 @@ public class ServiceUtils {
}
}
+
+ public static boolean deployPartition (Partition partitionBean) throws RestAPIException {
+
+ //log.info("***** " + cartridgeDefinitionBean.toString() + " *****");
+
+ AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
+ if (autoscalerServiceClient != null) {
+
+ org.apache.stratos.cloud.controller.deployment.partition.Partition partition =
+ PojoConverter.convertToCCPartitionPojo(partitionBean);
+
+ try {
+ return autoscalerServiceClient.deployPartition(partition);
+
+ } catch (Exception e) {
+ throw new RestAPIException(e);
+ }
+ }
+
+ return false;
+ }
+
+ public static boolean deployAutoscalingPolicy (AutoscalePolicy autoscalePolicyBean) throws RestAPIException {
+
+ //log.info("***** " + cartridgeDefinitionBean.toString() + " *****");
+
+ AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
+ if (autoscalerServiceClient != null) {
+
+ org.apache.stratos.autoscaler.policy.model.AutoscalePolicy autoscalePolicy = PojoConverter.
+ convertToCCAutoscalerPojo(autoscalePolicyBean);
+
+ try {
+ return autoscalerServiceClient.deployAutoscalingPolicy(autoscalePolicy);
+
+ } catch (Exception e) {
+ throw new RestAPIException(e);
+ }
+ }
+
+ return false;
+ }
+
+ public static boolean deployDeploymentPolicy (DeploymentPolicy deploymentPolicyBean) throws RestAPIException {
+
+ //log.info("***** " + cartridgeDefinitionBean.toString() + " *****");
+
+ AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
+ if (autoscalerServiceClient != null) {
+
+ org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy deploymentPolicy =
+ PojoConverter.convetToCCDeploymentPolicyPojo(deploymentPolicyBean);
+
+ try {
+ return autoscalerServiceClient.deployDeploymentPolicy(null);
+
+ } catch (Exception e) {
+ throw new RestAPIException(e);
+ }
+ }
+
+ return false;
+ }
+
private static CloudControllerServiceClient getCloudControllerServiceClient () {
try {
@@ -100,13 +166,13 @@ public class ServiceUtils {
return null;
}
- /* public static Partition[] getAvailablePartitions () throws RestAPIException {
+ public static Partition[] getAvailablePartitions () throws RestAPIException {
org.apache.stratos.cloud.controller.deployment.partition.Partition[] partitions = null;
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
if (autoscalerServiceClient != null) {
try {
- partitions = autoscalerServiceClient.getPa;
+ partitions = autoscalerServiceClient.getAvailablePartitions();
} catch (Exception e) {
String errorMsg = "Error getting available partitions";
@@ -116,9 +182,9 @@ public class ServiceUtils {
}
return PojoConverter.populatePartitionPojos(partitions);
- }*/
+ }
- /*public static Partition[] getPartitions (String deploymentPolicyId,
+ public static Partition[] getPartitions (String deploymentPolicyId,
String partitionGroupId) throws RestAPIException {
org.apache.stratos.cloud.controller.deployment.partition.Partition[] partitions = null;
@@ -153,7 +219,7 @@ public class ServiceUtils {
}
return PojoConverter.populatePartitionPojo(partition);
- }*/
+ }
private static AutoscalerServiceClient getAutoscalerServiceClient () {
@@ -185,7 +251,7 @@ public class ServiceUtils {
return PojoConverter.populateAutoscalePojos(autoscalePolicies);
}
- /*public static AutoscalePolicy getAutoScalePolicy (String autoscalePolicyId) throws RestAPIException {
+ public static AutoscalePolicy getAutoScalePolicy (String autoscalePolicyId) throws RestAPIException {
org.apache.stratos.autoscaler.policy.model.AutoscalePolicy autoscalePolicy = null;
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
@@ -201,7 +267,7 @@ public class ServiceUtils {
}
return PojoConverter.populateAutoscalePojo(autoscalePolicy);
- }*/
+ }
public static DeploymentPolicy[] getDeploymentPolicies () throws RestAPIException {
@@ -239,7 +305,7 @@ public class ServiceUtils {
return PojoConverter.populateDeploymentPolicyPojos(deploymentPolicies);
}
- /*public static DeploymentPolicy getDeploymentPolicy(String deploymentPolicyId) throws RestAPIException {
+ public static DeploymentPolicy getDeploymentPolicy(String deploymentPolicyId) throws RestAPIException {
org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy deploymentPolicy = null;
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
@@ -274,7 +340,7 @@ public class ServiceUtils {
}
return PojoConverter.populatePartitionGroupPojos(partitionGroups);
- }*/
+ }
static List<Cartridge> getAvailableCartridges(String cartridgeSearchString, Boolean multiTenant, ConfigurationContext configurationContext) throws ADCException {
List<Cartridge> cartridges = new ArrayList<Cartridge>();
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5629d1d9/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
index 67a48be..54e4845 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
@@ -91,7 +91,43 @@ public class StratosAdmin extends AbstractAdmin {
ServiceUtils.undeployCartridge(cartridgeType);
}
- /*@GET
+ @POST
+ @Path("/policy/deployment/partition")
+ @Produces("application/json")
+ @Consumes("application/json")
+ @AuthorizationAction("/permission/protected/manage/monitor/tenants")
+ @SuperTenantService(true)
+ public boolean deployPartition (Partition partition)
+ throws RestAPIException {
+
+ return ServiceUtils.deployPartition(partition);
+ }
+
+ @POST
+ @Path("/policy/autoscale")
+ @Produces("application/json")
+ @Consumes("application/json")
+ @AuthorizationAction("/permission/protected/manage/monitor/tenants")
+ @SuperTenantService(true)
+ public boolean deployAutoscalingPolicyDefintion (AutoscalePolicy autoscalePolicy)
+ throws RestAPIException {
+
+ return ServiceUtils.deployAutoscalingPolicy(autoscalePolicy);
+ }
+
+ @POST
+ @Path("/policy/deployment")
+ @Produces("application/json")
+ @Consumes("application/json")
+ @AuthorizationAction("/permission/protected/manage/monitor/tenants")
+ @SuperTenantService(true)
+ public boolean deployDeploymentPolicyDefinition (DeploymentPolicy deploymentPolicy)
+ throws RestAPIException {
+
+ return ServiceUtils.deployDeploymentPolicy(deploymentPolicy);
+ }
+
+ @GET
@Path("/partition")
@Produces("application/json")
@Consumes("application/json")
@@ -99,7 +135,7 @@ public class StratosAdmin extends AbstractAdmin {
public Partition[] getPartitions () throws RestAPIException {
return ServiceUtils.getAvailablePartitions();
- }*/
+ }
@GET
@Path("/partition/{partitionId}")
@@ -108,8 +144,7 @@ public class StratosAdmin extends AbstractAdmin {
@AuthorizationAction("/permission/protected/manage/monitor/tenants")
public Partition getPartition (@PathParam("partitionId") String partitionId) throws RestAPIException {
- //return ServiceUtils.getPartition(partitionId);
- return null;
+ return ServiceUtils.getPartition(partitionId);
}
@GET
@@ -120,8 +155,7 @@ public class StratosAdmin extends AbstractAdmin {
public PartitionGroup[] getPartitionGroups (@PathParam("deploymentPolicyId") String deploymentPolicyId)
throws RestAPIException {
- //return ServiceUtils.getPartitionGroups(deploymentPolicyId);
- return null;
+ return ServiceUtils.getPartitionGroups(deploymentPolicyId);
}
@GET
@@ -132,8 +166,7 @@ public class StratosAdmin extends AbstractAdmin {
public Partition [] getPartitions (@PathParam("deploymentPolicyId") String deploymentPolicyId,
@PathParam("partitionGroupId") String partitionGroupId) throws RestAPIException {
- //return ServiceUtils.getPartitions(deploymentPolicyId, partitionGroupId);
- return null;
+ return ServiceUtils.getPartitions(deploymentPolicyId, partitionGroupId);
}
@GET
@@ -154,8 +187,7 @@ public class StratosAdmin extends AbstractAdmin {
public AutoscalePolicy getAutoscalePolicies (@PathParam("autoscalePolicyId") String autoscalePolicyId)
throws RestAPIException {
- //return ServiceUtils.getAutoScalePolicy(autoscalePolicyId);
- return null;
+ return ServiceUtils.getAutoScalePolicy(autoscalePolicyId);
}
@GET
@@ -176,8 +208,7 @@ public class StratosAdmin extends AbstractAdmin {
public DeploymentPolicy getDeploymentPolicies (@PathParam("deploymentPolicyId") String deploymentPolicyId)
throws RestAPIException {
- //return ServiceUtils.getDeploymentPolicy(deploymentPolicyId);
- return null;
+ return ServiceUtils.getDeploymentPolicy(deploymentPolicyId);
}
@GET
@@ -260,8 +291,6 @@ public class StratosAdmin extends AbstractAdmin {
}
}
-
-
@POST
@Path("/tenant")
@Consumes("application/json")
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5629d1d9/service-stubs/org.apache.stratos.autoscaler.service.stub/pom.xml
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.autoscaler.service.stub/pom.xml b/service-stubs/org.apache.stratos.autoscaler.service.stub/pom.xml
index ff2eb5e..523dc3f 100644
--- a/service-stubs/org.apache.stratos.autoscaler.service.stub/pom.xml
+++ b/service-stubs/org.apache.stratos.autoscaler.service.stub/pom.xml
@@ -47,7 +47,7 @@
<configuration>
<tasks>
<java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">
- <arg line="-uri src/main/resources/AutoScalerService.wsdl -u -uw -o target/generated-code -p org.apache.stratos.autoscaler.stub -ns2p http://policy.deployment.autoscaler.stratos.apache.org/xsd=org.apache.stratos.autoscaler.deployment.policy,http://model.policy.autoscaler.stratos.apache.org/xsd=org.apache.stratos.autoscaler.policy.model,http://exception.autoscaler.stratos.apache.org/xsd=org.apache.stratos.autoscaler.exception,http://partition.deployment.controller.cloud.stratos.apache.org/xsd=org.apache.stratos.cloud.controller.deployment.partition"/>
+ <arg line="-uri src/main/resources/AutoScalerService.wsdl -u -uw -o target/generated-code -p org.apache.stratos.autoscaler.stub -ns2p http://policy.deployment.autoscaler.stratos.apache.org/xsd=org.apache.stratos.autoscaler.deployment.policy,http://model.policy.autoscaler.stratos.apache.org/xsd=org.apache.stratos.autoscaler.policy.model,http://exception.autoscaler.stratos.apache.org/xsd=org.apache.stratos.autoscaler.exception,http://partition.deployment.controller.cloud.stratos.apache.org/xsd=org.apache.stratos.cloud.controller.deployment.partition,http://pojo.controller.cloud.stratos.apache.org/xsd=org.apache.stratos.cloud.controller.pojo"/>
<classpath refid="maven.dependency.classpath"/>
<classpath refid="maven.compile.classpath"/>
<classpath refid="maven.runtime.classpath"/>
[2/2] git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/incubator-stratos into rest_api
Posted by is...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos into rest_api
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/522db603
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/522db603
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/522db603
Branch: refs/heads/master
Commit: 522db60338ac468ba7ccf122075c1c8b8a01f57c
Parents: 5629d1d 19fc9f8
Author: Isuru <is...@wso2.com>
Authored: Mon Dec 9 20:59:30 2013 +0530
Committer: Isuru <is...@wso2.com>
Committed: Mon Dec 9 20:59:30 2013 +0530
----------------------------------------------------------------------
.../autoscaler/policy/PolicyManager.java | 10 +-
.../autoscaler/registry/RegistryManager.java | 2 +-
.../rule/AutoscalerRuleEvaluator.java | 36 +++---
.../messaging/domain/topology/Cloud.java | 84 -------------
.../messaging/domain/topology/Cluster.java | 27 ----
.../messaging/domain/topology/Region.java | 79 ------------
.../stratos/messaging/domain/topology/Zone.java | 55 --------
.../ec2/load-balancer/start-load-balancer.sh | 70 +++++++++++
.../templates/loadbalancer.conf.template | 126 +++++++++++++++++++
9 files changed, 224 insertions(+), 265 deletions(-)
----------------------------------------------------------------------