Merge "Return proper response object in Kubernetes APIs"

This commit is contained in:
Jenkins 2015-06-14 17:04:09 +00:00 committed by Gerrit Code Review
commit d25bfcd040
3 changed files with 50 additions and 9 deletions

View File

@ -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

View File

@ -176,7 +176,7 @@ class Handler(object):
pod.create(context)
message = ast.literal_eval(err.read())['message']
raise exception.KubernetesAPIFailed(code=err.code, message=message)
pod.status = resp['status']['phase']
pod.status = resp.status.phase
# call the pod object to persist in db
# TODO(yuanying): parse pod file and,
# - extract pod name and set it

View File

@ -132,8 +132,10 @@ class TestK8sConductor(base.TestCase):
mock_retrieve_k8s_master_url.return_value = expected_master_url
with patch.object(self.kube_handler, '_k8s_api') as mock_kube_api:
mock_kube_api.createPod.return_value = {'status':
{'phase': 'Pending'}}
return_value = mock.MagicMock()
return_value.status = mock.MagicMock()
return_value.status.phase = 'Pending'
mock_kube_api.createPod.return_value = return_value
self.kube_handler.pod_create(self.context, expected_pod)
self.assertEqual('Pending', expected_pod.status)