Repository: stratos Updated Branches: refs/heads/master 50214f8ae -> 2ec7fed1d
Adding application and child level network partitions Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/2ec7fed1 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/2ec7fed1 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/2ec7fed1 Branch: refs/heads/master Commit: 2ec7fed1d1d8c572ab42c14f18633c0d681b9f29 Parents: 50214f8 Author: Lahiru Sandaruwan <[email protected]> Authored: Fri Nov 28 19:55:49 2014 +0530 Committer: Lahiru Sandaruwan <[email protected]> Committed: Fri Nov 28 19:55:49 2014 +0530 ---------------------------------------------------------------------- .../autoscaler/api/AutoScalerServiceImpl.java | 19 +++-- .../context/cluster/ClusterContextFactory.java | 5 +- .../interfaces/AutoScalerServiceInterface.java | 2 +- .../monitor/component/ApplicationMonitor.java | 13 +-- .../monitor/component/GroupMonitor.java | 10 +-- .../autoscaler/partition/PartitionManager.java | 6 +- .../ApplicationLevelNetworkPartition.java | 76 +++++++++++++++++ .../network/ChildLevelNetworkPartition.java | 88 ++++++++++++++++++++ .../partition/network/NetworkPartition.java | 25 ++---- .../policy/model/DeploymentPolicy.java | 32 ++++--- 10 files changed, 220 insertions(+), 56 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/2ec7fed1/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 38224ef..42a848f 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 @@ -37,6 +37,7 @@ import org.apache.stratos.autoscaler.exception.policy.InvalidPolicyException; import org.apache.stratos.autoscaler.interfaces.AutoScalerServiceInterface; import org.apache.stratos.autoscaler.kubernetes.KubernetesManager; import org.apache.stratos.autoscaler.monitor.cluster.AbstractClusterMonitor; +import org.apache.stratos.autoscaler.partition.network.ApplicationLevelNetworkPartition; import org.apache.stratos.autoscaler.partition.network.NetworkPartition; import org.apache.stratos.autoscaler.partition.PartitionManager; import org.apache.stratos.autoscaler.pojo.Dependencies; @@ -144,8 +145,8 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { } @Override - public NetworkPartition[] getNetworkPartitions(String deploymentPolicyId) { - return PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId).getNetworkPartitions(); + public ApplicationLevelNetworkPartition[] getNetworkPartitions(String deploymentPolicyId) { + return PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId).getApplicationLevelNetworkPartitions(); } public Partition[] getPartitionsOfDeploymentPolicy(String deploymentPolicyId) { @@ -218,7 +219,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { return null; } - NetworkPartition group = depPol.getNetworkPartition(groupId); + ApplicationLevelNetworkPartition group = depPol.getApplicationLevelNetworkPartition(groupId); if (group == null) { return null; @@ -230,7 +231,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { // public void checkLBExistenceAgainstPolicy(String lbClusterId, String deploymentPolicyId) throws NonExistingLBException { // // boolean exist = false; -// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId).getNetworkPartitions()) { +// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId).getApplicationLevelNetworkPartitions()) { // // NetworkPartitionLbHolder nwPartitionLbHolder = partitionManager.getNetworkPartitionLbHolder(networkPartition.getId()); // @@ -250,7 +251,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { // public boolean checkDefaultLBExistenceAgainstPolicy(String deploymentPolicyId) { // -// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId).getNetworkPartitions()) { +// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId).getApplicationLevelNetworkPartitions()) { // // NetworkPartitionLbHolder nwPartitionLbHolder = partitionManager.getNetworkPartitionLbHolder(networkPartition.getId()); // @@ -274,7 +275,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { // if (log.isDebugEnabled()) { // log.debug("Default LB Cluster Id for Deployment Policy [" + deploymentPolicyName + "] "); // } -// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyName).getNetworkPartitions()) { +// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyName).getApplicationLevelNetworkPartitions()) { // // NetworkPartitionLbHolder nwPartitionLbHolder = partitionManager.getNetworkPartitionLbHolder(networkPartition.getId()); // @@ -313,7 +314,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { // public boolean checkServiceLBExistenceAgainstPolicy(String serviceName, String deploymentPolicyId) { // -// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId).getNetworkPartitions()) { +// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId).getApplicationLevelNetworkPartitions()) { // // NetworkPartitionLbHolder nwPartitionLbHolder = partitionManager.getNetworkPartitionLbHolder(networkPartition.getId()); // @@ -335,7 +336,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { // // public String getServiceLBClusterId(String serviceType, String deploymentPolicyName) { // -// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyName).getNetworkPartitions()) { +// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyName).getApplicationLevelNetworkPartitions()) { // // NetworkPartitionLbHolder nwPartitionLbHolder = partitionManager.getNetworkPartitionLbHolder(networkPartition.getId()); // @@ -356,7 +357,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { // public boolean checkClusterLBExistenceAgainstPolicy(String clusterId, String deploymentPolicyId) { // -// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId).getNetworkPartitions()) { +// for (NetworkPartition networkPartition : PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId).getApplicationLevelNetworkPartitions()) { // // NetworkPartitionLbHolder nwPartitionLbHolder = partitionManager.getNetworkPartitionLbHolder(networkPartition.getId()); // http://git-wip-us.apache.org/repos/asf/stratos/blob/2ec7fed1/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 2ea242d..a6d026e 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 @@ -27,6 +27,7 @@ import org.apache.stratos.autoscaler.context.partition.network.ClusterLevelNetwo import org.apache.stratos.autoscaler.context.partition.ClusterLevelPartitionContext; import org.apache.stratos.autoscaler.exception.partition.PartitionValidationException; import org.apache.stratos.autoscaler.exception.policy.PolicyValidationException; +import org.apache.stratos.autoscaler.partition.network.ChildLevelNetworkPartition; import org.apache.stratos.autoscaler.partition.network.NetworkPartition; //import org.apache.stratos.autoscaler.partition.PartitionManager; import org.apache.stratos.autoscaler.policy.PolicyManager; @@ -90,7 +91,7 @@ public class ClusterContextFactory { Map<String, ClusterLevelNetworkPartitionContext> networkPartitionContextMap = new HashMap<String, ClusterLevelNetworkPartitionContext>(); - for (NetworkPartition networkPartition : deploymentPolicy.getNetworkPartitions()) { + for (ChildLevelNetworkPartition networkPartition : deploymentPolicy.getChildLevelNetworkPartitions()) { String networkPartitionId = networkPartition.getId(); ClusterLevelNetworkPartitionContext clusterLevelNetworkPartitionContext = new ClusterLevelNetworkPartitionContext(networkPartitionId, @@ -192,7 +193,7 @@ public class ClusterContextFactory { Map<String, ClusterLevelNetworkPartitionContext> networkPartitionContextMap = new HashMap<String, ClusterLevelNetworkPartitionContext>(); // partition group = network partition context - for (NetworkPartition networkPartition : deploymentPolicy.getNetworkPartitions()) { + for (ChildLevelNetworkPartition networkPartition : deploymentPolicy.getChildLevelNetworkPartitions()) { String networkPartitionId = networkPartition.getId(); // NetworkPartitionLbHolder networkPartitionLbHolder = http://git-wip-us.apache.org/repos/asf/stratos/blob/2ec7fed1/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 564ca6a..d3ba99b 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 @@ -63,7 +63,7 @@ public interface AutoScalerServiceInterface { public AutoscalePolicy getAutoscalingPolicy(String autoscalingPolicyId); - public NetworkPartition[] getNetworkPartitions(String deploymentPolicyId); + public org.apache.stratos.autoscaler.partition.network.ApplicationLevelNetworkPartition[] getNetworkPartitions(String deploymentPolicyId); public Partition[] getPartitionsOfGroup(String deploymentPolicyId, String partitionGroup); http://git-wip-us.apache.org/repos/asf/stratos/blob/2ec7fed1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java index 3cff7fd..a8e0ca8 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java @@ -32,6 +32,7 @@ import org.apache.stratos.autoscaler.monitor.events.builder.MonitorStatusEventBu import org.apache.stratos.autoscaler.monitor.events.ApplicationStatusEvent; import org.apache.stratos.autoscaler.monitor.events.MonitorScalingEvent; import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent; +import org.apache.stratos.autoscaler.partition.network.ApplicationLevelNetworkPartition; import org.apache.stratos.autoscaler.partition.network.NetworkPartition; import org.apache.stratos.autoscaler.policy.PolicyManager; import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; @@ -197,7 +198,7 @@ public class ApplicationMonitor extends ParentComponentMonitor { List<String> instanceIds = new ArrayList<String>(); DeploymentPolicy deploymentPolicy = getDeploymentPolicy(application); String instanceId; - for (NetworkPartition networkPartition : deploymentPolicy.getNetworkPartitions()) { + for (ApplicationLevelNetworkPartition networkPartition : deploymentPolicy.getApplicationLevelNetworkPartitions()) { if(networkPartition.isActiveByDefault()) { ApplicationLevelNetworkPartitionContext context = new ApplicationLevelNetworkPartitionContext(networkPartition.getId()); @@ -228,7 +229,7 @@ public class ApplicationMonitor extends ParentComponentMonitor { String instanceId = null; //Find out the inActive network partition boolean burstNPFound = false; - for (NetworkPartition networkPartition : deploymentPolicy.getNetworkPartitions()) { + for (ApplicationLevelNetworkPartition networkPartition : deploymentPolicy.getApplicationLevelNetworkPartitions()) { if(!networkPartition.isActiveByDefault()) { if(!this.networkPartitionCtxts.containsKey(networkPartition.getId())) { ApplicationLevelNetworkPartitionContext context = @@ -278,15 +279,15 @@ public class ApplicationMonitor extends ParentComponentMonitor { return instanceId; } - public Map<String, ApplicationLevelNetworkPartitionContext> getNetworkPartitionCtxts() { + public Map<String, ApplicationLevelNetworkPartitionContext> getApplicationLevelNetworkPartitionCtxts() { return networkPartitionCtxts; } - public void setNetworkPartitionCtxts(Map<String, ApplicationLevelNetworkPartitionContext> networkPartitionCtxts) { + public void setApplicationLevelNetworkPartitionCtxts(Map<String, ApplicationLevelNetworkPartitionContext> networkPartitionCtxts) { this.networkPartitionCtxts = networkPartitionCtxts; } - public void addNetworkPartitionContext(ApplicationLevelNetworkPartitionContext clusterLevelNetworkPartitionContext) { - this.networkPartitionCtxts.put(clusterLevelNetworkPartitionContext.getId(), clusterLevelNetworkPartitionContext); + public void addApplicationLevelNetworkPartitionContext(ApplicationLevelNetworkPartitionContext applicationLevelNetworkPartitionContext) { + this.networkPartitionCtxts.put(applicationLevelNetworkPartitionContext.getId(), applicationLevelNetworkPartitionContext); } } http://git-wip-us.apache.org/repos/asf/stratos/blob/2ec7fed1/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 496e143..cbc9366 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 @@ -36,7 +36,7 @@ import org.apache.stratos.autoscaler.monitor.events.GroupStatusEvent; import org.apache.stratos.autoscaler.monitor.events.MonitorScalingEvent; import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent; import org.apache.stratos.autoscaler.monitor.events.builder.MonitorStatusEventBuilder; -import org.apache.stratos.autoscaler.partition.network.NetworkPartition; +import org.apache.stratos.autoscaler.partition.network.ChildLevelNetworkPartition; import org.apache.stratos.autoscaler.policy.PolicyManager; import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.messaging.domain.applications.Application; @@ -307,8 +307,8 @@ public class GroupMonitor extends ParentComponentMonitor implements EventHandler if (deploymentPolicyName != null) { DeploymentPolicy deploymentPolicy = PolicyManager.getInstance() .getDeploymentPolicy(deploymentPolicyName); - NetworkPartition networkPartition = deploymentPolicy. - getNetworkPartition(parentInstanceContext.getNetworkPartitionId()); + ChildLevelNetworkPartition networkPartition = deploymentPolicy. + getChildLevelNetworkPartition(parentInstanceContext.getNetworkPartitionId()); AutoscaleAlgorithm algorithm = this.getAutoscaleAlgorithm(networkPartition.getPartitionAlgo()); //Partition partition = algorithm.getNextScaleUpPartition(groupLevelNetworkPartitionContext, this.id); @@ -349,8 +349,8 @@ public class GroupMonitor extends ParentComponentMonitor implements EventHandler if (deploymentPolicyName != null) { DeploymentPolicy deploymentPolicy = PolicyManager.getInstance() .getDeploymentPolicy(deploymentPolicyName); - NetworkPartition networkPartition = deploymentPolicy. - getNetworkPartition(parentInstanceContext.getNetworkPartitionId()); + ChildLevelNetworkPartition networkPartition = deploymentPolicy. + getChildLevelNetworkPartition(parentInstanceContext.getNetworkPartitionId()); AutoscaleAlgorithm algorithm = this.getAutoscaleAlgorithm(networkPartition.getPartitionAlgo()); //Partition partition = algorithm.getNextScaleUpPartition(groupLevelNetworkPartitionContext, this.id); http://git-wip-us.apache.org/repos/asf/stratos/blob/2ec7fed1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java index c5cf18d..f4ed76c 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java @@ -125,7 +125,7 @@ public class PartitionManager { // public List<NetworkPartitionLbHolder> getNetworkPartitionLbHolders(DeploymentPolicy depPolicy) { // List<NetworkPartitionLbHolder> lbHolders = new ArrayList<NetworkPartitionLbHolder>(); -// for (NetworkPartition networkPartition : depPolicy.getNetworkPartitions()) { +// for (NetworkPartition networkPartition : depPolicy.getApplicationLevelNetworkPartitions()) { // String id = networkPartition.getId(); // NetworkPartitionLbHolder entry = networkPartitionLbHolders.get(id); // if (entry != null) { @@ -136,7 +136,7 @@ public class PartitionManager { // } // public void deployNewNetworkPartitions(DeploymentPolicy depPolicy) { -// for (NetworkPartition networkPartition : depPolicy.getNetworkPartitions()) { +// for (NetworkPartition networkPartition : depPolicy.getApplicationLevelNetworkPartitions()) { // String id = networkPartition.getId(); // if (!networkPartitionLbHolders.containsKey(id)) { // NetworkPartitionLbHolder networkPartitionLbHolder = @@ -149,7 +149,7 @@ public class PartitionManager { // } // public void undeployNetworkPartitions(DeploymentPolicy depPolicy) { -// for (NetworkPartition networkPartition : depPolicy.getNetworkPartitions()) { +// for (NetworkPartition networkPartition : depPolicy.getApplicationLevelNetworkPartitions()) { // String id = networkPartition.getId(); // if (networkPartitionLbHolders.containsKey(id)) { // NetworkPartitionLbHolder netPartCtx = this.getNetworkPartitionLbHolder(id); http://git-wip-us.apache.org/repos/asf/stratos/blob/2ec7fed1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/ApplicationLevelNetworkPartition.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/ApplicationLevelNetworkPartition.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/ApplicationLevelNetworkPartition.java new file mode 100644 index 0000000..f243ee5 --- /dev/null +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/ApplicationLevelNetworkPartition.java @@ -0,0 +1,76 @@ +/* +* 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.partition.network; + +import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; + +import java.io.Serializable; +import java.util.Arrays; + +/** +* The model class for NetworkPartition definition. +*/ +public class ApplicationLevelNetworkPartition implements Serializable{ + + private static final long serialVersionUID = -8043298009352097370L; + private String id; + private boolean activeByDefault; + private Partition[] partitions; + + public void setPartitions(Partition[] partitions) { + if(partitions == null) { + this.partitions = partitions; + } else { + this.partitions = Arrays.copyOf(partitions, partitions.length); + } + } + + /** + * Gets the value of the partitions. + */ + public Partition[] getPartitions() { + if (partitions == null) { + partitions = new Partition[0]; + } + return this.partitions; + } + + /** + * Gets the value of the id. + */ + public String getId() { + return id; + } + + /** + * sets the value of the id. + */ + public void setId(String id) { + this.id = id; + } + + public boolean isActiveByDefault() { + return activeByDefault; + } + + public void setActiveByDefault(boolean activeByDefault) { + this.activeByDefault = activeByDefault; + } +} http://git-wip-us.apache.org/repos/asf/stratos/blob/2ec7fed1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/ChildLevelNetworkPartition.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/ChildLevelNetworkPartition.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/ChildLevelNetworkPartition.java new file mode 100644 index 0000000..cebea73 --- /dev/null +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/ChildLevelNetworkPartition.java @@ -0,0 +1,88 @@ +/* +* 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.partition.network; + +import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; + +import java.io.Serializable; +import java.util.Arrays; + +/** +* The model class for NetworkPartition definition. +*/ +public class ChildLevelNetworkPartition implements Serializable { + + private static final long serialVersionUID = -8043298009352097370L; + private String id; + private String partitionAlgo; + private Partition[] partitions; + + /** + * Gets the value of the partitionAlgo property. + * + * @return possible object is + * {@link String } + */ + public String getPartitionAlgo() { + return partitionAlgo; + } + + /** + * Sets the value of the partitionAlgo property. + * + * @param value allowed object is + * {@link String } + */ + public void setPartitionAlgo(String value) { + this.partitionAlgo = value; + } + + public void setPartitions(Partition[] partitions) { + if (partitions == null) { + this.partitions = partitions; + } else { + this.partitions = Arrays.copyOf(partitions, partitions.length); + } + } + + /** + * Gets the value of the partitions. + */ + public Partition[] getPartitions() { + if (partitions == null) { + partitions = new Partition[0]; + } + return this.partitions; + } + + /** + * Gets the value of the id. + */ + public String getId() { + return id; + } + + /** + * sets the value of the id. + */ + public void setId(String id) { + this.id = id; + } +} http://git-wip-us.apache.org/repos/asf/stratos/blob/2ec7fed1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/NetworkPartition.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/NetworkPartition.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/NetworkPartition.java index 7e9bc62..466253b 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/NetworkPartition.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/network/NetworkPartition.java @@ -27,21 +27,18 @@ import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; /** * The model class for NetworkPartition definition. */ -public class NetworkPartition implements Serializable{ +public class NetworkPartition implements Serializable { private static final long serialVersionUID = -8043298009352097370L; private String id; - private boolean activeByDefault; private String partitionAlgo; private Partition[] partitions; /** * Gets the value of the partitionAlgo property. * - * @return - * possible object is - * {@link String } - * + * @return possible object is + * {@link String } */ public String getPartitionAlgo() { return partitionAlgo; @@ -50,17 +47,15 @@ public class NetworkPartition implements Serializable{ /** * Sets the value of the partitionAlgo property. * - * @param value - * allowed object is - * {@link String } - * + * @param value allowed object is + * {@link String } */ public void setPartitionAlgo(String value) { this.partitionAlgo = value; } public void setPartitions(Partition[] partitions) { - if(partitions == null) { + if (partitions == null) { this.partitions = partitions; } else { this.partitions = Arrays.copyOf(partitions, partitions.length); @@ -90,12 +85,4 @@ public class NetworkPartition implements Serializable{ public void setId(String id) { this.id = id; } - - public boolean isActiveByDefault() { - return activeByDefault; - } - - public void setActiveByDefault(boolean activeByDefault) { - this.activeByDefault = activeByDefault; - } } http://git-wip-us.apache.org/repos/asf/stratos/blob/2ec7fed1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/DeploymentPolicy.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/DeploymentPolicy.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/DeploymentPolicy.java index 1f312e7..6130ab1 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/DeploymentPolicy.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/DeploymentPolicy.java @@ -19,7 +19,8 @@ package org.apache.stratos.autoscaler.policy.model; -import org.apache.stratos.autoscaler.partition.network.NetworkPartition; +import org.apache.stratos.autoscaler.partition.network.ApplicationLevelNetworkPartition; +import org.apache.stratos.autoscaler.partition.network.ChildLevelNetworkPartition; import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; import java.io.Serializable; @@ -35,7 +36,7 @@ public class DeploymentPolicy implements Serializable{ private String id; private String description; private boolean isPublic; - private NetworkPartition[] networkPartitions; + private ApplicationLevelNetworkPartition[] applicationLevelNetworkPartitions; private int tenantId; /** @@ -126,17 +127,17 @@ public class DeploymentPolicy implements Serializable{ this.tenantId = tenantId; } - public void setNetworkPartitions(NetworkPartition[] networkPartitions) { - if(networkPartitions == null) { - this.networkPartitions = new NetworkPartition[0]; + public void setApplicationLevelNetworkPartitions(ApplicationLevelNetworkPartition[] applicationLevelNetworkPartitions) { + if(applicationLevelNetworkPartitions == null) { + this.applicationLevelNetworkPartitions = new ApplicationLevelNetworkPartition[0]; } else { - this.networkPartitions = Arrays.copyOf(networkPartitions, networkPartitions.length); + this.applicationLevelNetworkPartitions = Arrays.copyOf(applicationLevelNetworkPartitions, applicationLevelNetworkPartitions.length); } } public Partition[] getAllPartitions() { ArrayList<Partition> partitionsList = new ArrayList<Partition>(); - for (NetworkPartition networkPartition : this.getNetworkPartitions()) { + for (ApplicationLevelNetworkPartition networkPartition : this.getApplicationLevelNetworkPartitions()) { Partition[] partitions = networkPartition.getPartitions(); if(partitions != null) { partitionsList.addAll(Arrays.asList(partitions)); @@ -156,13 +157,13 @@ public class DeploymentPolicy implements Serializable{ /** * Gets the value of the partition-groups. */ - public NetworkPartition[] getNetworkPartitions() { + public ApplicationLevelNetworkPartition[] getApplicationLevelNetworkPartitions() { - return this.networkPartitions; + return this.applicationLevelNetworkPartitions; } - public NetworkPartition getNetworkPartition(String partitionGrpId){ - for(NetworkPartition parGrp : this.getNetworkPartitions()){ + public ApplicationLevelNetworkPartition getApplicationLevelNetworkPartition(String partitionGrpId){ + for(ApplicationLevelNetworkPartition parGrp : this.getApplicationLevelNetworkPartitions()){ if(parGrp.getId().equals(partitionGrpId)) return parGrp; @@ -176,4 +177,13 @@ public class DeploymentPolicy implements Serializable{ +" [partitions] " + Arrays.toString(this.getAllPartitions()); } + public ChildLevelNetworkPartition getChildLevelNetworkPartition(String networkPartitionId) { + //TODO create a map of child level network partition context and return correct one + return null; + } + + public ChildLevelNetworkPartition[] getChildLevelNetworkPartitions() { + //TODO create a map of child level network partition context and return correct one + return new ChildLevelNetworkPartition[0]; + } }
