Repository: stratos Updated Branches: refs/heads/master 71d41e4ba -> 0b4c95e46
Handling Null response due to connection issues. Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/0b4c95e4 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/0b4c95e4 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/0b4c95e4 Branch: refs/heads/master Commit: 0b4c95e4609dfc0c39259d70de5ba2b99c8cc25d Parents: 71d41e4 Author: Nirmal Fernando <[email protected]> Authored: Thu Oct 2 19:13:50 2014 +0530 Committer: Nirmal Fernando <[email protected]> Committed: Thu Oct 2 19:13:50 2014 +0530 ---------------------------------------------------------------------- .../kubernetes/client/KubernetesApiClient.java | 41 +++++++++++++++++--- 1 file changed, 36 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/0b4c95e4/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 f78d7d3..5622967 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 @@ -56,6 +56,8 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { try { HttpResponse res = restClient.doGet("pods/"+podId); + handleNullResponse("Pod ["+podId+"] retrieval failed.", res); + if (res.getStatusLine().getStatusCode() == HttpStatus.SC_NOT_FOUND) { String msg = "Pod ["+podId+"] doesn't exist."; log.error(msg); @@ -84,6 +86,8 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { try { HttpResponse res = restClient.doGet("pods"); + handleNullResponse("Pod retrieval failed.", res); + if (res.getStatusLine().getStatusCode() == HttpStatus.SC_NOT_FOUND) { return new Pod[0]; } @@ -112,9 +116,9 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { if (log.isDebugEnabled()) { log.debug("CreatePod Request Body : "+content); } - System.out.println(content); HttpResponse res = restClient.doPost("pods", content); - System.out.println(res.getStatusLine().getStatusCode()); + + handleNullResponse("Pod "+pod+" creation failed.", res); if (res.getStatusLine().getStatusCode() == HttpStatus.SC_CONFLICT) { log.warn("Pod already created. "+pod); @@ -143,6 +147,8 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { try { HttpResponse res = restClient.doDelete("pods/"+podId); + handleNullResponse("Pod ["+podId+"] deletion failed.", res); + if (res.getStatusLine().getStatusCode() == HttpStatus.SC_NOT_FOUND) { String msg = "Pod ["+podId+"] doesn't exist."; log.error(msg); @@ -171,6 +177,8 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { try { HttpResponse res = restClient.doGet("replicationControllers/"+controllerId); + + handleNullResponse("Replication Controller ["+controllerId+"] retrieval failed.", res); if (res.getStatusLine().getStatusCode() == HttpStatus.SC_NOT_FOUND) { String msg = "Replication Controller ["+controllerId+"] doesn't exist."; @@ -200,6 +208,8 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { try { HttpResponse res = restClient.doGet("replicationControllers"); + handleNullResponse("Replication Controller retrieval failed.", res); + if (res.getStatusLine().getStatusCode() == HttpStatus.SC_NOT_FOUND) { return new ReplicationController[0]; } @@ -231,6 +241,8 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { log.debug("CreateReplicationController Request Body : "+content); } HttpResponse res = restClient.doPost("replicationControllers", content); + + handleNullResponse("Replication Controller "+controller+" creation failed.", res); if (res.getStatusLine().getStatusCode() != HttpStatus.SC_ACCEPTED && res.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { @@ -274,6 +286,8 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { } HttpResponse res = restClient.doPut("replicationControllers/"+controller.getId(), content); + + handleNullResponse("Replication Controller ["+controllerId+"] update failed.", res); if (res.getStatusLine().getStatusCode() != HttpStatus.SC_ACCEPTED && res.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { @@ -302,6 +316,8 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { try { HttpResponse res = restClient.doDelete("replicationControllers/"+controllerId); + handleNullResponse("Replication Controller ["+controllerId+"] deletion failed.", res); + if (res.getStatusLine().getStatusCode() == HttpStatus.SC_NOT_FOUND) { String msg = "Replication Controller ["+controllerId+"] doesn't exist."; log.error(msg); @@ -329,6 +345,8 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { throws KubernetesClientException { try { HttpResponse res = restClient.doGet("services/"+serviceId); + + handleNullResponse("Service ["+serviceId+"] retrieval failed.", res); if (res.getStatusLine().getStatusCode() == HttpStatus.SC_NOT_FOUND) { String msg = "Service ["+serviceId+"] doesn't exist."; @@ -355,6 +373,8 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { try { HttpResponse res = restClient.doGet("services"); + handleNullResponse("Service retrieval failed.", res); + if (res.getStatusLine().getStatusCode() == HttpStatus.SC_NOT_FOUND) { return new Service[0]; } @@ -382,10 +402,11 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { if (log.isDebugEnabled()) { log.debug("CreateService Request Body : "+content); } - System.out.println(content); + HttpResponse res = restClient.doPost("services", content); - System.out.println(res.getStatusLine().getStatusCode()); - + + handleNullResponse("Service "+service+" creation failed.", res); + if (res.getStatusLine().getStatusCode() != HttpStatus.SC_ACCEPTED && res.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { String msg = "Service ["+service+"] creation failed. Error: "+ @@ -409,6 +430,8 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { try { HttpResponse res = restClient.doDelete("services/"+serviceId); + + handleNullResponse("Service ["+serviceId+"] deletion failed.", res); if (res.getStatusLine().getStatusCode() == HttpStatus.SC_NOT_FOUND) { String msg = "Service ["+serviceId+"] doesn't exist."; @@ -432,6 +455,14 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface { throw new KubernetesClientException(msg, e); } } + + private void handleNullResponse(String message, HttpResponse res) + throws KubernetesClientException { + if (res == null) { + log.error(message+ " Null response receieved."); + throw new KubernetesClientException(message); + } + } // This method gives the HTTP response string private String getHttpResponseString(HttpResponse response) {
