Merge "List capsules directly from DB"
This commit is contained in:
commit
6b0a161641
@ -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,
|
||||
|
@ -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')
|
||||
|
Loading…
x
Reference in New Issue
Block a user