From a09ff4bc258e97db208285ff9ab54d72abb2f621 Mon Sep 17 00:00:00 2001 From: Hua Wang Date: Wed, 2 Dec 2015 12:16:53 +0800 Subject: [PATCH] Remove circle reference We can not import magnum.api.validation because of circle reference. We can reproduce this bug by "tox -egenconfig" or importing magnum.api.validation in a python console. Traceback (most recent call last): File "", line 1, in File "magnum/api/validation.py", line 20, in from magnum.api.controllers.v1 import utils as api_utils File "magnum/api/controllers/v1/__init__.py", line 30, in from magnum.api.controllers.v1 import baymodel File "magnum/api/controllers/v1/baymodel.py", line 29, in from magnum.api import validation ImportError: cannot import name validation Change-Id: Ib73d7f1d989b9bc860bfadafa52e9a83996f5de9 Closes-Bug: #1521840 --- magnum/api/controllers/v1/bay.py | 2 +- magnum/api/controllers/v1/baymodel.py | 2 +- magnum/api/controllers/v1/certificate.py | 2 +- magnum/api/controllers/v1/container.py | 2 +- magnum/api/controllers/v1/node.py | 2 +- magnum/api/controllers/v1/pod.py | 2 +- magnum/api/controllers/v1/replicationcontroller.py | 2 +- magnum/api/controllers/v1/service.py | 2 +- magnum/api/controllers/v1/x509keypair.py | 2 +- magnum/api/{controllers/v1 => }/utils.py | 0 magnum/api/validation.py | 2 +- magnum/tests/unit/api/controllers/v1/test_certificate.py | 2 +- magnum/tests/unit/api/controllers/v1/test_utils.py | 2 +- magnum/tests/unit/api/test_validation.py | 2 +- 14 files changed, 13 insertions(+), 13 deletions(-) rename magnum/api/{controllers/v1 => }/utils.py (100%) diff --git a/magnum/api/controllers/v1/bay.py b/magnum/api/controllers/v1/bay.py index 868af027aa..9b1bbed1f2 100644 --- a/magnum/api/controllers/v1/bay.py +++ b/magnum/api/controllers/v1/bay.py @@ -24,8 +24,8 @@ from magnum.api.controllers import base from magnum.api.controllers import link from magnum.api.controllers.v1 import collection from magnum.api.controllers.v1 import types -from magnum.api.controllers.v1 import utils as api_utils from magnum.api import expose +from magnum.api import utils as api_utils from magnum.common import exception from magnum.common import policy from magnum import objects diff --git a/magnum/api/controllers/v1/baymodel.py b/magnum/api/controllers/v1/baymodel.py index f174f879b9..fb5356f694 100644 --- a/magnum/api/controllers/v1/baymodel.py +++ b/magnum/api/controllers/v1/baymodel.py @@ -24,8 +24,8 @@ from magnum.api.controllers import base from magnum.api.controllers import link from magnum.api.controllers.v1 import collection from magnum.api.controllers.v1 import types -from magnum.api.controllers.v1 import utils as api_utils from magnum.api import expose +from magnum.api import utils as api_utils from magnum.api import validation from magnum.common import clients from magnum.common import exception diff --git a/magnum/api/controllers/v1/certificate.py b/magnum/api/controllers/v1/certificate.py index c8afec65c7..1941966d78 100644 --- a/magnum/api/controllers/v1/certificate.py +++ b/magnum/api/controllers/v1/certificate.py @@ -22,7 +22,7 @@ import wsmeext.pecan as wsme_pecan from magnum.api.controllers import base from magnum.api.controllers import link from magnum.api.controllers.v1 import types -from magnum.api.controllers.v1 import utils as api_utils +from magnum.api import utils as api_utils from magnum.common import exception from magnum.common import policy from magnum import objects diff --git a/magnum/api/controllers/v1/container.py b/magnum/api/controllers/v1/container.py index 7a1f997451..70a78a6557 100644 --- a/magnum/api/controllers/v1/container.py +++ b/magnum/api/controllers/v1/container.py @@ -24,8 +24,8 @@ from magnum.api.controllers import base from magnum.api.controllers import link from magnum.api.controllers.v1 import collection from magnum.api.controllers.v1 import types -from magnum.api.controllers.v1 import utils as api_utils from magnum.api import expose +from magnum.api import utils as api_utils from magnum.api import validation from magnum.common import exception from magnum.common import policy diff --git a/magnum/api/controllers/v1/node.py b/magnum/api/controllers/v1/node.py index d989160584..c1a9b839b3 100644 --- a/magnum/api/controllers/v1/node.py +++ b/magnum/api/controllers/v1/node.py @@ -23,8 +23,8 @@ from magnum.api.controllers import base from magnum.api.controllers import link from magnum.api.controllers.v1 import collection from magnum.api.controllers.v1 import types -from magnum.api.controllers.v1 import utils as api_utils from magnum.api import expose +from magnum.api import utils as api_utils from magnum.common import exception from magnum.common import policy from magnum import objects diff --git a/magnum/api/controllers/v1/pod.py b/magnum/api/controllers/v1/pod.py index 3035fabe37..8096bba5f7 100644 --- a/magnum/api/controllers/v1/pod.py +++ b/magnum/api/controllers/v1/pod.py @@ -21,8 +21,8 @@ from magnum.api.controllers import link from magnum.api.controllers.v1 import base as v1_base from magnum.api.controllers.v1 import collection from magnum.api.controllers.v1 import types -from magnum.api.controllers.v1 import utils as api_utils from magnum.api import expose +from magnum.api import utils as api_utils from magnum.api import validation from magnum.common import exception from magnum.common import k8s_manifest diff --git a/magnum/api/controllers/v1/replicationcontroller.py b/magnum/api/controllers/v1/replicationcontroller.py index c8d4afa696..28f7ffba9b 100644 --- a/magnum/api/controllers/v1/replicationcontroller.py +++ b/magnum/api/controllers/v1/replicationcontroller.py @@ -22,8 +22,8 @@ from magnum.api.controllers import link from magnum.api.controllers.v1 import base as v1_base from magnum.api.controllers.v1 import collection from magnum.api.controllers.v1 import types -from magnum.api.controllers.v1 import utils as api_utils from magnum.api import expose +from magnum.api import utils as api_utils from magnum.api import validation from magnum.common import exception from magnum.common import k8s_manifest diff --git a/magnum/api/controllers/v1/service.py b/magnum/api/controllers/v1/service.py index e517bcb574..5fea4e9e70 100644 --- a/magnum/api/controllers/v1/service.py +++ b/magnum/api/controllers/v1/service.py @@ -20,8 +20,8 @@ from magnum.api.controllers import link from magnum.api.controllers.v1 import base as v1_base from magnum.api.controllers.v1 import collection from magnum.api.controllers.v1 import types -from magnum.api.controllers.v1 import utils as api_utils from magnum.api import expose +from magnum.api import utils as api_utils from magnum.api import validation from magnum.common import exception from magnum.common import k8s_manifest diff --git a/magnum/api/controllers/v1/x509keypair.py b/magnum/api/controllers/v1/x509keypair.py index 40cbd947b8..924aea282f 100644 --- a/magnum/api/controllers/v1/x509keypair.py +++ b/magnum/api/controllers/v1/x509keypair.py @@ -23,7 +23,7 @@ from magnum.api.controllers import base from magnum.api.controllers import link from magnum.api.controllers.v1 import collection from magnum.api.controllers.v1 import types -from magnum.api.controllers.v1 import utils as api_utils +from magnum.api import utils as api_utils from magnum.common import exception from magnum import objects diff --git a/magnum/api/controllers/v1/utils.py b/magnum/api/utils.py similarity index 100% rename from magnum/api/controllers/v1/utils.py rename to magnum/api/utils.py diff --git a/magnum/api/validation.py b/magnum/api/validation.py index 2a0151611e..a285471cea 100644 --- a/magnum/api/validation.py +++ b/magnum/api/validation.py @@ -17,7 +17,7 @@ import decorator from oslo_config import cfg import pecan -from magnum.api.controllers.v1 import utils as api_utils +from magnum.api import utils as api_utils from magnum.common import exception from magnum import objects diff --git a/magnum/tests/unit/api/controllers/v1/test_certificate.py b/magnum/tests/unit/api/controllers/v1/test_certificate.py index 54eed124ff..d9c447778e 100644 --- a/magnum/tests/unit/api/controllers/v1/test_certificate.py +++ b/magnum/tests/unit/api/controllers/v1/test_certificate.py @@ -23,7 +23,7 @@ from magnum.tests.unit.objects import utils as obj_utils class TestCertObject(base.TestCase): - @mock.patch('magnum.api.controllers.v1.utils.get_rpc_resource') + @mock.patch('magnum.api.utils.get_rpc_resource') def test_cert_init(self, mock_get_rpc_resource): cert_dict = apiutils.cert_post_data() mock_bay = mock.MagicMock() diff --git a/magnum/tests/unit/api/controllers/v1/test_utils.py b/magnum/tests/unit/api/controllers/v1/test_utils.py index 313797bcfa..38c950d286 100644 --- a/magnum/tests/unit/api/controllers/v1/test_utils.py +++ b/magnum/tests/unit/api/controllers/v1/test_utils.py @@ -17,7 +17,7 @@ import jsonpatch import mock import wsme -from magnum.api.controllers.v1 import utils +from magnum.api import utils from magnum.common import exception from magnum.common import utils as common_utils from magnum.tests.unit.api import base diff --git a/magnum/tests/unit/api/test_validation.py b/magnum/tests/unit/api/test_validation.py index 851506dc04..c1769d71e0 100644 --- a/magnum/tests/unit/api/test_validation.py +++ b/magnum/tests/unit/api/test_validation.py @@ -188,7 +188,7 @@ class TestValidation(base.BaseTestCase): assert_raised=True) @mock.patch('pecan.request') - @mock.patch('magnum.api.controllers.v1.utils.get_rpc_resource') + @mock.patch('magnum.api.utils.get_rpc_resource') def _test_enforce_network_driver_types_update( self, mock_get_rpc_resource,