Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/560b1c5f Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/560b1c5f Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/560b1c5f Branch: refs/heads/master Commit: 560b1c5fc84f55e484d2d60e1a2ba81015269224 Parents: 1d6f1d2 faca016 Author: Udara Liyanage <[email protected]> Authored: Sat Nov 30 14:43:50 2013 -0500 Committer: Udara Liyanage <[email protected]> Committed: Sat Nov 30 14:43:50 2013 -0500 ---------------------------------------------------------------------- .../stratos/autoscaler/ClusterContext.java | 10 +- .../stratos/autoscaler/ClusterMonitor.java | 10 +- .../stratos/autoscaler/MemberContext.java | 58 ------ .../stratos/autoscaler/MemberStatsContext.java | 58 ++++++ .../stratos/autoscaler/PartitionContext.java | 131 ++++++++++++- .../autoscaler/algorithm/OneAfterAnother.java | 4 +- .../autoscaler/algorithm/RoundRobin.java | 4 +- .../cloud/controller/CloudControllerClient.java | 10 +- .../rule/AutoscalerRuleEvaluator.java | 27 +-- .../stratos/autoscaler/TestKnowledgeBase.java | 4 + .../resources/test-minimum-autoscaler-rule.drl | 21 ++- .../deployment/partition/Partition.java | 4 +- .../impl/CloudControllerServiceImpl.java | 186 ++++--------------- .../interfaces/CloudControllerService.java | 3 +- .../cloud/controller/pojo/MemberContext.java | 66 +++++-- .../controller/topology/TopologyManager.java | 60 +++--- .../main/resources/CloudControllerService.wsdl | 41 ++-- 17 files changed, 372 insertions(+), 325 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/560b1c5f/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java ---------------------------------------------------------------------- diff --cc components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java index 386ac94,8564143..2b2e861 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java @@@ -102,25 -102,14 +103,29 @@@ public class CloudControllerClient throw new PolicyValidationException(e); } } + + /* + * Calls the CC to validate the partition. + */ + public boolean validatePartition(Partition partition) throws PartitionValidationException{ + + try { + return stub.validatePartition(partition); + } catch (RemoteException e) { + log.error(e.getMessage()); + throw new PartitionValidationException(e); + } catch (CloudControllerServiceInvalidPartitionExceptionException e) { + throw new PartitionValidationException(e); + } + } - public void spawnAnInstance(Partition partition, String clusterId) throws SpawningException { + public org.apache.stratos.cloud.controller.pojo.MemberContext spawnAnInstance(Partition partition, String clusterId) throws SpawningException { try { - stub.startInstance(clusterId, partition); + org.apache.stratos.cloud.controller.pojo.MemberContext member = new org.apache.stratos.cloud.controller.pojo.MemberContext(); + member.setClusterId(clusterId); + member.setPartition(partition); + member.setInitTime(System.currentTimeMillis()); + return stub.startInstance(member); } catch (CloudControllerServiceIllegalArgumentExceptionException e) { log.error(e.getMessage()); throw new SpawningException(e);
