You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ch...@apache.org on 2015/04/17 21:19:26 UTC

[3/3] stratos git commit: Return 409 Conflict status if application, autoscaling policy and kubernetes cluster already exists or application already deployed

Return 409 Conflict status if application,  autoscaling policy and kubernetes cluster already exists or application already deployed


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/db77fe03
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/db77fe03
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/db77fe03

Branch: refs/heads/master
Commit: db77fe036ad8c261c914396722edc8f09768d864
Parents: 477c366
Author: Chamila de Alwis <ch...@apache.org>
Authored: Sat Apr 18 00:48:21 2015 +0530
Committer: Chamila de Alwis <ch...@apache.org>
Committed: Sat Apr 18 00:48:21 2015 +0530

----------------------------------------------------------------------
 .../common/client/AutoscalerServiceClient.java  |  2 +-
 .../rest/endpoint/api/StratosApiV40Utils.java   |  2 +-
 .../rest/endpoint/api/StratosApiV41.java        | 70 ++++++++++++++------
 .../rest/endpoint/api/StratosApiV41Utils.java   |  2 +-
 4 files changed, 54 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/db77fe03/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
index 3949bec..2b7d0cb 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
@@ -146,7 +146,7 @@ public class AutoscalerServiceClient {
         stub.deleteApplication(applicationId);
     }
 
