Merge "List capsules directly from DB"

This commit is contained in:
Zuul 2017-11-29 01:27:42 +00:00 committed by Gerrit Code Review
commit 6b0a161641
2 changed files with 1 additions and 25 deletions

View File

@ -89,7 +89,6 @@ class CapsuleController(base.Controller):
context = pecan.request.context
if utils.is_all_tenants(kwargs):
context.all_tenants = True
compute_api = pecan.request.compute_api
limit = api_utils.validate_limit(kwargs.get('limit'))
sort_dir = api_utils.validate_sort_dir(kwargs.get('sort_dir', 'asc'))
sort_key = kwargs.get('sort_key', 'id')
@ -108,23 +107,6 @@ class CapsuleController(base.Controller):
sort_dir,
filters=filters)
# Sync status for container inside capsule
for i, capsule in enumerate(capsules):
try:
containers_list = capsule.containers_uuids
if containers_list is not None:
# Capsule is depending on infra container status
uuid = containers_list[0]
container = utils.get_container(uuid)
container = compute_api.container_show(context, container)
capsule.status = container.status
capsule.save(context)
except Exception as e:
LOG.exception(("Error while list capsule %(uuid)s: "
"%(e)s."),
{'uuid': capsule.uuid, 'e': e})
capsules[i].status = consts.UNKNOWN
return CapsuleCollection.convert_with_links(capsules, limit,
url=resource_url,
expand=expand,

View File

@ -16,7 +16,6 @@ import mock
from mock import patch
from oslo_utils import uuidutils
from webtest.app import AppError
from zun.common import consts
from zun.common import exception
from zun import objects
from zun.tests.unit.api import base as api_base
@ -349,13 +348,11 @@ class TestCapsuleController(api_base.FunctionalTest):
self.assertEqual(test_capsule['uuid'],
actual_capsules[0].get('uuid'))
@patch('zun.compute.api.API.container_show')
@patch('zun.objects.Capsule.list')
@patch('zun.objects.Container.get_by_uuid')
def test_get_all_capsules_with_exception(self,
mock_container_get_by_uuid,
mock_capsule_list,
mock_container_show):
mock_capsule_list):
test_container = utils.get_test_container()
test_container_obj = objects.Container(self.context,
**test_container)
@ -364,7 +361,6 @@ class TestCapsuleController(api_base.FunctionalTest):
test_capsule = utils.get_test_capsule()
test_capsule_obj = objects.Capsule(self.context, **test_capsule)
mock_capsule_list.return_value = [test_capsule_obj]
mock_container_show.side_effect = Exception
response = self.app.get('/capsules/')
@ -378,8 +374,6 @@ class TestCapsuleController(api_base.FunctionalTest):
self.assertEqual(1, len(actual_capsules))
self.assertEqual(test_capsule['uuid'],
actual_capsules[0].get('uuid'))
self.assertEqual(consts.UNKNOWN,
actual_capsules[0].get('status'))
@patch('zun.compute.api.API.container_show')
@patch('zun.objects.Capsule.list')