From c954f95f66705d230d21bd7e854549e624fafd79 Mon Sep 17 00:00:00 2001 From: Hans Lindgren Date: Mon, 23 Mar 2015 18:45:10 +0100 Subject: [PATCH] Remove lazy-loading property compute_task_api from compute api With conductor manager no longer calling into compute api, there is no circular dependency between the two and because of this lazy-loading of compute_task_api is no longer needed. Change-Id: Ida000b5e6574bae74fa669dd72301323ad4ed9d5 --- nova/compute/api.py | 12 ++---------- nova/compute/cells_api.py | 2 +- nova/tests/unit/compute/test_compute_cells.py | 2 +- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/nova/compute/api.py b/nova/compute/api.py index b27ef30bd2cf..ba3c8a705c98 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -47,6 +47,7 @@ from nova.compute import rpcapi as compute_rpcapi from nova.compute import task_states from nova.compute import utils as compute_utils from nova.compute import vm_states +from nova import conductor from nova.consoleauth import rpcapi as consoleauth_rpcapi from nova import crypto from nova.db import base @@ -285,7 +286,7 @@ class API(base.Base): skip_policy_check=skip_policy_check)) self.consoleauth_rpcapi = consoleauth_rpcapi.ConsoleAuthAPI() self.compute_rpcapi = compute_rpcapi.ComputeAPI() - self._compute_task_api = None + self.compute_task_api = conductor.ComputeTaskAPI() self.servicegroup_api = servicegroup.API() self.notifier = rpc.get_notifier('compute', CONF.host) if CONF.ephemeral_storage_encryption.enabled: @@ -293,15 +294,6 @@ class API(base.Base): super(API, self).__init__(**kwargs) - @property - def compute_task_api(self): - if self._compute_task_api is None: - # TODO(alaski): Remove calls into here from conductor manager so - # that this isn't necessary. #1180540 - from nova import conductor - self._compute_task_api = conductor.ComputeTaskAPI() - return self._compute_task_api - @property def cell_type(self): try: diff --git a/nova/compute/cells_api.py b/nova/compute/cells_api.py index 175ece2d649f..e55bd603899f 100644 --- a/nova/compute/cells_api.py +++ b/nova/compute/cells_api.py @@ -166,7 +166,7 @@ class ComputeCellsAPI(compute_api.API): # Avoid casts/calls directly to compute self.compute_rpcapi = ComputeRPCAPIRedirect(self.cells_rpcapi) # Redirect conductor build_instances to cells - self._compute_task_api = ConductorTaskRPCAPIRedirect(self.cells_rpcapi) + self.compute_task_api = ConductorTaskRPCAPIRedirect(self.cells_rpcapi) self._cell_type = 'api' def _cast_to_cells(self, context, instance, method, *args, **kwargs): diff --git a/nova/tests/unit/compute/test_compute_cells.py b/nova/tests/unit/compute/test_compute_cells.py index 10b58f218724..a6c1f4b40a58 100644 --- a/nova/tests/unit/compute/test_compute_cells.py +++ b/nova/tests/unit/compute/test_compute_cells.py @@ -325,7 +325,7 @@ class CellsConductorAPIRPCRedirect(test.NoDBTestCase): self.compute_api = compute_cells_api.ComputeCellsAPI() self.cells_rpcapi = mock.MagicMock() - self.compute_api._compute_task_api.cells_rpcapi = self.cells_rpcapi + self.compute_api.compute_task_api.cells_rpcapi = self.cells_rpcapi self.context = context.RequestContext('fake', 'fake')