You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2015/04/07 18:28:02 UTC
[1/2] stratos git commit: Fix deployment policy update bug
Repository: stratos
Updated Branches:
refs/heads/master 0baeff0af -> 881520274
Fix deployment policy update bug
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/f704f1f6
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/f704f1f6
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/f704f1f6
Branch: refs/heads/master
Commit: f704f1f6f06833be653ba5e8f35af72045ba4857
Parents: 0baeff0
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Tue Apr 7 21:29:28 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Tue Apr 7 21:29:28 2015 +0530
----------------------------------------------------------------------
.../org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/f704f1f6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
index 08bae7a..ad22936 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java
@@ -187,7 +187,7 @@ public class PolicyManager {
}
public void updateDeploymentPolicyInInformationModel(DeploymentPolicy deploymentPolicy) throws InvalidPolicyException {
- if (autoscalePolicyListMap.containsKey(deploymentPolicy.getDeploymentPolicyID())) {
+ if (deploymentPolicyListMap.containsKey(deploymentPolicy.getDeploymentPolicyID())) {
if (log.isDebugEnabled()) {
log.debug("Updating deployment policy: " + deploymentPolicy.getDeploymentPolicyID());
}
[2/2] stratos git commit: Pass the deployment policy id as the
reference to get deployment policy details from policy manager
Posted by la...@apache.org.
Pass the deployment policy id as the reference to get deployment policy details from policy manager
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/88152027
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/88152027
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/88152027
Branch: refs/heads/master
Commit: 8815202740a18605f1d2bcf60ea7f434f77c4248
Parents: f704f1f
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Tue Apr 7 21:56:56 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Tue Apr 7 21:56:56 2015 +0530
----------------------------------------------------------------------
.../autoscaler/context/cluster/ClusterContext.java | 8 +++++---
.../context/cluster/ClusterContextFactory.java | 6 ++++--
.../partition/ClusterLevelPartitionContext.java | 4 ++--
.../partition/GroupLevelPartitionContext.java | 4 ++--
.../context/partition/PartitionContext.java | 15 +++++++++------
.../topology/AutoscalerTopologyEventReceiver.java | 2 +-
.../stratos/autoscaler/monitor/MonitorFactory.java | 6 ++++--
.../autoscaler/monitor/cluster/ClusterMonitor.java | 11 +++++++++--
.../autoscaler/monitor/component/GroupMonitor.java | 3 +--
9 files changed, 37 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/88152027/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
index 00fb279..0fcef1c 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
@@ -60,12 +60,15 @@ public class ClusterContext extends AbstractClusterContext {
protected AutoscalePolicy autoscalePolicy;
+ private String deploymentPolicyId;
+
public ClusterContext(String clusterId, String serviceId, AutoscalePolicy autoscalePolicy,
- boolean hasScalingDependents) {
+ boolean hasScalingDependents, String deploymentPolicyId) {
super(clusterId, serviceId);
this.networkPartitionCtxts = new ConcurrentHashMap<String, ClusterLevelNetworkPartitionContext>();
this.autoscalePolicy = autoscalePolicy;
+ this.deploymentPolicyId = deploymentPolicyId;
}
public Map<String, ClusterLevelNetworkPartitionContext> getNetworkPartitionCtxts() {
@@ -296,9 +299,8 @@ public class ClusterContext extends AbstractClusterContext {
//Creating cluster level partition context
ClusterLevelPartitionContext clusterLevelPartitionContext = new ClusterLevelPartitionContext(
- maxInstances,
partition3,
- clusterInstance.getNetworkPartitionId());
+ clusterInstance.getNetworkPartitionId(), this.deploymentPolicyId);
clusterLevelPartitionContext.setServiceName(cluster.getServiceName());
clusterLevelPartitionContext.setProperties(cluster.getProperties());
http://git-wip-us.apache.org/repos/asf/stratos/blob/88152027/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 89f283e..6195ca5 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
@@ -31,7 +31,8 @@ public class ClusterContextFactory {
private static final Log log = LogFactory.getLog(ClusterContextFactory.class);
- public static ClusterContext getVMClusterContext(String instanceId, Cluster cluster, boolean hasScalingDependents)
+ public static ClusterContext getVMClusterContext(String instanceId, Cluster cluster, boolean hasScalingDependents,
+ String deploymentPolicyId)
throws PolicyValidationException, PartitionValidationException {
if (null == cluster) {
@@ -45,6 +46,7 @@ public class ClusterContextFactory {
log.debug("Autoscaler policy name: " + autoscalePolicyName);
}
- return new ClusterContext(cluster.getClusterId(), cluster.getServiceName(), autoscalePolicy, hasScalingDependents);
+ return new ClusterContext(cluster.getClusterId(), cluster.getServiceName(), autoscalePolicy, hasScalingDependents,
+ deploymentPolicyId);
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/88152027/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 39affd3..0793f09 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
@@ -128,9 +128,9 @@ public class ClusterLevelPartitionContext extends PartitionContext implements Se
}
}
- public ClusterLevelPartitionContext(int max, Partition partition, String networkPartitionId) {
+ public ClusterLevelPartitionContext(Partition partition, String networkPartitionId, String deploymentPolicyId) {
- super(max, partition, networkPartitionId);
+ super(partition, networkPartitionId, deploymentPolicyId);
this.pendingMembers = new ArrayList<MemberContext>();
this.activeMembers = new ArrayList<MemberContext>();
this.terminationPendingMembers = new ArrayList<MemberContext>();
http://git-wip-us.apache.org/repos/asf/stratos/blob/88152027/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 11cbf6c..7e581cc 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
@@ -81,8 +81,8 @@ public class GroupLevelPartitionContext extends PartitionContext implements Seri
pendingInstanceExpiryTime = instanceExpiryTime;
}
- public GroupLevelPartitionContext(int max, String partitionId, String networkPartitionIid) {
- super(max, partitionId, networkPartitionIid);
+ public GroupLevelPartitionContext(String partitionId, String networkPartitionIid, String deploymentPolicyId) {
+ super(partitionId, networkPartitionIid, deploymentPolicyId);
this.pendingInstances = new ArrayList<Instance>();
this.activeInstances = new ArrayList<Instance>();
this.terminationPendingInstances = new ArrayList<Instance>();
http://git-wip-us.apache.org/repos/asf/stratos/blob/88152027/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 63818ac..9849702 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,6 +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.PolicyManager;
import org.apache.stratos.common.partition.Partition;
import java.io.Serializable;
@@ -36,7 +37,7 @@ public abstract class PartitionContext implements Serializable {
private static final Log log = LogFactory.getLog(ClusterLevelPartitionContext.class);
protected String partitionId;
private Partition partition;
- private int max;
+ private String deploymentPolicyId;
private String networkPartitionId;
// properties
private Properties properties;
@@ -46,15 +47,15 @@ public abstract class PartitionContext implements Serializable {
}
- public PartitionContext(int max, Partition partition, String networkPartitionId) {
+ public PartitionContext(Partition partition, String networkPartitionId, String deploymentPolicyId) {
this.partition = partition;
- this.max = max;
+ this.deploymentPolicyId = deploymentPolicyId;
this.partitionId = partition.getId();
this.networkPartitionId = networkPartitionId;
}
- public PartitionContext(int max, String partitionId, String networkPartitionId) {
- this.max = max;
+ public PartitionContext(String partitionId, String networkPartitionId, String deploymentPolicyId) {
+ this.deploymentPolicyId = deploymentPolicyId;
this.partitionId = partitionId;
this.networkPartitionId = networkPartitionId;
}
@@ -93,6 +94,8 @@ public abstract class PartitionContext implements Serializable {
public abstract int getNonTerminatedMemberCount();
public int getMax() {
- return max;
+ return PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId)
+ .getNetworkPartitionByNetworkPartitionId(networkPartitionId)
+ .getPartition(partitionId).getPartitionMax();
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/88152027/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
index 7c1e750..45b1b80 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
@@ -489,7 +489,7 @@ public class AutoscalerTopologyEventReceiver {
(ClusterContext) clusterMonitor.getClusterContext();
if (clusterContext == null) {
clusterContext = ClusterContextFactory.getVMClusterContext(instanceId, cluster,
- clusterMonitor.hasScalingDependents());
+ clusterMonitor.hasScalingDependents(), clusterMonitor.getDeploymentPolicyId());
clusterMonitor.setClusterContext(clusterContext);
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/88152027/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java
index 12340d7..cf54a06 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java
@@ -253,7 +253,8 @@ public class MonitorFactory {
// deployment policy validation
- String deploymentPolicyId = AutoscalerUtil.getDeploymentPolicyIdByAlias(parentMonitor.appId, AutoscalerUtil.getAliasFromClusterId(clusterId));
+ String deploymentPolicyId = AutoscalerUtil.getDeploymentPolicyIdByAlias(parentMonitor.appId,
+ AutoscalerUtil.getAliasFromClusterId(clusterId));
DeploymentPolicy deploymentPolicy = null;
try {
deploymentPolicy = PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId);
@@ -300,7 +301,8 @@ public class MonitorFactory {
groupScalingEnabledSubtree = findIfChildIsInGroupScalingEnabledSubTree(groupMonitor);
}
- ClusterMonitor clusterMonitor = new ClusterMonitor(cluster, hasScalingDependents, groupScalingEnabledSubtree);
+ ClusterMonitor clusterMonitor = new ClusterMonitor(cluster, hasScalingDependents, groupScalingEnabledSubtree,
+ deploymentPolicyId);
Properties props = cluster.getProperties();
if (props != null) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/88152027/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
index 9c18530..91a5971 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
@@ -111,9 +111,11 @@ public class ClusterMonitor extends Monitor implements Runnable {
private Map<String, ClusterLevelNetworkPartitionContext> networkPartitionIdToClusterLevelNetworkPartitionCtxts;
private boolean hasPrimary;
private float scalingFactorBasedOnDependencies = 1.0f;
+ private String deploymentPolicyId;
- public ClusterMonitor(Cluster cluster, boolean hasScalingDependents, boolean groupScalingEnabledSubtree) {
+ public ClusterMonitor(Cluster cluster, boolean hasScalingDependents, boolean groupScalingEnabledSubtree,
+ String deploymentPolicyId) {
scheduler = StratosThreadPool.getScheduledExecutorService(AutoscalerConstants.CLUSTER_MONITOR_SCHEDULER_ID, 50);
int threadPoolSize = Integer.getInteger(AutoscalerConstants.CLUSTER_MONITOR_THREAD_POOL_SIZE, 50);
@@ -143,6 +145,7 @@ public class ClusterMonitor extends Monitor implements Runnable {
this.clusterId = cluster.getClusterId();
this.monitoringStarted = new AtomicBoolean(false);
this.hasScalingDependents = hasScalingDependents;
+ this.deploymentPolicyId = deploymentPolicyId;
}
@Override
@@ -1419,7 +1422,7 @@ public class ClusterMonitor extends Monitor implements Runnable {
ClusterContext clusterContext = (ClusterContext) this.getClusterContext();
if (clusterContext == null) {
clusterContext = ClusterContextFactory.getVMClusterContext(clusterInstance.getInstanceId(), cluster,
- hasScalingDependents());
+ hasScalingDependents(), this.deploymentPolicyId);
this.setClusterContext(clusterContext);
}
@@ -1502,4 +1505,8 @@ public class ClusterMonitor extends Monitor implements Runnable {
}
}
}
+
+ public String getDeploymentPolicyId() {
+ return deploymentPolicyId;
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/88152027/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
index 1166519..77b1e36 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
@@ -633,8 +633,7 @@ public class GroupMonitor extends ParentComponentMonitor {
if (networkPartitionContext.getPartitionCtxt(partition.getId()) == null) {
GroupLevelPartitionContext groupLevelPartitionContext = new GroupLevelPartitionContext(
- networkPartition.getPartition(partition.getId()).getPartitionMax()
- , partition.getId(), networkPartitionId);
+ partition.getId(), networkPartitionId, deploymentPolicyId);
childPartitionContexts.add(groupLevelPartitionContext);
networkPartitionContext.addPartitionContext(groupLevelPartitionContext);