Repository: stratos Updated Branches: refs/heads/4.0.0-grouping b141bc3cc -> c6febda9a
calling createClusters in CC from AS Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/c6febda9 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/c6febda9 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/c6febda9 Branch: refs/heads/4.0.0-grouping Commit: c6febda9a835d3dccc86394ab62906946783abfc Parents: b141bc3 Author: reka <[email protected]> Authored: Mon Nov 3 13:10:33 2014 +0530 Committer: reka <[email protected]> Committed: Mon Nov 3 13:10:33 2014 +0530 ---------------------------------------------------------------------- .../applications/topic/ApplicationBuilder.java | 2 + .../cloud/controller/CloudControllerClient.java | 45 ++++++++++++++++++-- 2 files changed, 43 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/c6febda9/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java index 0426382..f9a38a1 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java @@ -23,6 +23,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.AutoscalerContext; import org.apache.stratos.autoscaler.applications.ApplicationHolder; import org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext; +import org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient; import org.apache.stratos.autoscaler.exception.DependencyBuilderException; import org.apache.stratos.autoscaler.exception.TopologyInConsistentException; import org.apache.stratos.autoscaler.grouping.topic.ClusterStatusEventPublisher; @@ -174,6 +175,7 @@ public class ApplicationBuilder { if (applications.getApplication(application.getUniqueIdentifier()) != null) { ApplicationHolder.persistApplication(application); //TODO cloud controller client and register clusters + CloudControllerClient.getInstance().createApplicationClusters(); // startApplicationMonitor(application.getUniqueIdentifier()); } else { log.warn("Application [ " + application.getUniqueIdentifier() + " ] already exists in Applications"); http://git-wip-us.apache.org/repos/asf/stratos/blob/c6febda9/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java ---------------------------------------------------------------------- diff --git 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 index b13465f..4ca2b9a 100644 --- 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 @@ -24,6 +24,7 @@ import org.apache.commons.configuration.XMLConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.Constants; +import org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext; import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy; import org.apache.stratos.autoscaler.exception.CartridgeInformationException; import org.apache.stratos.autoscaler.exception.PartitionValidationException; @@ -32,12 +33,13 @@ import org.apache.stratos.autoscaler.exception.TerminationException; import org.apache.stratos.autoscaler.util.ConfUtil; import org.apache.stratos.cloud.controller.stub.*; import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; -import org.apache.stratos.cloud.controller.stub.pojo.CartridgeInfo; -import org.apache.stratos.cloud.controller.stub.pojo.MemberContext; -import org.apache.stratos.cloud.controller.stub.pojo.Properties; -import org.apache.stratos.cloud.controller.stub.pojo.Property; +import org.apache.stratos.cloud.controller.stub.pojo.*; +import org.apache.stratos.messaging.event.topology.ApplicationClustersCreatedEvent; import java.rmi.RemoteException; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; /** @@ -202,6 +204,41 @@ public class CloudControllerClient { } } + public synchronized void createApplicationClusters( String appId, + Set<ApplicationClusterContext> appClusterContexts) { + List<ApplicationClusterContextDTO> contextDTOs = + new ArrayList<ApplicationClusterContextDTO>(); + for(ApplicationClusterContext context : appClusterContexts) { + ApplicationClusterContextDTO dto = new ApplicationClusterContextDTO(); + dto.setClusterId(context.getClusterId()); + dto.setAutoscalePolicyName(context.getAutoscalePolicyName()); + dto.setDeploymentPolicyName(context.getDeploymentPolicyName()); + dto.setCartridgeType(context.getCartridgeType()); + dto.setHostName(context.getHostName()); + dto.setTenantRange(context.getTenantRange()); + dto.setTextPayload(context.getTextPayload()); + dto.setLbCluster(context.isLbCluster()); + contextDTOs.add(dto); + } + + ApplicationClusterContextDTO[] applicationClusterContextDTOs = + new ApplicationClusterContextDTO[contextDTOs.size()]; + contextDTOs.toArray(applicationClusterContextDTOs); + try { + stub.createApplicationClusters(appId, applicationClusterContextDTOs); + } catch (RemoteException e) { + String msg = e.getMessage(); + log.error(msg, e); + //throw new TerminationException(msg, e); + } catch (CloudControllerServiceApplicationClusterRegistrationExceptionException e) { + //e.printStackTrace(); + String msg = e.getMessage(); + log.error(msg, e); + } + + + } + public synchronized void terminate(String memberId) throws TerminationException { try { if(log.isInfoEnabled()) {
