Unifying behavior of Pod/ReplicationController/Service APIs

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

Branch: refs/heads/master
Commit: af39a71b13b2c69d8ed8b59837de413fa8c1bf87
Parents: 15c73fd
Author: Nirmal Fernando <[email protected]>
Authored: Mon Nov 3 14:21:12 2014 +0100
Committer: Nirmal Fernando <[email protected]>
Committed: Mon Nov 3 14:21:12 2014 +0100

----------------------------------------------------------------------
 .../kubernetes/client/KubernetesApiClient.java  | 26 +++++++++++---------
 .../client/rest/KubernetesResponseHandler.java  |  7 ++++++
 2 files changed, 22 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/af39a71b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
 
b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
index 39f8c02..2859adf 100644
--- 
a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
+++ 
b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
@@ -215,9 +215,9 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
             
             GsonBuilder gsonBuilder = new GsonBuilder();
                        Gson gson = gsonBuilder.create();
-                       ReplicationControllerList podList = 
gson.fromJson(content, ReplicationControllerList.class);
+                       ReplicationControllerList controllerList = 
gson.fromJson(content, ReplicationControllerList.class);
                        
-                       return podList.getItems();
+                       return controllerList.getItems();
                } catch (Exception e) {
                        String msg = "Error while retrieving Replication 
Controllers.";
                        log.error(msg, e);
@@ -242,6 +242,11 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                        KubernetesResponse res = restClient.doPost(uri, 
content);
                        
                        handleNullResponse("Replication Controller 
"+controller+" creation failed.", res);
+                       
+                       if (res.getStatusCode() == HttpStatus.SC_CONFLICT) {
+                log.warn("Replication Controller already created. 
"+controller);
+                return;
+            }
             
                        if (res.getStatusCode() != HttpStatus.SC_ACCEPTED && 
                                        res.getStatusCode() != 
HttpStatus.SC_OK) {
@@ -359,7 +364,9 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
             GsonBuilder gsonBuilder = new GsonBuilder();
                        Gson gson = gsonBuilder.create();
                        return gson.fromJson(content, Service.class);
-               } catch (Exception e) {
+               } catch (KubernetesClientException e) {
+            throw e;
+        } catch (Exception e) {
                        String msg = "Error while retrieving Service info with 
Service ID: "+serviceId;
                        log.error(msg, e);
                        throw new KubernetesClientException(msg, e);
@@ -408,6 +415,11 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                        
                        handleNullResponse("Service "+service+" creation 
failed.", res);
                        
+                       if (res.getStatusCode() == HttpStatus.SC_CONFLICT) {
+                log.warn("Service already created. "+service);
+                return;
+            }
+                       
                        if (res.getStatusCode() != HttpStatus.SC_ACCEPTED && 
                                        res.getStatusCode() != 
HttpStatus.SC_OK) {
                                String msg = "Service ["+service+"] creation 
failed. Error: "+
@@ -505,12 +517,4 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
         }
     }
        
-    public String getBaseURL() {
-        return baseURL;
-    }
-
-    public void setBaseURL(String baseURL) {
-        this.baseURL = baseURL;
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/af39a71b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/rest/KubernetesResponseHandler.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/rest/KubernetesResponseHandler.java
 
b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/rest/KubernetesResponseHandler.java
index ab93e0e..fa2442a 100644
--- 
a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/rest/KubernetesResponseHandler.java
+++ 
b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/rest/KubernetesResponseHandler.java
@@ -20,6 +20,8 @@
  */
 package org.apache.stratos.kubernetes.client.rest;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
 import org.apache.http.StatusLine;
@@ -34,6 +36,7 @@ import java.io.InputStreamReader;
  * Handles a HttpResponse and returns a {@link KubernetesResponse}
  */
 public class KubernetesResponseHandler implements 
ResponseHandler<KubernetesResponse>{
+    private static final Log log = 
LogFactory.getLog(KubernetesResponseHandler.class);
 
     @Override
     public KubernetesResponse handleResponse(HttpResponse response) throws 
ClientProtocolException,
@@ -59,6 +62,10 @@ public class KubernetesResponseHandler implements 
ResponseHandler<KubernetesResp
         kubResponse.setContent(result);
         kubResponse.setReason(statusLine.getReasonPhrase());
         
+        if (log.isDebugEnabled()) {
+            log.debug("Extracted Kubernetes Response: 
"+kubResponse.toString());
+        }
+        
         return kubResponse;
     }
 }

Reply via email to