From 98e2178063fad3b63ea5e0f47b1b6cf4f9f9733d Mon Sep 17 00:00:00 2001 From: Feng Shengqin Date: Mon, 27 Nov 2017 17:02:05 +0800 Subject: [PATCH] List capsules directly from DB Change-Id: I008485c5fb9cc4341b4f779e4e62b287504e04d1 --- zun/api/controllers/experimental/capsules.py | 18 ------------------ .../controllers/experimental/test_capsules.py | 8 +------- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/zun/api/controllers/experimental/capsules.py b/zun/api/controllers/experimental/capsules.py index f5cbb981f..194d4d5ea 100644 --- a/zun/api/controllers/experimental/capsules.py +++ b/zun/api/controllers/experimental/capsules.py @@ -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, diff --git a/zun/tests/unit/api/controllers/experimental/test_capsules.py b/zun/tests/unit/api/controllers/experimental/test_capsules.py index 93b5999ec..b37604d6e 100644 --- a/zun/tests/unit/api/controllers/experimental/test_capsules.py +++ b/zun/tests/unit/api/controllers/experimental/test_capsules.py @@ -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')