-    public boolean deployAutoscalingPolicy(AutoscalePolicy autoScalePolicy) throws RemoteException,
+    public boolean addAutoscalingPolicy(AutoscalePolicy autoScalePolicy) throws RemoteException,
             AutoscalerServiceInvalidPolicyExceptionException {
         return stub.addAutoScalingPolicy(autoScalePolicy);
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/db77fe03/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 6c83add..2cdea8c 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
@@ -160,7 +160,7 @@ public class StratosApiV40Utils {
 
             try {
                 autoscalerServiceClient
-                        .deployAutoscalingPolicy(autoscalePolicy);
+                        .addAutoscalingPolicy(autoscalePolicy);
             } catch (RemoteException e) {
                 log.error(e.getMessage(), e);
                 throw new RestAPIException(e.getMessage(), e);

http://git-wip-us.apache.org/repos/asf/stratos/blob/db77fe03/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 371c709..4df702f 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
@@ -627,12 +627,20 @@ public class StratosApiV41 extends AbstractApi {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/addApplication")
     public Response addApplication(ApplicationBean applicationDefinition) throws RestAPIException {
-        StratosApiV41Utils.addApplication(applicationDefinition, getConfigContext(), getUsername(), getTenantDomain());
+        try {
+            StratosApiV41Utils.addApplication(applicationDefinition, getConfigContext(), getUsername(), getTenantDomain());
 
-        URI url = uriInfo.getAbsolutePathBuilder().path(applicationDefinition.getApplicationId()).build();
-        return Response.created(url).entity(new SuccessResponseBean(Response.Status.CREATED.getStatusCode(),
-                String.format("Application added successfully: [application] %s",
-                        applicationDefinition.getApplicationId()))).build();
+            URI url = uriInfo.getAbsolutePathBuilder().path(applicationDefinition.getApplicationId()).build();
+            return Response.created(url).entity(new SuccessResponseBean(Response.Status.CREATED.getStatusCode(),
+                    String.format("Application added successfully: [application] %s",
+                            applicationDefinition.getApplicationId()))).build();
+        } catch (RestAPIException e) {
+            if (e.getMessage().contains("already exists")) {
+                return Response.status(Response.Status.CONFLICT).build();
+            } else {
+                throw e;
+            }
+        }
     }
 
     /**
@@ -694,9 +702,17 @@ public class StratosApiV41 extends AbstractApi {
     public Response deployApplication(
             @PathParam("applicationId") String applicationId,
             @PathParam("applicationPolicyId") String applicationPolicyId) throws RestAPIException {
-        StratosApiV41Utils.deployApplication(applicationId, applicationPolicyId);
-        return Response.accepted().entity(new SuccessResponseBean(Response.Status.ACCEPTED.getStatusCode(),
-                String.format("Application deployed successfully: [application] %s", applicationId))).build();
+        try {
+            StratosApiV41Utils.deployApplication(applicationId, applicationPolicyId);
+            return Response.accepted().entity(new SuccessResponseBean(Response.Status.ACCEPTED.getStatusCode(),
+                    String.format("Application deployed successfully: [application] %s", applicationId))).build();
+        } catch (RestAPIException e) {
+            if (e.getMessage().contains("already in DEPLOYED")) {
+                return Response.status(Response.Status.CONFLICT).build();
+            } else {
+                throw e;
+            }
+        }
     }
 
     /**
@@ -1124,11 +1140,19 @@ public class StratosApiV41 extends AbstractApi {
     public Response addAutoscalingPolicy(
             AutoscalePolicyBean autoscalePolicy) throws RestAPIException {
 
-        StratosApiV41Utils.addAutoscalingPolicy(autoscalePolicy);
-        URI url = uriInfo.getAbsolutePathBuilder().path(autoscalePolicy.getId()).build();
-        return Response.created(url).entity(new SuccessResponseBean(Response.Status.CREATED.getStatusCode(),
-                String.format("Autoscaling policy added successfully: [autoscale-policy] %s",
-                        autoscalePolicy.getId()))).build();
+        try {
+            StratosApiV41Utils.addAutoscalingPolicy(autoscalePolicy);
+            URI url = uriInfo.getAbsolutePathBuilder().path(autoscalePolicy.getId()).build();
+            return Response.created(url).entity(new SuccessResponseBean(Response.Status.CREATED.getStatusCode(),
+                    String.format("Autoscaling policy added successfully: [autoscale-policy] %s",
+                            autoscalePolicy.getId()))).build();
+        } catch (RestAPIException e) {
+            if (e.getMessage().contains("already exists")) {
+                return Response.status(Response.Status.CONFLICT).build();
+            } else {
+                throw e;
+            }
+        }
     }
 
     /**
@@ -1779,7 +1803,7 @@ public class StratosApiV41 extends AbstractApi {
     public Response notifyRepository(
             GitNotificationPayloadBean payload) throws RestAPIException {
         if (log.isInfoEnabled()) {
-            log.info(String.format("Git update"));
+            log.info(String.format("Git update notification received."));
         }
 
         StratosApiV41Utils.notifyArtifactUpdatedEvent(payload);
@@ -1942,11 +1966,19 @@ public class StratosApiV41 extends AbstractApi {
     public Response addKubernetesHostCluster(
             KubernetesClusterBean kubernetesCluster) throws RestAPIException {
 
-        StratosApiV41Utils.addKubernetesCluster(kubernetesCluster);
-        URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesCluster.getClusterId()).build();
-        return Response.created(url).entity(new SuccessResponseBean(Response.Status.CREATED.getStatusCode(),
-                String.format("Kubernetes Host Cluster added successfully: [kub-host-cluster] %s",
-                        kubernetesCluster.getClusterId()))).build();
+        try {
+            StratosApiV41Utils.addKubernetesCluster(kubernetesCluster);
+            URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesCluster.getClusterId()).build();
+            return Response.created(url).entity(new SuccessResponseBean(Response.Status.CREATED.getStatusCode(),
+                    String.format("Kubernetes Host Cluster added successfully: [kub-host-cluster] %s",
+                            kubernetesCluster.getClusterId()))).build();
+        } catch (RestAPIException e) {
+            if (e.getMessage().contains("already exists")) {
+                return Response.status(Response.Status.CONFLICT).build();
+            } else {
+                throw e;
+            }
+        }
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/stratos/blob/db77fe03/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 63f7300..03bb67d 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
@@ -541,7 +541,7 @@ public class StratosApiV41Utils {
 
             try {
                 autoscalerServiceClient
-                        .deployAutoscalingPolicy(autoscalePolicy);
+                        .addAutoscalingPolicy(autoscalePolicy);
             } catch (RemoteException e) {
                 log.error(e.getMessage(), e);
                 throw new RestAPIException(e.getMessage(), e);