You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2014/10/24 15:28:41 UTC
[1/2] git commit: Adding autoscaling/deployment policy update methods
to autoscaler service
Repository: stratos
Updated Branches:
refs/heads/master 8caae55b1 -> d39f5f7f1
Adding autoscaling/deployment policy update methods to autoscaler service
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/5260f3fe
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/5260f3fe
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/5260f3fe
Branch: refs/heads/master
Commit: 5260f3fe840a50287fe2a0bca29c7158853375f9
Parents: 5dd6374
Author: Imesh Gunaratne <im...@apache.org>
Authored: Fri Oct 24 18:58:16 2014 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Fri Oct 24 18:58:16 2014 +0530
----------------------------------------------------------------------
.../autoscaler/api/AutoScalerServiceImpl.java | 18 ++++--
.../interfaces/AutoScalerServiceInterface.java | 4 ++
.../autoscaler/policy/PolicyManager.java | 67 +++++++++++++++++---
3 files changed, 77 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/5260f3fe/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 4b6b897..7748c09 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
@@ -88,13 +88,23 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface {
}
@Override
- public boolean addDeploymentPolicy(DeploymentPolicy depPolicy) throws InvalidPolicyException {
- return PolicyManager.getInstance().deployDeploymentPolicy(depPolicy);
+ public boolean addDeploymentPolicy(DeploymentPolicy deploymentPolicy) throws InvalidPolicyException {
+ return PolicyManager.getInstance().deployDeploymentPolicy(deploymentPolicy);
}
@Override
- public boolean addAutoScalingPolicy(AutoscalePolicy aspolicy) throws InvalidPolicyException {
- return PolicyManager.getInstance().deployAutoscalePolicy(aspolicy);
+ public boolean updateDeploymentPolicy(DeploymentPolicy deploymentPolicy) throws InvalidPolicyException {
+ return PolicyManager.getInstance().updateDeploymentPolicy(deploymentPolicy);
+ }
+
+ @Override
+ public boolean addAutoScalingPolicy(AutoscalePolicy autoscalePolicy) throws InvalidPolicyException {
+ return PolicyManager.getInstance().deployAutoscalePolicy(autoscalePolicy);
+ }
+
+ @Override
+ public boolean updateAutoScalingPolicy(AutoscalePolicy autoscalePolicy) throws InvalidPolicyException {
+ return PolicyManager.getInstance().updateAutoscalePolicy(autoscalePolicy);
}
@Override
http://git-wip-us.apache.org/repos/asf/stratos/blob/5260f3fe/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/interfaces/AutoScalerServiceInterface.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/interfaces/AutoScalerServiceInterface.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/interfaces/AutoScalerServiceInterface.java
index 2f88581..2cc5fb7 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/interfaces/AutoScalerServiceInterface.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/interfaces/AutoScalerServiceInterface.java
@@ -41,10 +41,14 @@ public interface AutoScalerServiceInterface {
public boolean addDeploymentPolicy(DeploymentPolicy depPolicy) throws InvalidPolicyException;
+ public boolean updateDeploymentPolicy(DeploymentPolicy depPolicy) throws InvalidPolicyException;
+
public AutoscalePolicy[] getAllAutoScalingPolicy();
public boolean addAutoScalingPolicy(AutoscalePolicy aspolicy) throws InvalidPolicyException;
+ public boolean updateAutoScalingPolicy(AutoscalePolicy aspolicy) throws InvalidPolicyException;
+
public DeploymentPolicy[] getValidDeploymentPoliciesforCartridge(String cartridgeType);
public Partition getPartition(String partitionId);
http://git-wip-us.apache.org/repos/asf/stratos/blob/5260f3fe/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/PolicyManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/PolicyManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/PolicyManager.java
index 3c3521a..6a91817 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/PolicyManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/PolicyManager.java
@@ -64,12 +64,24 @@ public class PolicyManager {
// Add the policy to information model and persist.
public boolean deployAutoscalePolicy(AutoscalePolicy policy) throws InvalidPolicyException {
if(StringUtils.isEmpty(policy.getId())){
- throw new AutoScalerException("AutoScaling policy id can not be empty");
+ throw new AutoScalerException("Autoscaling policy id cannot be empty");
}
this.addASPolicyToInformationModel(policy);
RegistryManager.getInstance().persistAutoscalerPolicy(policy);
if (log.isInfoEnabled()) {
- log.info(String.format("AutoScaling policy is deployed successfully: [id] %s", policy.getId()));
+ log.info(String.format("Autoscaling policy is deployed successfully: [id] %s", policy.getId()));
+ }
+ return true;
+ }
+
+ public boolean updateAutoscalePolicy(AutoscalePolicy policy) throws InvalidPolicyException {
+ if(StringUtils.isEmpty(policy.getId())){
+ throw new AutoScalerException("Autoscaling policy id cannot be empty");
+ }
+ this.updateASPolicyInInformationModel(policy);
+ RegistryManager.getInstance().persistAutoscalerPolicy(policy);
+ if (log.isInfoEnabled()) {
+ log.info(String.format("Autoscaling policy is updated successfully: [id] %s", policy.getId()));
}
return true;
}
@@ -77,7 +89,7 @@ public class PolicyManager {
// Add the deployment policy to information model and persist.
public boolean deployDeploymentPolicy(DeploymentPolicy policy) throws InvalidPolicyException {
if(StringUtils.isEmpty(policy.getId())){
- throw new AutoScalerException("Deploying policy id can not be empty");
+ throw new AutoScalerException("Deploying policy id cannot be empty");
}
try {
if(log.isInfoEnabled()) {
@@ -89,7 +101,7 @@ public class PolicyManager {
throw new InvalidPolicyException(String.format("Deployment policy is invalid: [id] %s", policy.getId()), e);
}
- this.addDeploymentPolicyToInformationModel(policy);
+ addDeploymentPolicyToInformationModel(policy);
RegistryManager.getInstance().persistDeploymentPolicy(policy);
if (log.isInfoEnabled()) {
@@ -98,6 +110,29 @@ public class PolicyManager {
return true;
}
+ public boolean updateDeploymentPolicy(DeploymentPolicy policy) throws InvalidPolicyException {
+ if(StringUtils.isEmpty(policy.getId())){
+ throw new AutoScalerException("Deploying policy id cannot be empty");
+ }
+ try {
+ if(log.isInfoEnabled()) {
+ log.info(String.format("Updating deployment policy: [id] %s", policy.getId()));
+ }
+ fillPartitions(policy);
+ } catch (InvalidPartitionException e) {
+ log.error(e);
+ throw new InvalidPolicyException(String.format("Deployment policy is invalid: [id] %s", policy.getId()), e);
+ }
+
+ updateDeploymentPolicyToInformationModel(policy);
+ RegistryManager.getInstance().persistDeploymentPolicy(policy);
+
+ if (log.isInfoEnabled()) {
+ log.info(String.format("Deployment policy is updated successfully: [id] %s", policy.getId()));
+ }
+ return true;
+ }
+
private void fillPartitions(DeploymentPolicy deploymentPolicy) throws InvalidPartitionException {
PartitionManager partitionMgr = PartitionManager.getInstance();
for (Partition partition : deploymentPolicy.getAllPartitions()) {
@@ -130,16 +165,25 @@ public class PolicyManager {
public void addASPolicyToInformationModel(AutoscalePolicy asPolicy) throws InvalidPolicyException {
if (!autoscalePolicyListMap.containsKey(asPolicy.getId())) {
if (log.isDebugEnabled()) {
- log.debug("Adding policy :" + asPolicy.getId());
+ log.debug("Adding autoscaling policy: " + asPolicy.getId());
}
autoscalePolicyListMap.put(asPolicy.getId(), asPolicy);
} else {
- String errMsg = "Specified policy [" + asPolicy.getId() + "] already exists";
+ String errMsg = "Specified autoscaling policy [" + asPolicy.getId() + "] already exists";
log.error(errMsg);
throw new InvalidPolicyException(errMsg);
}
}
+ public void updateASPolicyInInformationModel(AutoscalePolicy asPolicy) throws InvalidPolicyException {
+ if (autoscalePolicyListMap.containsKey(asPolicy.getId())) {
+ if (log.isDebugEnabled()) {
+ log.debug("Updating autoscaling policy: " + asPolicy.getId());
+ }
+ autoscalePolicyListMap.put(asPolicy.getId(), asPolicy);
+ }
+ }
+
/**
* Removes the specified policy
*
@@ -181,17 +225,24 @@ public class PolicyManager {
public void addDeploymentPolicyToInformationModel(DeploymentPolicy policy) throws InvalidPolicyException {
if (!deploymentPolicyListMap.containsKey(policy.getId())) {
if (log.isDebugEnabled()) {
- log.debug("Adding policy :" + policy.getId());
+ log.debug("Adding deployment policy: " + policy.getId());
}
PartitionManager.getInstance().deployNewNetworkPartitions(policy);
deploymentPolicyListMap.put(policy.getId(), policy);
} else {
- String errMsg = "Specified policy [" + policy.getId()+ "] already exists";
+ String errMsg = "Specified deployment policy [" + policy.getId()+ "] already exists";
log.error(errMsg);
throw new InvalidPolicyException(errMsg);
}
}
+ public void updateDeploymentPolicyToInformationModel(DeploymentPolicy policy) throws InvalidPolicyException {
+ if (log.isDebugEnabled()) {
+ log.debug("Updating deployment policy: " + policy.getId());
+ }
+ deploymentPolicyListMap.put(policy.getId(), policy);
+ }
+
/**
* Removes the specified policy
*
[2/2] git commit: Merge remote-tracking branch 'origin/master'
Posted by im...@apache.org.
Merge remote-tracking branch 'origin/master'
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/d39f5f7f
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/d39f5f7f
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/d39f5f7f
Branch: refs/heads/master
Commit: d39f5f7f1626f25ab7dab3a63de6d3a8d738caf7
Parents: 5260f3f 8caae55
Author: Imesh Gunaratne <im...@apache.org>
Authored: Fri Oct 24 18:58:34 2014 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Fri Oct 24 18:58:34 2014 +0530
----------------------------------------------------------------------
.../distribution/src/main/conf/drools/container-scaling.drl | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------