From 9d12d0c5512bb43e8741c7345f96fa13f4e548cb Mon Sep 17 00:00:00 2001
From: Madhuri Kumari <madhuri.kumari@nectechnologies.in>
Date: Tue, 9 Jun 2015 13:50:56 +0900
Subject: [PATCH] Return proper response object in Kubernetes APIs

Below list of Kubernetes APIs doesn't return proper response object:

1. createPod
2. replacePod
3. deletePod
4. createReplicationController
5. replaceReplicationController
6. deleteReplicationController
7. createService
8. replaceService
9. deleteService

This patch fix this problem and also change the
impact on magnum code.

Change-Id: Ib8fd9c4ea8766e7a1e7d1a56cc8325ecd518557d
Closes-bug: #1463252
---
 .../pythonk8sclient/client/ApivbetaApi.py     | 51 ++++++++++++++++---
 1 file changed, 45 insertions(+), 6 deletions(-)

diff --git a/magnum/common/pythonk8sclient/client/ApivbetaApi.py b/magnum/common/pythonk8sclient/client/ApivbetaApi.py
index b17c594..c49ba9c 100644
--- a/magnum/common/pythonk8sclient/client/ApivbetaApi.py
+++ b/magnum/common/pythonk8sclient/client/ApivbetaApi.py
@@ -2410,7 +2410,11 @@ class ApivbetaApi(object):
         response = self.apiClient.callAPI(resourcePath, method, queryParams,
                                           postData, headerParams, files=files)
 
-        return response
+        if not response:
+            return None
+
+        responseObject = self.apiClient.deserialize(response, 'V1beta3_Pod')
+        return responseObject
 
         
         
@@ -2560,7 +2564,11 @@ class ApivbetaApi(object):
         response = self.apiClient.callAPI(resourcePath, method, queryParams,
                                           postData, headerParams, files=files)
 
-        return response
+        if not response:
+            return None
+
+        responseObject = self.apiClient.deserialize(response, 'V1beta3_Pod')
+        return responseObject
 
         
         
@@ -2636,6 +2644,11 @@ class ApivbetaApi(object):
         response = self.apiClient.callAPI(resourcePath, method, queryParams,
                                           postData, headerParams, files=files)
 
+        if not response:
+            return None
+
+        responseObject = self.apiClient.deserialize(response, 'V1beta3_PodStatus')
+        return responseObject
         
         
         
@@ -3014,7 +3027,11 @@ class ApivbetaApi(object):
         response = self.apiClient.callAPI(resourcePath, method, queryParams,
                                           postData, headerParams, files=files)
 
-        return response
+        if not response:
+            return None
+
+        responseObject = self.apiClient.deserialize(response, 'V1beta3_ReplicationController')
+        return responseObject
 
         
         
@@ -3164,7 +3181,11 @@ class ApivbetaApi(object):
         response = self.apiClient.callAPI(resourcePath, method, queryParams,
                                           postData, headerParams, files=files)
 
-        return response
+        if not response:
+            return None
+
+        responseObject = self.apiClient.deserialize(response, 'V1beta3_ReplicationController')
+        return responseObject
 
         
         
@@ -3240,6 +3261,11 @@ class ApivbetaApi(object):
         response = self.apiClient.callAPI(resourcePath, method, queryParams,
                                           postData, headerParams, files=files)
 
+        if not response:
+            return None
+
+        responseObject = self.apiClient.deserialize(response, 'V1beta3_ReplicationControllerStatus')
+        return responseObject
         
         
         
@@ -4436,7 +4462,11 @@ class ApivbetaApi(object):
         response = self.apiClient.callAPI(resourcePath, method, queryParams,
                                           postData, headerParams, files=files)
 
-        return response
+        if not response:
+            return None
+
+        responseObject = self.apiClient.deserialize(response, 'V1beta3_Service')
+        return responseObject
 
         
         
@@ -4586,7 +4616,11 @@ class ApivbetaApi(object):
         response = self.apiClient.callAPI(resourcePath, method, queryParams,
                                           postData, headerParams, files=files)
 
-        return response
+        if not response:
+            return None
+
+        responseObject = self.apiClient.deserialize(response, 'V1beta3_Service')
+        return responseObject
 
         
         
@@ -4656,6 +4690,11 @@ class ApivbetaApi(object):
         response = self.apiClient.callAPI(resourcePath, method, queryParams,
                                           postData, headerParams, files=files)
 
+        if not response:
+            return None
+
+        responseObject = self.apiClient.deserialize(response, 'V1beta3_ServiceStatus')
+        return responseObject