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