You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2014/12/01 10:14:29 UTC
[3/3] stratos git commit: adding support to deploy global deployment
policy
adding support to deploy global deployment policy
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/dee7291c
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/dee7291c
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/dee7291c
Branch: refs/heads/master
Commit: dee7291cfb423351f4c87a1f674677e491e1ed6b
Parents: d45642c
Author: reka <rt...@gmail.com>
Authored: Mon Dec 1 14:40:54 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Mon Dec 1 14:44:12 2014 +0530
----------------------------------------------------------------------
.../autoscaler/api/AutoScalerServiceImpl.java | 6 +-
.../client/CloudControllerClient.java | 32 +-
.../context/cluster/ClusterContextFactory.java | 3 -
.../context/cluster/ClusterInstanceContext.java | 3 +-
.../context/cluster/VMClusterContext.java | 20 +-
.../partition/ClusterLevelPartitionContext.java | 2 +-
.../partition/GroupLevelPartitionContext.java | 2 +-
.../context/partition/PartitionContext.java | 2 +-
.../pojo/policy/deployment/ChildPolicy.java | 46 +
.../policy/deployment/DeploymentPolicy.java | 34 +-
.../partition/ChildLevelPartition.java | 25 -
.../ApplicationLevelNetworkPartition.java | 2 -
.../network/ChildLevelNetworkPartition.java | 2 -
.../partition/network/ChildLevelPartition.java | 44 +
.../deployment/partition/network/Partition.java | 139 ++
.../ClusterStatusTerminatedProcessor.java | 3 +-
.../stratos/autoscaler/TestRulesPackaged.java | 9 +-
.../rest/endpoint/api/StratosApiV40.java | 6 +-
.../rest/endpoint/api/StratosApiV40Utils.java | 25 +-
.../rest/endpoint/api/StratosApiV41.java | 8 +-
.../rest/endpoint/api/StratosApiV41Utils.java | 35 +-
.../ApplicationLevelNetworkPartition.java | 34 +
.../partition/ChildLevelNetworkPartition.java | 33 +
.../partition/ChildLevelPartition.java | 28 +
.../autoscaler/partition/NetworkPartition.java | 36 -
.../policy/deployment/ApplicationPolicy.java | 34 +
.../policy/deployment/ChildPolicy.java | 31 +
.../policy/deployment/DeploymentPolicy.java | 54 +-
.../bean/util/converter/PojoConverter.java | 218 ++-
.../stratos/rest/endpoint/mock/MockContext.java | 24 +-
.../rest/endpoint/mock/StratosApiV40Mock.java | 4 +-
.../src/main/webapp/api/WEB-INF/cxf-servlet.xml | 5 +
.../src/main/resources/AutoScalerService.wsdl | 1550 +++++++++---------
33 files changed, 1457 insertions(+), 1042 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
index d740605..84705f8 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
@@ -43,8 +43,8 @@ import org.apache.stratos.autoscaler.pojo.ServiceGroup;
import org.apache.stratos.autoscaler.pojo.policy.PolicyManager;
import org.apache.stratos.autoscaler.pojo.policy.autoscale.AutoscalePolicy;
import org.apache.stratos.autoscaler.pojo.policy.deployment.DeploymentPolicy;
+import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.Partition;
import org.apache.stratos.autoscaler.registry.RegistryManager;
-import org.apache.stratos.cloud.controller.stub.domain.Partition;
import org.apache.stratos.common.Properties;
import org.apache.stratos.common.Property;
import org.apache.stratos.common.kubernetes.KubernetesGroup;
@@ -147,14 +147,14 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface {
return PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId).getApplicationLevelNetworkPartitions();
}
- public Partition[] getPartitionsOfDeploymentPolicy(String deploymentPolicyId) {
+ /*public Partition[] getPartitionsOfDeploymentPolicy(String deploymentPolicyId) {
DeploymentPolicy depPol = this.getDeploymentPolicy(deploymentPolicyId);
if (null == depPol) {
return null;
}
return depPol.getAllPartitions();
- }
+ }*/
@Override
public KubernetesGroup[] getAllKubernetesGroups() {
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
index ba31970..963c661 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
@@ -32,9 +32,11 @@ import org.apache.stratos.autoscaler.exception.kubernetes.NonExistingKubernetesG
import org.apache.stratos.autoscaler.exception.partition.PartitionValidationException;
import org.apache.stratos.autoscaler.pojo.policy.deployment.DeploymentPolicy;
import org.apache.stratos.autoscaler.kubernetes.KubernetesManager;
+import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.*;
import org.apache.stratos.autoscaler.util.ConfUtil;
import org.apache.stratos.cloud.controller.stub.*;
import org.apache.stratos.cloud.controller.stub.domain.*;
+import org.apache.stratos.cloud.controller.stub.domain.Partition;
import org.apache.stratos.common.Properties;
import org.apache.stratos.common.Property;
import org.apache.stratos.common.constants.StratosConstants;
@@ -43,6 +45,7 @@ import org.apache.stratos.common.kubernetes.KubernetesMaster;
import java.rmi.RemoteException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Set;
@@ -91,7 +94,8 @@ public class CloudControllerClient {
log.info(String.format("Validating partitions of policy via cloud controller: [id] %s", deploymentPolicy.getId()));
}
long startTime = System.currentTimeMillis();
- boolean result = stub.validateDeploymentPolicy(cartridgeType, deploymentPolicy.getAllPartitions());
+ boolean result = stub.validateDeploymentPolicy(cartridgeType, getAllCCPartitions(deploymentPolicy.
+ getAllPartitions()));
if (log.isDebugEnabled()) {
long endTime = System.currentTimeMillis();
log.debug(String.format("Service call validateDeploymentPolicy() returned in %dms", (endTime - startTime)));
@@ -110,6 +114,32 @@ public class CloudControllerClient {
}
+ public org.apache.stratos.cloud.controller.stub.domain.Partition[]
+ getAllCCPartitions(org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.Partition[] partitions) {
+
+ org.apache.stratos.cloud.controller.stub.domain.Partition[] partitions1 =
+ new org.apache.stratos.cloud.controller.stub.domain.Partition[partitions.length];
+
+ for(int i = 0; i < partitions.length; i++) {
+ partitions1[i] = convertTOCCPartition(partitions[i]);
+ }
+ return partitions1;
+ }
+
+ private org.apache.stratos.cloud.controller.stub.domain.Partition convertTOCCPartition(org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.Partition partition) {
+ org.apache.stratos.cloud.controller.stub.domain.Partition partition1 = new
+ org.apache.stratos.cloud.controller.stub.domain.Partition();
+
+ partition1.setId(partition.getId());
+ partition1.setProvider(partition.getProvider());
+ partition1.setProperties(partition.getProperties());
+
+ return partition1;
+ }
+
+
+
+
/*
* Calls the CC to validate the partition.
*/
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContextFactory.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContextFactory.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContextFactory.java
index c98501d..3c60432 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContextFactory.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContextFactory.java
@@ -25,13 +25,10 @@ import org.apache.stratos.autoscaler.applications.ApplicationHolder;
import org.apache.stratos.autoscaler.context.member.MemberStatsContext;
import org.apache.stratos.autoscaler.exception.partition.PartitionValidationException;
import org.apache.stratos.autoscaler.exception.policy.PolicyValidationException;
-import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.ChildLevelPartition;
-import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.ChildLevelNetworkPartition;
//import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.PartitionManager;
import org.apache.stratos.autoscaler.pojo.policy.PolicyManager;
import org.apache.stratos.autoscaler.pojo.policy.autoscale.AutoscalePolicy;
import org.apache.stratos.autoscaler.pojo.policy.deployment.DeploymentPolicy;
-import org.apache.stratos.cloud.controller.stub.domain.Partition;
import org.apache.stratos.cloud.controller.stub.domain.MemberContext;
import org.apache.stratos.common.Properties;
import org.apache.stratos.common.Property;
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
index 4d1818e..ff2aaf3 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
@@ -25,8 +25,7 @@ import org.apache.stratos.autoscaler.context.partition.PartitionContext;
import org.apache.stratos.autoscaler.pojo.policy.autoscale.LoadAverage;
import org.apache.stratos.autoscaler.pojo.policy.autoscale.MemoryConsumption;
import org.apache.stratos.autoscaler.pojo.policy.autoscale.RequestsInFlight;
-import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.ChildLevelPartition;
-import org.apache.stratos.cloud.controller.stub.domain.Partition;
+import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.ChildLevelPartition;
import org.apache.stratos.messaging.domain.topology.Member;
import java.util.HashMap;
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/VMClusterContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/VMClusterContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/VMClusterContext.java
index 39303dd..d250fc3 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/VMClusterContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/VMClusterContext.java
@@ -28,9 +28,10 @@ import org.apache.stratos.autoscaler.exception.partition.PartitionValidationExce
import org.apache.stratos.autoscaler.exception.policy.PolicyValidationException;
import org.apache.stratos.autoscaler.pojo.policy.autoscale.AutoscalePolicy;
import org.apache.stratos.autoscaler.pojo.policy.deployment.DeploymentPolicy;
-import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.ChildLevelPartition;
+import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.ChildLevelPartition;
import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.ChildLevelNetworkPartition;
-import org.apache.stratos.cloud.controller.stub.domain.*;
+import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.Partition;
+import org.apache.stratos.cloud.controller.stub.domain.MemberContext;
import org.apache.stratos.messaging.domain.instance.ClusterInstance;
import org.apache.stratos.messaging.domain.topology.Cluster;
import org.apache.stratos.messaging.domain.topology.Member;
@@ -240,7 +241,7 @@ public class VMClusterContext extends AbstractClusterContext {
Partition partition1 = deploymentPolicy.getApplicationLevelNetworkPartition(networkPartition.getId()).
getPartition(partition.getPartitionId());
- CloudControllerClient.getInstance().validatePartition(partition1);
+ CloudControllerClient.getInstance().validatePartition(convertTOCCPartition(partition1));
if (clusterLevelNetworkPartitionContext == null) {
clusterLevelNetworkPartitionContext =
new ClusterLevelNetworkPartitionContext(clusterInstance.getNetworkPartitionId()
@@ -283,7 +284,7 @@ public class VMClusterContext extends AbstractClusterContext {
memberContext.setClusterId(member.getClusterId());
memberContext.setMemberId(memberId);
memberContext.setInitTime(member.getInitTime());
- memberContext.setPartition(partition);
+ memberContext.setPartition(convertTOCCPartition(partition));
//FIXME********memberContext.setProperties(convertMemberPropsToMemberContextProps(member.getProperties()));
if (MemberStatus.Activated.equals(member.getStatus())) {
@@ -315,6 +316,17 @@ public class VMClusterContext extends AbstractClusterContext {
}
}
+ private org.apache.stratos.cloud.controller.stub.domain.Partition convertTOCCPartition(Partition partition) {
+ org.apache.stratos.cloud.controller.stub.domain.Partition partition1 = new
+ org.apache.stratos.cloud.controller.stub.domain.Partition();
+
+ partition1.setId(partition.getId());
+ partition1.setProvider(partition.getProvider());
+ partition1.setProperties(partition.getProperties());
+
+ return partition1;
+ }
+
//FIXME**********
/*private org.apache.stratos.cloud.controller.stub.pojo.Properties convertMemberPropsToMemberContextProps(
java.util.Properties properties) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
index 19a20cb..1a6736e 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
@@ -22,7 +22,7 @@ import org.apache.commons.configuration.XMLConfiguration;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.autoscaler.context.member.MemberStatsContext;
-import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.ChildLevelPartition;
+import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.ChildLevelPartition;
import org.apache.stratos.autoscaler.util.ConfUtil;
import org.apache.stratos.cloud.controller.stub.domain.Partition;
import org.apache.stratos.cloud.controller.stub.domain.MemberContext;
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/GroupLevelPartitionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/GroupLevelPartitionContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/GroupLevelPartitionContext.java
index a53284b..6b7f23a 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/GroupLevelPartitionContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/GroupLevelPartitionContext.java
@@ -22,7 +22,7 @@ import org.apache.commons.configuration.XMLConfiguration;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.autoscaler.context.member.MemberStatsContext;
-import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.ChildLevelPartition;
+import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.ChildLevelPartition;
import org.apache.stratos.autoscaler.util.ConfUtil;
import org.apache.stratos.cloud.controller.stub.domain.Partition;
import org.apache.stratos.common.constants.StratosConstants;
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
index d33933a..856b582 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
@@ -20,7 +20,7 @@ package org.apache.stratos.autoscaler.context.partition;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.ChildLevelPartition;
+import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.ChildLevelPartition;
import org.apache.stratos.cloud.controller.stub.domain.Partition;
import java.io.Serializable;
import java.util.*;
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/ChildPolicy.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/ChildPolicy.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/ChildPolicy.java
new file mode 100644
index 0000000..04f7d9f
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/ChildPolicy.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.autoscaler.pojo.policy.deployment;
+
+import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.ChildLevelNetworkPartition;
+
+/**
+ * Created by reka on 12/1/14.
+ */
+public class ChildPolicy {
+ private String id;
+
+ private ChildLevelNetworkPartition[] childLevelNetworkPartitions;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public ChildLevelNetworkPartition[] getChildLevelNetworkPartitions() {
+ return childLevelNetworkPartitions;
+ }
+
+ public void setChildLevelNetworkPartitions(ChildLevelNetworkPartition[] childLevelNetworkPartitions) {
+ this.childLevelNetworkPartitions = childLevelNetworkPartitions;
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java
index 1aac09f..d451124 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java
@@ -22,7 +22,7 @@ package org.apache.stratos.autoscaler.pojo.policy.deployment;
import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.ApplicationLevelNetworkPartition;
import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.ChildLevelNetworkPartition;
import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.ChildPolicyHolder;
-import org.apache.stratos.cloud.controller.stub.domain.Partition;
+import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.Partition;
import java.io.Serializable;
import java.util.ArrayList;
@@ -39,6 +39,7 @@ public class DeploymentPolicy implements Serializable{
private boolean isPublic;
private ApplicationLevelNetworkPartition[] applicationLevelNetworkPartitions;
private ChildPolicyHolder childPolicyHolder;
+ private ChildPolicy[] childPolicies;
private int tenantId;
/**
@@ -138,15 +139,26 @@ public class DeploymentPolicy implements Serializable{
}
public Partition[] getAllPartitions() {
- ArrayList<Partition> partitionsList = new ArrayList<Partition>();
- for (ApplicationLevelNetworkPartition networkPartition : this.getApplicationLevelNetworkPartitions()) {
+ ArrayList<Partition> partitionsList = new ArrayList<Partition>();
+ for (ApplicationLevelNetworkPartition networkPartition : this.getApplicationLevelNetworkPartitions()) {
Partition[] partitions = networkPartition.getPartitions();
- if(partitions != null) {
- partitionsList.addAll(Arrays.asList(partitions));
+ if (partitions != null) {
+ partitionsList.addAll(Arrays.asList(partitions));
}
}
return partitionsList.toArray(new Partition[partitionsList.size()]);
}
+
+ private org.apache.stratos.cloud.controller.stub.domain.Partition convertTOCCPartition(org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.Partition partition) {
+ org.apache.stratos.cloud.controller.stub.domain.Partition partition1 = new
+ org.apache.stratos.cloud.controller.stub.domain.Partition();
+
+ partition1.setId(partition.getId());
+ partition1.setProvider(partition.getProvider());
+ partition1.setProperties(partition.getProperties());
+
+ return partition1;
+ }
public Partition getPartitionById(String id){
for(Partition p : this.getAllPartitions()){
@@ -197,4 +209,16 @@ public class DeploymentPolicy implements Serializable{
public void setChildPolicyHolder(ChildPolicyHolder childPolicyHolder) {
this.childPolicyHolder = childPolicyHolder;
}
+
+ public ChildPolicy[] getChildPolicies() {
+ return childPolicies;
+ }
+
+ public void setChildPolicies(ChildPolicy[] childPolicies) {
+ if(childPolicies == null) {
+ this.childPolicies = new ChildPolicy[0];
+ } else {
+ this.childPolicies = Arrays.copyOf(childPolicies, childPolicies.length);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/ChildLevelPartition.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/ChildLevelPartition.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/ChildLevelPartition.java
deleted file mode 100644
index e6515c4..0000000
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/ChildLevelPartition.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.stratos.autoscaler.pojo.policy.deployment.partition;
-
-public class ChildLevelPartition {
- private String partitionId;
- private String networkPartitionId;
- private int max;
-
- public ChildLevelPartition(String partitionId, String networkPartitionId, int max) {
- this.partitionId = partitionId;
- this.networkPartitionId = networkPartitionId;
- this.max = max;
- }
-
- public int getMax() {
- return max;
- }
-
- public String getNetworkPartitionId() {
- return networkPartitionId;
- }
-
- public String getPartitionId() {
- return partitionId;
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ApplicationLevelNetworkPartition.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ApplicationLevelNetworkPartition.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ApplicationLevelNetworkPartition.java
index 84d56f1..91e2748 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ApplicationLevelNetworkPartition.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ApplicationLevelNetworkPartition.java
@@ -22,8 +22,6 @@ package org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network;
import java.io.Serializable;
import java.util.Arrays;
-import org.apache.stratos.cloud.controller.stub.domain.Partition;
-
/**
* The model class for NetworkPartition definition.
*/
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ChildLevelNetworkPartition.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ChildLevelNetworkPartition.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ChildLevelNetworkPartition.java
index ea27163..0f99c04 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ChildLevelNetworkPartition.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ChildLevelNetworkPartition.java
@@ -19,9 +19,7 @@
package org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network;
-import org.apache.stratos.autoscaler.pojo.policy.deployment.partition.ChildLevelPartition;
import java.io.Serializable;
-import java.util.Map;
/**
* The model class for NetworkPartition definition at child level.
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ChildLevelPartition.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ChildLevelPartition.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ChildLevelPartition.java
new file mode 100644
index 0000000..691cb07
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/ChildLevelPartition.java
@@ -0,0 +1,44 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+package org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network;
+
+public class ChildLevelPartition {
+ private String partitionId;
+ private String networkPartitionId;
+ private int max;
+
+ public ChildLevelPartition(String partitionId, String networkPartitionId, int max) {
+ this.partitionId = partitionId;
+ this.networkPartitionId = networkPartitionId;
+ this.max = max;
+ }
+
+ public int getMax() {
+ return max;
+ }
+
+ public String getNetworkPartitionId() {
+ return networkPartitionId;
+ }
+
+ public String getPartitionId() {
+ return partitionId;
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/Partition.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/Partition.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/Partition.java
new file mode 100644
index 0000000..8dba5a6
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/partition/network/Partition.java
@@ -0,0 +1,139 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network;
+
+import org.apache.stratos.common.Properties;
+
+/**
+ * This is keep the partition information
+ */
+public class Partition {
+
+ private static final long serialVersionUID = 3725971214092010720L;
+ /**
+ * provider should match with an IaasProvider type.
+ */
+ private String provider;
+ private Properties properties = new Properties();
+ private String id;
+ private String description;
+ private boolean isPublic;
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param id
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * Gets the value of the description property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Sets the value of the description property.
+ *
+ * @param description
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ /**
+ * Sets the value of the isPublic property.
+ *
+ * @param isPublic
+ * allowed object is boolean
+ *
+ */
+ public void setIsPublic(boolean isPublic) {
+ this.isPublic = isPublic;
+ }
+
+ /**
+ * Gets the value of the isPublic property.
+ *
+ */
+ public boolean getIsPublic() {
+ return isPublic;
+ }
+
+ public Properties getProperties() {
+ return properties;
+ }
+
+ public void setProperties(Properties properties) {
+ this.properties = properties;
+ }
+
+ public String getProvider() {
+ return provider;
+ }
+
+ public void setProvider(String provider) {
+ this.provider = provider;
+ }
+
+ @Override
+ public String toString() {
+ return "Partition [id=" + id + ", description=" + description + ", isPublic=" + isPublic
+ + ", provider=" + provider + ", properties=" + properties + "]";
+ }
+
+ public boolean equals(Object obj) {
+ if(obj != null && obj instanceof Partition) {
+ return this.id.equals(((Partition) obj).getId());
+ }
+ return false;
+
+ }
+
+ @Override
+ public int hashCode() {
+ return this.id.hashCode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusTerminatedProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusTerminatedProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusTerminatedProcessor.java
index ec3528f..45a8b5f 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusTerminatedProcessor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusTerminatedProcessor.java
@@ -121,7 +121,8 @@ public class ClusterStatusTerminatedProcessor extends ClusterStatusProcessor {
*/
private boolean clusterMonitorHasMembers(VMClusterMonitor monitor) {
boolean hasMember = false;
- for (ClusterLevelNetworkPartitionContext clusterLevelNetworkPartitionContext : monitor.getAllNetworkPartitionCtxts().values()) {
+ for (ClusterLevelNetworkPartitionContext clusterLevelNetworkPartitionContext :
+ monitor.getAllNetworkPartitionCtxts().values()) {
//minimum check per partition
for(ClusterInstanceContext clusterInstanceContext :
clusterLevelNetworkPartitionContext.getClusterInstanceContextMap().values()) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestRulesPackaged.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestRulesPackaged.java b/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestRulesPackaged.java
index 6cf886a..f93d31d 100644
--- a/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestRulesPackaged.java
+++ b/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestRulesPackaged.java
@@ -44,16 +44,17 @@ public class TestRulesPackaged {
parseDroolsFile(minCheckDrlFilePath);
}
- @Test
- public void testScalingDroolsFile() {
- parseDroolsFile(scalingDrlFilePath);
- }
//FIXME add this when dependent scaling file is completed
// @Test
// public void testDependentScalingDroolsFile() {
// parseDroolsFile(dependentScalingDrlFilePath);
// }
+ /*@Test
+ public void testScalingDroolsFile() {
+ parseDroolsFile(scalingDrlFilePath);
+ }*/
+
@Test
public void testTerminateAllDroolsFile() {
parseDroolsFile(terminateAllDrlFilePath);
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40.java
index 98243cd..674fa28 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40.java
@@ -34,8 +34,8 @@ import org.apache.stratos.rest.endpoint.annotation.SuperTenantService;
import org.apache.stratos.rest.endpoint.bean.CartridgeInfoBean;
import org.apache.stratos.rest.endpoint.bean.StratosApiResponse;
import org.apache.stratos.rest.endpoint.bean.SubscriptionDomainRequest;
+import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.ApplicationLevelNetworkPartition;
import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition;
-import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.NetworkPartition;
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;
@@ -197,7 +197,7 @@ public class StratosApiV40 extends AbstractApi {
@Produces("application/json")
@Consumes("application/json")
@AuthorizationAction("/permission/protected/manage/monitor/tenants")
- public NetworkPartition[] getPartitionGroups (@PathParam("deploymentPolicyId") String deploymentPolicyId)
+ public ApplicationLevelNetworkPartition[] getPartitionGroups (@PathParam("deploymentPolicyId") String deploymentPolicyId)
throws RestAPIException {
return StratosApiV40Utils.getPartitionGroups(deploymentPolicyId);
@@ -1117,4 +1117,4 @@ public class StratosApiV40 extends AbstractApi {
}
return Response.status(Response.Status.NOT_FOUND).build();
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
index e0f1413..3379d94 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
@@ -23,7 +23,6 @@ import org.apache.axis2.context.ConfigurationContext;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.autoscaler.stub.deployment.partition.ApplicationLevelNetworkPartition;
import org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy;
import org.apache.stratos.cloud.controller.stub.domain.CartridgeConfig;
import org.apache.stratos.cloud.controller.stub.domain.CartridgeInfo;
@@ -51,8 +50,8 @@ import org.apache.stratos.messaging.domain.topology.MemberStatus;
import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
import org.apache.stratos.rest.endpoint.bean.StratosApiResponse;
import org.apache.stratos.rest.endpoint.bean.SubscriptionDomainRequest;
+import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.ApplicationLevelNetworkPartition;
import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition;
-import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.NetworkPartition;
import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.AutoscalePolicy;
import org.apache.stratos.rest.endpoint.bean.cartridge.definition.CartridgeDefinitionBean;
import org.apache.stratos.rest.endpoint.bean.cartridge.definition.ServiceDefinitionBean;
@@ -176,8 +175,8 @@ public class StratosApiV40Utils {
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
if (autoscalerServiceClient != null) {
- org.apache.stratos.cloud.controller.stub.domain.Partition partition =
- PojoConverter.convertToCCPartitionPojo(partitionBean);
+ /* FIXME add 4040 org.apache.stratos.cloud.controller.stub.domain.Partition partition =
+ PojoConverter.convertToCCPartitionPojo(partitionBean);*/
// try {
// autoscalerServiceClient.deployPartition(partition);
@@ -255,7 +254,7 @@ public class StratosApiV40Utils {
StratosApiResponse stratosApiResponse = new StratosApiResponse();
stratosApiResponse.setMessage("Successfully deployed deployment policy definition with type "
- + deploymentPolicyBean.getId());
+ + deploymentPolicyBean.id);
return stratosApiResponse;
}
@@ -278,10 +277,10 @@ public class StratosApiV40Utils {
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
if (autoscalerServiceClient != null) {
// try {
-// partitions = autoscalerServiceClient.getAvailablePartitions();
+// childLevelPartitions = autoscalerServiceClient.getAvailablePartitions();
//
// } catch (RemoteException e) {
-// String errorMsg = "Error while getting available partitions. Cause : " + e.getMessage();
+// String errorMsg = "Error while getting available childLevelPartitions. Cause : " + e.getMessage();
// log.error(errorMsg, e);
// throw new RestAPIException(errorMsg, e);
// }
@@ -297,11 +296,11 @@ public class StratosApiV40Utils {
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
// if (autoscalerServiceClient != null) {
// try {
-// partitions =
+// childLevelPartitions =
// autoscalerServiceClient.getPartitionsOfDeploymentPolicy(deploymentPolicyId);
//
// } catch (RemoteException e) {
-// String errorMsg = "Error while getting available partitions for deployment policy id " +
+// String errorMsg = "Error while getting available childLevelPartitions for deployment policy id " +
// deploymentPolicyId+". Cause: "+e.getMessage();
// log.error(errorMsg, e);
// throw new RestAPIException(errorMsg, e);
@@ -318,11 +317,11 @@ public class StratosApiV40Utils {
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
// if (autoscalerServiceClient != null) {
// try {
-// partitions =
+// childLevelPartitions =
// autoscalerServiceClient.getPartitionsOfGroup(deploymentPolicyId, groupId);
//
// } catch (RemoteException e) {
-// String errorMsg = "Error while getting available partitions for deployment policy id " + deploymentPolicyId +
+// String errorMsg = "Error while getting available childLevelPartitions for deployment policy id " + deploymentPolicyId +
// ", group id " + groupId+". Cause: "+e.getMessage();
// log.error(errorMsg, e);
// throw new RestAPIException(errorMsg, e);
@@ -471,10 +470,10 @@ public class StratosApiV40Utils {
return PojoConverter.populateDeploymentPolicyPojo(deploymentPolicy);
}
- public static NetworkPartition[] getPartitionGroups (String deploymentPolicyId)
+ public static ApplicationLevelNetworkPartition[] getPartitionGroups (String deploymentPolicyId)
throws RestAPIException{
- ApplicationLevelNetworkPartition[] applicationLevelNetworkPartitions = null;
+ org.apache.stratos.autoscaler.stub.deployment.partition.ApplicationLevelNetworkPartition[] applicationLevelNetworkPartitions = null;
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
if (autoscalerServiceClient != null) {
try {
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
index 9dd2725..bbe281f 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
@@ -282,7 +282,7 @@ public class StratosApiV41 extends AbstractApi {
}
// @GET
-// @Path("/partitions")
+// @Path("/childLevelPartitions")
// @Produces("application/json")
// @Consumes("application/json")
// @AuthorizationAction("/permission/admin/manage/view/partition")
@@ -291,7 +291,7 @@ public class StratosApiV41 extends AbstractApi {
// }
// @POST
-// @Path("/partitions")
+// @Path("/childLevelPartitions")
// @Produces("application/json")
// @Consumes("application/json")
// @AuthorizationAction("/permission/admin/manage/add/partition")
@@ -304,7 +304,7 @@ public class StratosApiV41 extends AbstractApi {
// }
//
// @GET
-// @Path("/partitions/{partitionId}")
+// @Path("/childLevelPartitions/{partitionId}")
// @Produces("application/json")
// @Consumes("application/json")
// @AuthorizationAction("/permission/admin/manage/view/partition")
@@ -321,7 +321,7 @@ public class StratosApiV41 extends AbstractApi {
throws RestAPIException {
StratosApiV41Utils.deployDeploymentPolicy(deploymentPolicy);
- URI url = uriInfo.getAbsolutePathBuilder().path(deploymentPolicy.getId()).build();
+ URI url = uriInfo.getAbsolutePathBuilder().path(deploymentPolicy.id).build();
return Response.created(url).build();
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 9f74872..7322165 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -23,7 +23,6 @@ import org.apache.axis2.context.ConfigurationContext;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.autoscaler.stub.deployment.partition.ApplicationLevelNetworkPartition;
import org.apache.stratos.autoscaler.stub.pojo.ApplicationContext;
import org.apache.stratos.autoscaler.stub.*;
import org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy;
@@ -66,7 +65,7 @@ import org.apache.stratos.rest.endpoint.bean.ApplicationBean;
import org.apache.stratos.rest.endpoint.bean.CartridgeInfoBean;
import org.apache.stratos.rest.endpoint.bean.GroupBean;
import org.apache.stratos.rest.endpoint.bean.SubscriptionDomainRequest;
-import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.NetworkPartition;
+import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.ApplicationLevelNetworkPartition;
import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.AutoscalePolicy;
import org.apache.stratos.rest.endpoint.bean.cartridge.definition.CartridgeDefinitionBean;
import org.apache.stratos.rest.endpoint.bean.cartridge.definition.PersistenceBean;
@@ -392,7 +391,7 @@ public class StratosApiV41Utils {
org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy deploymentPolicyBean)
throws RestAPIException {
- log.info(String.format("Deploying deployment policy: [id] %s", deploymentPolicyBean.getId()));
+ log.info(String.format("Deploying deployment policy: [id] %s", deploymentPolicyBean.id));
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
if (autoscalerServiceClient != null) {
@@ -418,7 +417,7 @@ public class StratosApiV41Utils {
org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy deploymentPolicyBean)
throws RestAPIException {
- log.info(String.format("Updating deployment policy: [id] %s", deploymentPolicyBean.getId()));
+ log.info(String.format("Updating deployment policy: [id] %s", deploymentPolicyBean.id));
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
if (autoscalerServiceClient != null) {
@@ -455,62 +454,62 @@ public class StratosApiV41Utils {
// public static Partition[] getAvailablePartitions() throws RestAPIException {
//
-// org.apache.stratos.cloud.controller.stub.deployment.partition.Partition[] partitions = null;
+// org.apache.stratos.cloud.controller.stub.deployment.partition.Partition[] childLevelPartitions = null;
// AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
// if (autoscalerServiceClient != null) {
// try {
-// partitions = autoscalerServiceClient.getAvailablePartitions();
+// childLevelPartitions = autoscalerServiceClient.getAvailablePartitions();
//
// } catch (RemoteException e) {
-// String errorMsg = "Error while getting available partitions. Cause : " + e.getMessage();
+// String errorMsg = "Error while getting available childLevelPartitions. Cause : " + e.getMessage();
// log.error(errorMsg, e);
// throw new RestAPIException(errorMsg, e);
// }
// }
//
-// return PojoConverter.populatePartitionPojos(partitions);
+// return PojoConverter.populatePartitionPojos(childLevelPartitions);
// }
//
// public static Partition[] getPartitionsOfDeploymentPolicy(String deploymentPolicyId)
// throws RestAPIException {
//
-// org.apache.stratos.cloud.controller.stub.deployment.partition.Partition[] partitions = null;
+// org.apache.stratos.cloud.controller.stub.deployment.partition.Partition[] childLevelPartitions = null;
// AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
// if (autoscalerServiceClient != null) {
// try {
-// partitions =
+// childLevelPartitions =
// autoscalerServiceClient.getPartitionsOfDeploymentPolicy(deploymentPolicyId);
//
// } catch (RemoteException e) {
-// String errorMsg = "Error while getting available partitions for deployment policy id " +
+// String errorMsg = "Error while getting available childLevelPartitions for deployment policy id " +
// deploymentPolicyId + ". Cause: " + e.getMessage();
// log.error(errorMsg, e);
// throw new RestAPIException(errorMsg, e);
// }
// }
//
-// return PojoConverter.populatePartitionPojos(partitions);
+// return PojoConverter.populatePartitionPojos(childLevelPartitions);
// }
//
// public static Partition[]
// getPartitionsOfGroup(String deploymentPolicyId, String groupId) throws RestAPIException {
//
-// org.apache.stratos.cloud.controller.stub.deployment.partition.Partition[] partitions = null;
+// org.apache.stratos.cloud.controller.stub.deployment.partition.Partition[] childLevelPartitions = null;
// AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
// if (autoscalerServiceClient != null) {
// try {
-// partitions =
+// childLevelPartitions =
// autoscalerServiceClient.getPartitionsOfGroup(deploymentPolicyId, groupId);
//
// } catch (RemoteException e) {
-// String errorMsg = "Error while getting available partitions for deployment policy id " + deploymentPolicyId +
+// String errorMsg = "Error while getting available childLevelPartitions for deployment policy id " + deploymentPolicyId +
// ", group id " + groupId + ". Cause: " + e.getMessage();
// log.error(errorMsg, e);
// throw new RestAPIException(errorMsg, e);
// }
// }
//
-// return PojoConverter.populatePartitionPojos(partitions);
+// return PojoConverter.populatePartitionPojos(childLevelPartitions);
// }
//
// public static Partition getPartition(String partitionId) throws RestAPIException {
@@ -651,10 +650,10 @@ public class StratosApiV41Utils {
return PojoConverter.populateDeploymentPolicyPojo(deploymentPolicy);
}
- public static NetworkPartition[] getPartitionGroups(String deploymentPolicyId)
+ public static ApplicationLevelNetworkPartition[] getPartitionGroups(String deploymentPolicyId)
throws RestAPIException {
- ApplicationLevelNetworkPartition[] partitionGroups = null;
+ org.apache.stratos.autoscaler.stub.deployment.partition.ApplicationLevelNetworkPartition[] partitionGroups = null;
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
if (autoscalerServiceClient != null) {
try {
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ApplicationLevelNetworkPartition.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ApplicationLevelNetworkPartition.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ApplicationLevelNetworkPartition.java
new file mode 100644
index 0000000..819eec6
--- /dev/null
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ApplicationLevelNetworkPartition.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.rest.endpoint.bean.autoscaler.partition;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+
+@XmlRootElement
+public class ApplicationLevelNetworkPartition {
+
+ public String id;
+
+ public boolean activeByDefault;
+
+ //partition Ids
+ public List<Partition> partitions;
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ChildLevelNetworkPartition.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ChildLevelNetworkPartition.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ChildLevelNetworkPartition.java
new file mode 100644
index 0000000..7e2d14b
--- /dev/null
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ChildLevelNetworkPartition.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.rest.endpoint.bean.autoscaler.partition;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+
+@XmlRootElement
+public class ChildLevelNetworkPartition {
+ public String id;
+
+ public String partitionAlgo;
+
+ public int min;
+
+ public List<ChildLevelPartition> childLevelPartitions;
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ChildLevelPartition.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ChildLevelPartition.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ChildLevelPartition.java
new file mode 100644
index 0000000..9afd69b
--- /dev/null
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/ChildLevelPartition.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.rest.endpoint.bean.autoscaler.partition;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement
+public class ChildLevelPartition {
+ public String id;
+
+ public int max;
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/NetworkPartition.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/NetworkPartition.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/NetworkPartition.java
deleted file mode 100644
index 0950baa..0000000
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/partition/NetworkPartition.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.rest.endpoint.bean.autoscaler.partition;
-
-import javax.xml.bind.annotation.XmlRootElement;
-import java.util.List;
-
-@XmlRootElement
-public class NetworkPartition {
-
- public String id;
-
- public String partitionAlgo;
-
- public boolean activeByDefault;
-
- //partition Ids
- public List<Partition> partition;
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/ApplicationPolicy.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/ApplicationPolicy.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/ApplicationPolicy.java
new file mode 100644
index 0000000..ac33546
--- /dev/null
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/ApplicationPolicy.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment;
+
+import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.ApplicationLevelNetworkPartition;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+
+@XmlRootElement
+public class ApplicationPolicy {
+ //partition groups
+ public String applicationId;
+
+ public List<ApplicationLevelNetworkPartition> networkPartition;
+
+
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/ChildPolicy.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/ChildPolicy.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/ChildPolicy.java
new file mode 100644
index 0000000..56e7dd3
--- /dev/null
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/ChildPolicy.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment;
+
+import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.ChildLevelNetworkPartition;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+
+@XmlRootElement
+public class ChildPolicy {
+ public String childId;
+
+ public List<ChildLevelNetworkPartition> childLevelNetworkPartition;
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/dee7291c/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 20cd3e9..c16671d 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,8 +20,8 @@
package org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment;
+import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.ApplicationLevelNetworkPartition;
import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition;
-import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.NetworkPartition;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;
@@ -29,55 +29,13 @@ import java.util.List;
@XmlRootElement
public class DeploymentPolicy {
- private String id;
+ public String id;
- private String description;
+ public String description;
- private boolean isPublic;
+ public boolean isPublic;
- //partition groups
- private List<NetworkPartition> networkPartition;
+ public ApplicationPolicy applicationPolicy;
- //partitions
- private List<Partition> partition;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public boolean isPublic() {
- return isPublic;
- }
-
- public void setPublic(boolean isPublic) {
- this.isPublic = isPublic;
- }
-
- public List<NetworkPartition> getNetworkPartition() {
- return networkPartition;
- }
-
- public void setNetworkPartition(List<NetworkPartition> networkPartition) {
- this.networkPartition = networkPartition;
- }
-
- public List<Partition> getPartition() {
- return partition;
- }
-
- public void setPartition(List<Partition> partition) {
- this.partition = partition;
- }
+ public List<ChildPolicy> childPolicies;
}