Repository: stratos Updated Branches: refs/heads/master e23e7fd4a -> 54c8c97d9
Removing partition deployment related stuff Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/54c8c97d Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/54c8c97d Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/54c8c97d Branch: refs/heads/master Commit: 54c8c97d9f19e4c48fa8d0014d50a09dc967ebfb Parents: e23e7fd Author: Lahiru Sandaruwan <[email protected]> Authored: Sat Nov 29 00:53:59 2014 +0530 Committer: Lahiru Sandaruwan <[email protected]> Committed: Sat Nov 29 00:53:59 2014 +0530 ---------------------------------------------------------------------- .../autoscaler/api/AutoScalerServiceImpl.java | 22 +- .../autoscaler/commands/PartitionsCommands.java | 106 +++--- .../interfaces/AutoScalerServiceInterface.java | 10 +- .../autoscaler/internal/ASBundleActivater.java | 4 +- .../internal/AutoscalerServerComponent.java | 4 +- .../autoscaler/partition/PartitionManager.java | 332 +++++++++---------- .../partition/network/NetworkPartition.java | 46 +-- .../autoscaler/policy/PolicyManager.java | 25 +- .../autoscaler/rule/RuleTasksDelegator.java | 2 +- 9 files changed, 254 insertions(+), 297 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/54c8c97d/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 42a848f..a8f4a2e 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 @@ -39,7 +39,7 @@ 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.partition.PartitionManager; import org.apache.stratos.autoscaler.pojo.Dependencies; import org.apache.stratos.autoscaler.pojo.ServiceGroup; import org.apache.stratos.autoscaler.policy.PolicyManager; @@ -68,7 +68,7 @@ import java.util.Map; public class AutoScalerServiceImpl implements AutoScalerServiceInterface { private static final Log log = LogFactory.getLog(AutoScalerServiceImpl.class); - PartitionManager partitionManager = PartitionManager.getInstance(); +// PartitionManager partitionManager = PartitionManager.getInstance(); KubernetesManager kubernetesManager = KubernetesManager.getInstance(); // // public Partition[] getAllAvailablePartitions() { @@ -104,10 +104,10 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { return validPolicies.toArray(new DeploymentPolicy[0]); } - @Override - public boolean addPartition(Partition partition) throws InvalidPartitionException { - return partitionManager.addNewPartition(partition); - } +// @Override +// public boolean addPartition(Partition partition) throws InvalidPartitionException { +// return partitionManager.addNewPartition(partition); +// } @Override public boolean addDeploymentPolicy(DeploymentPolicy deploymentPolicy) throws InvalidPolicyException { @@ -129,10 +129,10 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { return PolicyManager.getInstance().updateAutoscalePolicy(autoscalePolicy); } - @Override - public Partition getPartition(String partitionId) { - return partitionManager.getPartitionById(partitionId); - } +// @Override +// public Partition getPartition(String partitionId) { +// return partitionManager.getPartitionById(partitionId); +// } @Override public DeploymentPolicy getDeploymentPolicy(String deploymentPolicyId) { @@ -212,7 +212,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { return kubernetesManager.updateKubernetesHost(kubernetesHost); } - @Override +// @Override public Partition[] getPartitionsOfGroup(String deploymentPolicyId, String groupId) { DeploymentPolicy depPol = this.getDeploymentPolicy(deploymentPolicyId); if (null == depPol) { http://git-wip-us.apache.org/repos/asf/stratos/blob/54c8c97d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/commands/PartitionsCommands.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/commands/PartitionsCommands.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/commands/PartitionsCommands.java index 03716c7..4ee575a 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/commands/PartitionsCommands.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/commands/PartitionsCommands.java @@ -1,53 +1,53 @@ -/* - * 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.commands; - -import org.apache.commons.lang.StringUtils; -import org.apache.stratos.autoscaler.partition.PartitionManager; -import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; -import org.eclipse.osgi.framework.console.CommandInterpreter; -import org.eclipse.osgi.framework.console.CommandProvider; - -public class PartitionsCommands implements CommandProvider{ - - public String getHelp() { - return "\nlistPartitions - List partitions deployed to AutoScaler. \n" - + "\t parameters : \n" - + "\t\t String partitionID : ID of the partition.\n"; - } - - public void _listPartitions (CommandInterpreter ci){ - String partitionId = ci.nextArgument(); - - PartitionManager pm = PartitionManager.getInstance(); - - if(StringUtils.isBlank(partitionId)){ - Partition[] partitionArr = pm.getAllPartitions(); - for(Partition partition : partitionArr){ - ci.println(partition.toString()); - } - }else{ - Partition partition = pm.getPartitionById(partitionId); - if(partition != null){ - ci.println(partition); - } - } - } -} \ No newline at end of file +///* +// * 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.commands; +// +//import org.apache.commons.lang.StringUtils; +//import org.apache.stratos.autoscaler.partition.PartitionManager; +//import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; +//import org.eclipse.osgi.framework.console.CommandInterpreter; +//import org.eclipse.osgi.framework.console.CommandProvider; +// +//public class PartitionsCommands implements CommandProvider{ +// +// public String getHelp() { +// return "\nlistPartitions - List partitions deployed to AutoScaler. \n" +// + "\t parameters : \n" +// + "\t\t String partitionID : ID of the partition.\n"; +// } +// +// public void _listPartitions (CommandInterpreter ci){ +// String partitionId = ci.nextArgument(); +// +// PartitionManager pm = PartitionManager.getInstance(); +// +// if(StringUtils.isBlank(partitionId)){ +// Partition[] partitionArr = pm.getAllPartitions(); +// for(Partition partition : partitionArr){ +// ci.println(partition.toString()); +// } +// }else{ +// Partition partition = pm.getPartitionById(partitionId); +// if(partition != null){ +// ci.println(partition); +// } +// } +// } +//} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/54c8c97d/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 d3ba99b..4db8518 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,7 +41,7 @@ public interface AutoScalerServiceInterface { // public Partition[] getAllAvailablePartitions(); - public boolean addPartition(Partition partition) throws InvalidPartitionException; +// public boolean addPartition(Partition partition) throws InvalidPartitionException; public DeploymentPolicy[] getAllDeploymentPolicies(); @@ -57,7 +57,7 @@ public interface AutoScalerServiceInterface { public DeploymentPolicy[] getValidDeploymentPoliciesforCartridge(String cartridgeType); - public Partition getPartition(String partitionId); +// public Partition getPartition(String partitionId); public DeploymentPolicy getDeploymentPolicy(String deploymentPolicyId); @@ -65,9 +65,9 @@ public interface AutoScalerServiceInterface { public org.apache.stratos.autoscaler.partition.network.ApplicationLevelNetworkPartition[] getNetworkPartitions(String deploymentPolicyId); - public Partition[] getPartitionsOfGroup(String deploymentPolicyId, String partitionGroup); - - public Partition[] getPartitionsOfDeploymentPolicy(String deploymentPolicyId); +// public Partition[] getPartitionsOfGroup(String deploymentPolicyId, String partitionGroup); +// +// public Partition[] getPartitionsOfDeploymentPolicy(String deploymentPolicyId); /** * Retrieves registered Kubernetes Groups. http://git-wip-us.apache.org/repos/asf/stratos/blob/54c8c97d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/ASBundleActivater.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/ASBundleActivater.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/ASBundleActivater.java index 2eb6191..511012b 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/ASBundleActivater.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/ASBundleActivater.java @@ -22,7 +22,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.commands.ASPolicyCommands; import org.apache.stratos.autoscaler.commands.DeploymentPolicyCommands; -import org.apache.stratos.autoscaler.commands.PartitionsCommands; +//import org.apache.stratos.autoscaler.commands.PartitionsCommands; import org.eclipse.osgi.framework.console.CommandProvider; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; @@ -38,7 +38,7 @@ public class ASBundleActivater implements BundleActivator{ context.registerService(CommandProvider.class.getName(),new ASPolicyCommands(), null); context.registerService(CommandProvider.class.getName(),new DeploymentPolicyCommands(), null); - context.registerService(CommandProvider.class.getName(),new PartitionsCommands(), null); +// context.registerService(CommandProvider.class.getName(),new PartitionsCommands(), null); } http://git-wip-us.apache.org/repos/asf/stratos/blob/54c8c97d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServerComponent.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServerComponent.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServerComponent.java index 030d945..7623f32 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServerComponent.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServerComponent.java @@ -27,7 +27,7 @@ import org.apache.stratos.autoscaler.exception.AutoScalerException; import org.apache.stratos.autoscaler.kubernetes.KubernetesManager; import org.apache.stratos.autoscaler.event.receiver.health.AutoscalerHealthStatEventReceiver; import org.apache.stratos.autoscaler.event.receiver.topology.AutoscalerTopologyEventReceiver; -import org.apache.stratos.autoscaler.partition.PartitionManager; +//import org.apache.stratos.autoscaler.partition.PartitionManager; import org.apache.stratos.autoscaler.policy.PolicyManager; import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy; import org.apache.stratos.autoscaler.registry.RegistryManager; @@ -87,7 +87,7 @@ public class AutoscalerServerComponent { Iterator<Partition> partitionIterator = partitions.iterator(); while (partitionIterator.hasNext()) { Partition partition = partitionIterator.next(); - PartitionManager.getInstance().addPartitionToInformationModel(partition); +// PartitionManager.getInstance().addPartitionToInformationModel(partition); } // Adding the network partitions stored in registry to the information model http://git-wip-us.apache.org/repos/asf/stratos/blob/54c8c97d/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 f4ed76c..3f12e11 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 @@ -1,177 +1,177 @@ -/* - * 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; - -import org.apache.commons.lang.StringUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -//import org.apache.stratos.autoscaler.NetworkPartitionLbHolder; -import org.apache.stratos.autoscaler.client.CloudControllerClient; -import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; -import org.apache.stratos.autoscaler.exception.AutoScalerException; -import org.apache.stratos.autoscaler.exception.partition.InvalidPartitionException; -import org.apache.stratos.autoscaler.exception.partition.PartitionValidationException; -import org.apache.stratos.autoscaler.registry.RegistryManager; -import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * The model class for managing Partitions. - */ -public class PartitionManager { - - private static final Log log = LogFactory.getLog(PartitionManager.class); - - // Partitions against partitionID - private static Map<String, Partition> partitions = new HashMap<String, Partition>(); - - /* - * Key - network partition id - * Value - reference to NetworkPartition - */ -// private Map<String, NetworkPartitionLbHolder> networkPartitionLbHolders; - - private static class Holder { - static final PartitionManager INSTANCE = new PartitionManager(); - } - - public static PartitionManager getInstance() { - return Holder.INSTANCE; - } - - private PartitionManager() { -// networkPartitionLbHolders = new HashMap<String, NetworkPartitionLbHolder>(); - } - - - public boolean partitionExist(String partitionId) { - return partitions.containsKey(partitionId); - } - - /* - * Deploy a new partition to Auto Scaler. - */ - public boolean addNewPartition(Partition partition) throws InvalidPartitionException { - if (StringUtils.isEmpty(partition.getId())) { - throw new InvalidPartitionException("Partition id can not be empty"); - } - if (this.partitionExist(partition.getId())) { - throw new InvalidPartitionException(String.format("Partition already exist in partition manager: [id] %s", partition.getId())); - } - if (null == partition.getProvider()) { - throw new InvalidPartitionException("Mandatory field provider has not be set for partition " + partition.getId()); - } - try { - validatePartitionViaCloudController(partition); - RegistryManager.getInstance().persistPartition(partition); - addPartitionToInformationModel(partition); - if (log.isInfoEnabled()) { - log.info(String.format("Partition is deployed successfully: [id] %s", partition.getId())); - } - return true; - } catch (Exception e) { - throw new InvalidPartitionException(e.getMessage(), e); - } - } - - - public void addPartitionToInformationModel(Partition partition) { - partitions.put(partition.getId(), partition); - } - -// public NetworkPartitionLbHolder getNetworkPartitionLbHolder(String networkPartitionId) { -// return this.networkPartitionLbHolders.get(networkPartitionId); +///* +// * 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; +// +//import org.apache.commons.lang.StringUtils; +//import org.apache.commons.logging.Log; +//import org.apache.commons.logging.LogFactory; +////import org.apache.stratos.autoscaler.NetworkPartitionLbHolder; +//import org.apache.stratos.autoscaler.client.CloudControllerClient; +//import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; +//import org.apache.stratos.autoscaler.exception.AutoScalerException; +//import org.apache.stratos.autoscaler.exception.partition.InvalidPartitionException; +//import org.apache.stratos.autoscaler.exception.partition.PartitionValidationException; +//import org.apache.stratos.autoscaler.registry.RegistryManager; +//import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; +// +//import java.util.ArrayList; +//import java.util.HashMap; +//import java.util.List; +//import java.util.Map; +// +///** +// * The model class for managing Partitions. +// */ +//public class PartitionManager { +// +// private static final Log log = LogFactory.getLog(PartitionManager.class); +// +// // Partitions against partitionID +// private static Map<String, Partition> partitions = new HashMap<String, Partition>(); +// +// /* +// * Key - network partition id +// * Value - reference to NetworkPartition +// */ +//// private Map<String, NetworkPartitionLbHolder> networkPartitionLbHolders; +// +// private static class Holder { +// static final PartitionManager INSTANCE = new PartitionManager(); // } - - public Partition getPartitionById(String partitionId) { - if (partitionExist(partitionId)) - return partitions.get(partitionId); - else - return null; - } - - public Partition[] getAllPartitions() { - return partitions.values().toArray(new Partition[0]); - - } - - public boolean validatePartitionViaCloudController(Partition partition) throws PartitionValidationException { - if (log.isDebugEnabled()) { - log.debug(String.format("Validating partition via cloud controller: [id] %s", partition.getId())); - } - return CloudControllerClient.getInstance().validatePartition(partition); - } - -// public List<NetworkPartitionLbHolder> getNetworkPartitionLbHolders(DeploymentPolicy depPolicy) { -// List<NetworkPartitionLbHolder> lbHolders = new ArrayList<NetworkPartitionLbHolder>(); -// for (NetworkPartition networkPartition : depPolicy.getApplicationLevelNetworkPartitions()) { -// String id = networkPartition.getId(); -// NetworkPartitionLbHolder entry = networkPartitionLbHolders.get(id); -// if (entry != null) { -// lbHolders.add(entry); -// } -// } -// return lbHolders; +// +// public static PartitionManager getInstance() { +// return Holder.INSTANCE; +// } +// +// private PartitionManager() { +//// networkPartitionLbHolders = new HashMap<String, NetworkPartitionLbHolder>(); // } - -// public void deployNewNetworkPartitions(DeploymentPolicy depPolicy) { -// for (NetworkPartition networkPartition : depPolicy.getApplicationLevelNetworkPartitions()) { -// String id = networkPartition.getId(); -// if (!networkPartitionLbHolders.containsKey(id)) { -// NetworkPartitionLbHolder networkPartitionLbHolder = -// new NetworkPartitionLbHolder(id); -// addNetworkPartitionLbHolder(networkPartitionLbHolder); -// RegistryManager.getInstance().persistNetworkPartitionIbHolder(networkPartitionLbHolder); +// +// +// public boolean partitionExist(String partitionId) { +// return partitions.containsKey(partitionId); +// } +// +// /* +// * Deploy a new partition to Auto Scaler. +// */ +// public boolean addNewPartition(Partition partition) throws InvalidPartitionException { +// if (StringUtils.isEmpty(partition.getId())) { +// throw new InvalidPartitionException("Partition id can not be empty"); +// } +// if (this.partitionExist(partition.getId())) { +// throw new InvalidPartitionException(String.format("Partition already exist in partition manager: [id] %s", partition.getId())); +// } +// if (null == partition.getProvider()) { +// throw new InvalidPartitionException("Mandatory field provider has not be set for partition " + partition.getId()); +// } +// try { +// validatePartitionViaCloudController(partition); +// RegistryManager.getInstance().persistPartition(partition); +// addPartitionToInformationModel(partition); +// if (log.isInfoEnabled()) { +// log.info(String.format("Partition is deployed successfully: [id] %s", partition.getId())); // } - +// return true; +// } catch (Exception e) { +// throw new InvalidPartitionException(e.getMessage(), e); // } // } - -// public void undeployNetworkPartitions(DeploymentPolicy depPolicy) { -// for (NetworkPartition networkPartition : depPolicy.getApplicationLevelNetworkPartitions()) { -// String id = networkPartition.getId(); -// if (networkPartitionLbHolders.containsKey(id)) { -// NetworkPartitionLbHolder netPartCtx = this.getNetworkPartitionLbHolder(id); -// // remove from information model -// this.removeNetworkPartitionLbHolder(netPartCtx); -// //remove from the registry -// RegistryManager.getInstance().removeNetworkPartition(this.getNetworkPartitionLbHolder(id).getNetworkPartitionId()); -// } else { -// String errMsg = "Network partition context not found for policy " + depPolicy; -// log.error(errMsg); -// throw new AutoScalerException(errMsg); -// } // -// } +// +// public void addPartitionToInformationModel(Partition partition) { +// partitions.put(partition.getId(), partition); +// } +// +//// public NetworkPartitionLbHolder getNetworkPartitionLbHolder(String networkPartitionId) { +//// return this.networkPartitionLbHolders.get(networkPartitionId); +//// } +// +// public Partition getPartitionById(String partitionId) { +// if (partitionExist(partitionId)) +// return partitions.get(partitionId); +// else +// return null; // } // -// private void removeNetworkPartitionLbHolder(NetworkPartitionLbHolder nwPartLbHolder) { -// networkPartitionLbHolders.remove(nwPartLbHolder.getNetworkPartitionId()); +// public Partition[] getAllPartitions() { +// return partitions.values().toArray(new Partition[0]); +// // } // -// public void addNetworkPartitionLbHolder(NetworkPartitionLbHolder nwPartLbHolder) { -// networkPartitionLbHolders.put(nwPartLbHolder.getNetworkPartitionId(), nwPartLbHolder); +// public boolean validatePartitionViaCloudController(Partition partition) throws PartitionValidationException { +// if (log.isDebugEnabled()) { +// log.debug(String.format("Validating partition via cloud controller: [id] %s", partition.getId())); +// } +// return CloudControllerClient.getInstance().validatePartition(partition); // } - -} +// +//// public List<NetworkPartitionLbHolder> getNetworkPartitionLbHolders(DeploymentPolicy depPolicy) { +//// List<NetworkPartitionLbHolder> lbHolders = new ArrayList<NetworkPartitionLbHolder>(); +//// for (NetworkPartition networkPartition : depPolicy.getApplicationLevelNetworkPartitions()) { +//// String id = networkPartition.getId(); +//// NetworkPartitionLbHolder entry = networkPartitionLbHolders.get(id); +//// if (entry != null) { +//// lbHolders.add(entry); +//// } +//// } +//// return lbHolders; +//// } +// +//// public void deployNewNetworkPartitions(DeploymentPolicy depPolicy) { +//// for (NetworkPartition networkPartition : depPolicy.getApplicationLevelNetworkPartitions()) { +//// String id = networkPartition.getId(); +//// if (!networkPartitionLbHolders.containsKey(id)) { +//// NetworkPartitionLbHolder networkPartitionLbHolder = +//// new NetworkPartitionLbHolder(id); +//// addNetworkPartitionLbHolder(networkPartitionLbHolder); +//// RegistryManager.getInstance().persistNetworkPartitionIbHolder(networkPartitionLbHolder); +//// } +// +//// } +//// } +// +//// public void undeployNetworkPartitions(DeploymentPolicy depPolicy) { +//// for (NetworkPartition networkPartition : depPolicy.getApplicationLevelNetworkPartitions()) { +//// String id = networkPartition.getId(); +//// if (networkPartitionLbHolders.containsKey(id)) { +//// NetworkPartitionLbHolder netPartCtx = this.getNetworkPartitionLbHolder(id); +//// // remove from information model +//// this.removeNetworkPartitionLbHolder(netPartCtx); +//// //remove from the registry +//// RegistryManager.getInstance().removeNetworkPartition(this.getNetworkPartitionLbHolder(id).getNetworkPartitionId()); +//// } else { +//// String errMsg = "Network partition context not found for policy " + depPolicy; +//// log.error(errMsg); +//// throw new AutoScalerException(errMsg); +//// } +//// +//// } +//// } +//// +//// private void removeNetworkPartitionLbHolder(NetworkPartitionLbHolder nwPartLbHolder) { +//// networkPartitionLbHolders.remove(nwPartLbHolder.getNetworkPartitionId()); +//// } +//// +//// public void addNetworkPartitionLbHolder(NetworkPartitionLbHolder nwPartLbHolder) { +//// networkPartitionLbHolders.put(nwPartLbHolder.getNetworkPartitionId(), nwPartLbHolder); +//// } +// +//} http://git-wip-us.apache.org/repos/asf/stratos/blob/54c8c97d/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 466253b..07d4a9c 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 @@ -20,57 +20,13 @@ package org.apache.stratos.autoscaler.partition.network; import java.io.Serializable; -import java.util.Arrays; - -import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; - /** * The model class for NetworkPartition definition. */ -public class NetworkPartition implements Serializable { +public abstract class NetworkPartition 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. http://git-wip-us.apache.org/repos/asf/stratos/blob/54c8c97d/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 4795617..f0a546e 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 @@ -29,7 +29,7 @@ import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.AutoScalerException; import org.apache.stratos.autoscaler.exception.partition.InvalidPartitionException; import org.apache.stratos.autoscaler.exception.policy.InvalidPolicyException; -import org.apache.stratos.autoscaler.partition.PartitionManager; +//import org.apache.stratos.autoscaler.partition.PartitionManager; import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy; import org.apache.stratos.autoscaler.registry.RegistryManager; import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; @@ -134,17 +134,18 @@ public class PolicyManager { } private void fillPartitions(DeploymentPolicy deploymentPolicy) throws InvalidPartitionException { - PartitionManager partitionMgr = PartitionManager.getInstance(); - for (Partition partition : deploymentPolicy.getAllPartitions()) { - String partitionId = partition.getId(); - if ((partitionId == null) || (!partitionMgr.partitionExist(partitionId))) { - String msg = "Could not find partition: [id] " + partitionId + ". " + - "Please deploy the partitions before deploying the deployment policies."; - throw new InvalidPartitionException(msg); - } - - fillPartition(partition, PartitionManager.getInstance().getPartitionById(partitionId)); - } + //TODO fill partition by extracting the partitions from policy +// PartitionManager partitionMgr = PartitionManager.getInstance(); +// for (Partition partition : deploymentPolicy.getAllPartitions()) { +// String partitionId = partition.getId(); +// if ((partitionId == null) || (!partitionMgr.partitionExist(partitionId))) { +// String msg = "Could not find partition: [id] " + partitionId + ". " + +// "Please deploy the partitions before deploying the deployment policies."; +// throw new InvalidPartitionException(msg); +// } +// +// fillPartition(partition, PartitionManager.getInstance().getPartitionById(partitionId)); +// } } private static void fillPartition(Partition destPartition, Partition srcPartition) { http://git-wip-us.apache.org/repos/asf/stratos/blob/54c8c97d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java index e85c148..15ca0e1 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java @@ -36,7 +36,7 @@ import org.apache.stratos.autoscaler.exception.cartridge.TerminationException; import org.apache.stratos.autoscaler.monitor.cluster.AbstractClusterMonitor; import org.apache.stratos.autoscaler.monitor.cluster.VMClusterMonitor; import org.apache.stratos.autoscaler.monitor.cluster.VMServiceClusterMonitor; -import org.apache.stratos.autoscaler.partition.PartitionManager; +//import org.apache.stratos.autoscaler.partition.PartitionManager; import org.apache.stratos.cloud.controller.stub.pojo.MemberContext; import org.apache.stratos.common.constants.StratosConstants; import org.apache.stratos.messaging.domain.topology.Cluster;
