You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2014/12/03 07:30:59 UTC
[2/3] stratos git commit: Implementing
https://issues.apache.org/jira/browse/STRATOS-1020
Implementing https://issues.apache.org/jira/browse/STRATOS-1020
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/82e80be8
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/82e80be8
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/82e80be8
Branch: refs/heads/master
Commit: 82e80be8f570c0de38bbbbcb3ac51bccebcf05e4
Parents: ec53b9f
Author: Nirmal Fernando <ni...@gmail.com>
Authored: Wed Dec 3 11:58:01 2014 +0530
Committer: Nirmal Fernando <ni...@gmail.com>
Committed: Wed Dec 3 11:58:20 2014 +0530
----------------------------------------------------------------------
.../autoscaler/api/AutoScalerServiceImpl.java | 6 +-
.../interfaces/AutoScalerServiceInterface.java | 2 +-
.../autoscaler/pojo/policy/PolicyManager.java | 33 +-
.../manager/client/AutoscalerServiceClient.java | 2 +-
.../rest/endpoint/api/StratosApiV40Utils.java | 11 +-
.../rest/endpoint/api/StratosApiV41.java | 4 +-
.../rest/endpoint/api/StratosApiV41Utils.java | 55 +-
.../policy/deployment/DeploymentPolicy.java | 2 -
.../bean/util/converter/PojoConverter.java | 2 -
.../stratos/rest/endpoint/mock/MockContext.java | 2 +-
.../src/main/resources/AutoScalerService.wsdl | 1669 +++++++++---------
11 files changed, 855 insertions(+), 933 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/82e80be8/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 91745d8..a84a412 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
@@ -111,8 +111,8 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface {
// }
@Override
- public boolean addDeploymentPolicy(DeploymentPolicy deploymentPolicy) throws InvalidPolicyException {
- boolean hasDeployed = PolicyManager.getInstance().deployDeploymentPolicy(deploymentPolicy);
+ public String addDeploymentPolicy(DeploymentPolicy deploymentPolicy) throws InvalidPolicyException {
+ String policyId = PolicyManager.getInstance().deployDeploymentPolicy(deploymentPolicy);
//Need to start the application Monitor after validation of the deployment policies.
//Check whether all the clusters are there
@@ -139,7 +139,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface {
"Waiting for them to be created");
}
- return hasDeployed;
+ return policyId;
}
@Override
http://git-wip-us.apache.org/repos/asf/stratos/blob/82e80be8/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 69531b2..a531071 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
@@ -42,7 +42,7 @@ public interface AutoScalerServiceInterface {
public DeploymentPolicy[] getAllDeploymentPolicies();
- public boolean addDeploymentPolicy(DeploymentPolicy depPolicy) throws InvalidPolicyException;
+ public String addDeploymentPolicy(DeploymentPolicy depPolicy) throws InvalidPolicyException;
public boolean updateDeploymentPolicy(DeploymentPolicy depPolicy) throws InvalidPolicyException;
http://git-wip-us.apache.org/repos/asf/stratos/blob/82e80be8/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 ca9a4a7..ac05b55 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
@@ -21,6 +21,8 @@ package org.apache.stratos.autoscaler.pojo.policy;
import java.util.HashMap;
import java.util.Map;
+import java.util.Random;
+import java.util.UUID;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
@@ -87,27 +89,14 @@ public class PolicyManager {
}
// Add the deployment policy to information model and persist.
- public boolean deployDeploymentPolicy(DeploymentPolicy policy) throws InvalidPolicyException {
- if(StringUtils.isEmpty(policy.getId())){
- throw new AutoScalerException("Deploying policy id cannot be empty");
- }
- try {
- if(log.isInfoEnabled()) {
- log.info(String.format("Deploying deployment policy: [id] %s", policy.getId()));
- }
- fillPartitions(policy);
- } catch (InvalidPartitionException e) {
- log.error(e);
- throw new InvalidPolicyException(String.format("Deployment policy is invalid: [id] %s", policy.getId()), e);
- }
-
- addDeploymentPolicyToInformationModel(policy);
+ public String deployDeploymentPolicy(DeploymentPolicy policy) throws InvalidPolicyException {
+ String policyId = addDeploymentPolicyToInformationModel(policy);
RegistryManager.getInstance().persistDeploymentPolicy(policy);
if (log.isInfoEnabled()) {
- log.info(String.format("Deployment policy is deployed successfully: [id] %s", policy.getId()));
+ log.info(String.format("Deployment policy is deployed successfully: [id] %s", policyId));
}
- return true;
+ return policyId;
}
public boolean updateDeploymentPolicy(DeploymentPolicy policy) throws InvalidPolicyException {
@@ -223,18 +212,24 @@ public class PolicyManager {
}
// Add the deployment policy to As in memmory information model. Does not persist.
- public void addDeploymentPolicyToInformationModel(DeploymentPolicy policy) throws InvalidPolicyException {
+ public String addDeploymentPolicyToInformationModel(DeploymentPolicy policy) throws InvalidPolicyException {
+ if (StringUtils.isEmpty(policy.getId())) {
+ // id = application id + random string
+ String id = policy.getApplicationId() + UUID.randomUUID().getLeastSignificantBits();
+ policy.setId(id);
+ }
if (!deploymentPolicyListMap.containsKey(policy.getId())) {
if (log.isDebugEnabled()) {
log.debug("Adding deployment policy: " + policy.getId());
}
-// PartitionManager.getInstance().deployNewNetworkPartitions(policy);
deploymentPolicyListMap.put(policy.getId(), policy);
} else {
String errMsg = "Specified deployment policy [" + policy.getId()+ "] already exists";
log.error(errMsg);
throw new InvalidPolicyException(errMsg);
}
+
+ return policy.getId();
}
public void updateDeploymentPolicyToInformationModel(DeploymentPolicy policy) throws InvalidPolicyException {
http://git-wip-us.apache.org/repos/asf/stratos/blob/82e80be8/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/AutoscalerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/AutoscalerServiceClient.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/AutoscalerServiceClient.java
index 15fc690..c41b5fc 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/AutoscalerServiceClient.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/AutoscalerServiceClient.java
@@ -192,7 +192,7 @@ public class AutoscalerServiceClient {
return deploymentPolicy;
}
- public boolean deployDeploymentPolicy(DeploymentPolicy deploymentPolicy) throws RemoteException,
+ public String deployDeploymentPolicy(DeploymentPolicy deploymentPolicy) throws RemoteException,
AutoScalerServiceInvalidPolicyExceptionException {
return stub.addDeploymentPolicy(deploymentPolicy);
http://git-wip-us.apache.org/repos/asf/stratos/blob/82e80be8/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
index 496e170..fb28910 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV40Utils.java
@@ -230,17 +230,15 @@ public class StratosApiV40Utils {
org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy deploymentPolicyBean)
throws RestAPIException {
- //log.info("***** " + cartridgeDefinitionBean.toString() + " *****");
+ String policyId = null;
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
if (autoscalerServiceClient != null) {
- DeploymentPolicy deploymentPolicy =
- PojoConverter.convetToASDeploymentPolicyPojo(deploymentPolicyBean);
+ DeploymentPolicy deploymentPolicy = PojoConverter.convetToASDeploymentPolicyPojo(deploymentPolicyBean);
try {
- autoscalerServiceClient
- .deployDeploymentPolicy(deploymentPolicy);
+ policyId = autoscalerServiceClient.deployDeploymentPolicy(deploymentPolicy);
} catch (RemoteException e) {
log.error(e.getMessage(), e);
throw new RestAPIException(e.getMessage(), e);
@@ -253,8 +251,7 @@ public class StratosApiV40Utils {
}
StratosApiResponse stratosApiResponse = new StratosApiResponse();
- stratosApiResponse.setMessage("Successfully deployed deployment policy definition with type "
- + deploymentPolicyBean.id);
+ stratosApiResponse.setMessage("Successfully deployed deployment policy definition with type " + policyId);
return stratosApiResponse;
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/82e80be8/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
index f50869f..036900a 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
@@ -320,8 +320,8 @@ public class StratosApiV41 extends AbstractApi {
public Response deployDeploymentPolicyDefinition(DeploymentPolicy deploymentPolicy)
throws RestAPIException {
- StratosApiV41Utils.deployDeploymentPolicy(deploymentPolicy);
- URI url = uriInfo.getAbsolutePathBuilder().path(deploymentPolicy.id).build();
+ String policyId = StratosApiV41Utils.deployDeploymentPolicy(deploymentPolicy);
+ URI url = uriInfo.getAbsolutePathBuilder().path(policyId).build();
return Response.created(url).build();
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/82e80be8/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 401d701..67f7830 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -394,11 +394,16 @@ public class StratosApiV41Utils {
}
}
- public static void deployDeploymentPolicy(
+ public static String deployDeploymentPolicy(
org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy deploymentPolicyBean)
throws RestAPIException {
- log.info(String.format("Deploying deployment policy: [id] %s", deploymentPolicyBean.id));
+ String policyId = null;
+
+ if (log.isDebugEnabled()) {
+ log.debug("Starting to deploy a deployment policy of application: "
+ + deploymentPolicyBean.applicationPolicy.applicationId);
+ }
AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
if (autoscalerServiceClient != null) {
@@ -407,7 +412,7 @@ public class StratosApiV41Utils {
PojoConverter.convetToASDeploymentPolicyPojo(deploymentPolicyBean);
try {
- autoscalerServiceClient.deployDeploymentPolicy(deploymentPolicy);
+ policyId = autoscalerServiceClient.deployDeploymentPolicy(deploymentPolicy);
} catch (RemoteException e) {
log.error(e.getMessage(), e);
throw new RestAPIException(e.getMessage(), e);
@@ -417,33 +422,37 @@ public class StratosApiV41Utils {
throw new RestAPIException(message, e);
}
+ log.info(String.format("Deployed deployment policy: [id] %s", policyId));
}
+
+ return policyId;
}
public static void updateDeploymentPolicy(
org.apache.stratos.rest.endpoint.bean.autoscaler.policy.deployment.DeploymentPolicy deploymentPolicyBean)
throws RestAPIException {
- log.info(String.format("Updating deployment policy: [id] %s", deploymentPolicyBean.id));
-
- AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
- if (autoscalerServiceClient != null) {
-
- org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy deploymentPolicy =
- PojoConverter.convetToASDeploymentPolicyPojo(deploymentPolicyBean);
-
-
- try {
- autoscalerServiceClient.updateDeploymentPolicy(deploymentPolicy);
- } catch (RemoteException e) {
- log.error(e.getMessage(), e);
- throw new RestAPIException(e.getMessage(), e);
- } catch (AutoScalerServiceInvalidPolicyExceptionException e) {
- String message = e.getFaultMessage().getInvalidPolicyException().getMessage();
- log.error(message, e);
- throw new RestAPIException(message, e);
- }
- }
+ //FIXME we do not have any use-case now?? - Nirmal
+// log.info(String.format("Updating deployment policy: [id] %s", deploymentPolicyBean.id));
+//
+// AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
+// if (autoscalerServiceClient != null) {
+//
+// org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy deploymentPolicy =
+// PojoConverter.convetToASDeploymentPolicyPojo(deploymentPolicyBean);
+//
+//
+// try {
+// autoscalerServiceClient.updateDeploymentPolicy(deploymentPolicy);
+// } catch (RemoteException e) {
+// log.error(e.getMessage(), e);
+// throw new RestAPIException(e.getMessage(), e);
+// } catch (AutoScalerServiceInvalidPolicyExceptionException e) {
+// String message = e.getFaultMessage().getInvalidPolicyException().getMessage();
+// log.error(message, e);
+// throw new RestAPIException(message, e);
+// }
+// }
}
private static CloudControllerServiceClient getCloudControllerServiceClient() throws RestAPIException {
http://git-wip-us.apache.org/repos/asf/stratos/blob/82e80be8/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/DeploymentPolicy.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/DeploymentPolicy.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/DeploymentPolicy.java
index c16671d..9b5c70f 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/DeploymentPolicy.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/deployment/DeploymentPolicy.java
@@ -29,8 +29,6 @@ import java.util.List;
@XmlRootElement
public class DeploymentPolicy {
- public String id;
-
public String description;
public boolean isPublic;
http://git-wip-us.apache.org/repos/asf/stratos/blob/82e80be8/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
index 29be626..75dea28 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
@@ -378,7 +378,6 @@ public class PojoConverter {
org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy deploymentPolicy =
new org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy();
- deploymentPolicy.setId(deploymentPolicyBean.id);
deploymentPolicy.setDescription(deploymentPolicyBean.description);
deploymentPolicy.setIsPublic(deploymentPolicyBean.isPublic);
if (deploymentPolicyBean.applicationPolicy != null
@@ -724,7 +723,6 @@ public class PojoConverter {
return deploymentPolicyBean;
}
- deploymentPolicyBean.id = deploymentPolicy.getId();
deploymentPolicyBean.description = deploymentPolicy.getDescription();
deploymentPolicyBean.isPublic = deploymentPolicy.getIsPublic();
//TODO populate the Network partition based on new policy structure
http://git-wip-us.apache.org/repos/asf/stratos/blob/82e80be8/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
index 19c4d14..7270371 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
@@ -570,7 +570,7 @@ public class MockContext {
}
}
- policies.put(deploymentPolicy.id,deploymentPolicy);
+ policies.put(deploymentPolicy.applicationPolicy.applicationId+UUID.randomUUID().getLeastSignificantBits(),deploymentPolicy);
StratosApiResponse stratosApiResponse = new StratosApiResponse();
stratosApiResponse.setMessage("Successfully deployed deployment policy definition");
return stratosApiResponse;