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 <[email protected]> Authored: Mon Dec 9 20:59:15 2013 +0530 Committer: Isuru <[email protected]> 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"/>
