Remove nova.compute.*API() shims

When we had cellsv1, we had two different sets of
[Host|InstanceAction|ComputeCells]API. Now that cellsv1 is gone, we only
need nova.compute.api.API, .HostAPI, and .InstanceActionAPI. This patch
removes the dynamic loader shims from nova/compute/__init__.py and swaps
out all references to directly access the classes in nova.compute.api.

Note that there are a couple of ways we could have done this. One way
would have been to replace

  from nova import compute

with

  from nova.compute import api

and then change

  self.compute_api = compute.API()

to

  self.compute_api = api.API()

However, the current approach was preferred because
- smaller delta
- the code reads better as compute.API(), which is more important than
  the import being pretty

cleanup for blueprint remove-cells-v1

Change-Id: I84d9692efa3a131d6392dbd1011dfc43e4ac0b53
This commit is contained in:
Eric Fried 2019-05-22 17:09:57 -05:00 committed by Stephen Finucane
parent 43dd054685
commit b4c03e325b
43 changed files with 73 additions and 126 deletions

View File

@ -18,7 +18,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import reset_server_state from nova.api.openstack.compute.schemas import reset_server_state
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova.compute import vm_states from nova.compute import vm_states
from nova import exception from nova import exception
from nova.policies import admin_actions as aa_policies from nova.policies import admin_actions as aa_policies

View File

@ -18,7 +18,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import admin_password from nova.api.openstack.compute.schemas import admin_password
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _
from nova.policies import admin_password as ap_policies from nova.policies import admin_password as ap_policies

View File

@ -23,7 +23,7 @@ from webob import exc
from nova.api.openstack.compute.schemas import assisted_volume_snapshots from nova.api.openstack.compute.schemas import assisted_volume_snapshots
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.policies import assisted_volume_snapshots as avs_policies from nova.policies import assisted_volume_snapshots as avs_policies

View File

@ -23,7 +23,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import attach_interfaces from nova.api.openstack.compute.schemas import attach_interfaces
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _
from nova import network from nova import network

View File

@ -14,7 +14,7 @@
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova import availability_zones from nova import availability_zones
from nova import compute from nova.compute import api as compute
import nova.conf import nova.conf
from nova.policies import availability_zone as az_policies from nova.policies import availability_zone as az_policies
from nova import servicegroup from nova import servicegroup

View File

@ -22,7 +22,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import console_output from nova.api.openstack.compute.schemas import console_output
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.policies import console_output as co_policies from nova.policies import console_output as co_policies

View File

@ -20,7 +20,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import create_backup from nova.api.openstack.compute.schemas import create_backup
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.policies import create_backup as cb_policies from nova.policies import create_backup as cb_policies

View File

@ -19,7 +19,7 @@ import webob
from nova.api.openstack import common from nova.api.openstack import common
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.policies import deferred_delete as dd_policies from nova.policies import deferred_delete as dd_policies

View File

@ -21,7 +21,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import evacuate from nova.api.openstack.compute.schemas import evacuate
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
import nova.conf import nova.conf
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _

View File

@ -26,7 +26,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import floating_ips from nova.api.openstack.compute.schemas import floating_ips
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _
from nova import network from nova import network

View File

@ -23,7 +23,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import hosts from nova.api.openstack.compute.schemas import hosts
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import context as nova_context from nova import context as nova_context
from nova import exception from nova import exception
from nova import objects from nova import objects

View File

@ -27,7 +27,7 @@ from nova.api.openstack.compute.schemas import hypervisors as hyper_schema
from nova.api.openstack.compute.views import hypervisors as hyper_view from nova.api.openstack.compute.views import hypervisors as hyper_view
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _
from nova.policies import hypervisors as hv_policies from nova.policies import hypervisors as hv_policies

View File

@ -25,7 +25,7 @@ from nova.api.openstack.compute.views \
import instance_actions as instance_actions_view import instance_actions as instance_actions_view
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _
from nova.policies import instance_actions as ia_policies from nova.policies import instance_actions as ia_policies

View File

@ -19,7 +19,7 @@ import datetime
import webob.exc import webob.exc
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova import compute from nova.compute import api as compute
from nova.compute import rpcapi as compute_rpcapi from nova.compute import rpcapi as compute_rpcapi
from nova.i18n import _ from nova.i18n import _
from nova.policies import instance_usage_audit_log as iual_policies from nova.policies import instance_usage_audit_log as iual_policies

View File

@ -15,10 +15,10 @@
from webob import exc from webob import exc
import nova
from nova.api.openstack import common from nova.api.openstack import common
from nova.api.openstack.compute.views import addresses as views_addresses from nova.api.openstack.compute.views import addresses as views_addresses
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.compute import api as compute
from nova.i18n import _ from nova.i18n import _
from nova.policies import ips as ips_policies from nova.policies import ips as ips_policies
@ -33,7 +33,7 @@ class IPsController(wsgi.Controller):
def __init__(self, **kwargs): def __init__(self, **kwargs):
super(IPsController, self).__init__(**kwargs) super(IPsController, self).__init__(**kwargs)
self._compute_api = nova.compute.API() self._compute_api = compute.API()
@wsgi.expected_errors(404) @wsgi.expected_errors(404)
def index(self, req, server_id): def index(self, req, server_id):

View File

@ -18,7 +18,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import lock_server from nova.api.openstack.compute.schemas import lock_server
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova.policies import lock_server as ls_policies from nova.policies import lock_server as ls_policies

View File

@ -23,7 +23,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import migrate_server from nova.api.openstack.compute.schemas import migrate_server
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _
from nova import network from nova import network

View File

@ -18,7 +18,7 @@ from nova.api.openstack.compute.schemas import migrations as schema_migrations
from nova.api.openstack.compute.views import migrations as migrations_view from nova.api.openstack.compute.views import migrations as migrations_view
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _
from nova.objects import base as obj_base from nova.objects import base as obj_base

View File

@ -21,7 +21,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import multinic from nova.api.openstack.compute.schemas import multinic
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.policies import multinic as multinic_policies from nova.policies import multinic as multinic_policies

View File

@ -17,7 +17,7 @@ from webob import exc
from nova.api.openstack import common from nova.api.openstack import common
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.policies import pause_server as ps_policies from nova.policies import pause_server as ps_policies

View File

@ -18,7 +18,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import remote_consoles from nova.api.openstack.compute.schemas import remote_consoles
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.policies import remote_consoles as rc_policies from nova.policies import remote_consoles as rc_policies

View File

@ -20,7 +20,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import rescue from nova.api.openstack.compute.schemas import rescue
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
import nova.conf import nova.conf
from nova import exception from nova import exception
from nova.policies import rescue as rescue_policies from nova.policies import rescue as rescue_policies

View File

@ -25,7 +25,7 @@ from nova.api.openstack.compute.schemas import security_groups as \
schema_security_groups schema_security_groups
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _
from nova.network.security_group import openstack_driver from nova.network.security_group import openstack_driver

View File

@ -19,7 +19,7 @@ from nova.api.openstack import api_version_request
from nova.api.openstack import common from nova.api.openstack import common
from nova.api.openstack.compute.views import server_diagnostics from nova.api.openstack.compute.views import server_diagnostics
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.policies import server_diagnostics as sd_policies from nova.policies import server_diagnostics as sd_policies

View File

@ -18,7 +18,7 @@ import webob
from nova.api.openstack.compute.schemas import server_external_events from nova.api.openstack.compute.schemas import server_external_events
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import context as nova_context from nova import context as nova_context
from nova.i18n import _ from nova.i18n import _
from nova import objects from nova import objects

View File

@ -20,7 +20,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import server_metadata from nova.api.openstack.compute.schemas import server_metadata
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _
from nova.policies import server_metadata as sm_policies from nova.policies import server_metadata as sm_policies

View File

@ -20,7 +20,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import server_migrations from nova.api.openstack.compute.schemas import server_migrations
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _
from nova.policies import servers_migrations as sm_policies from nova.policies import servers_migrations as sm_policies

View File

@ -18,7 +18,7 @@
from nova.api.metadata import password from nova.api.metadata import password
from nova.api.openstack import common from nova.api.openstack import common
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova import compute from nova.compute import api as compute
from nova.policies import server_password as sp_policies from nova.policies import server_password as sp_policies

View File

@ -19,7 +19,7 @@ from nova.api.openstack.compute.views import server_tags
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova.api.validation import parameter_types from nova.api.validation import parameter_types
from nova import compute from nova.compute import api as compute
from nova.compute import vm_states from nova.compute import vm_states
from nova import context as nova_context from nova import context as nova_context
from nova import exception from nova import exception

View File

@ -33,7 +33,7 @@ from nova.api.openstack.compute.views import servers as views_servers
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import block_device from nova import block_device
from nova import compute from nova.compute import api as compute
from nova.compute import flavors from nova.compute import flavors
from nova.compute import utils as compute_utils from nova.compute import utils as compute_utils
import nova.conf import nova.conf

View File

@ -21,7 +21,7 @@ from nova.api.openstack.compute.schemas import services
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import availability_zones from nova import availability_zones
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _
from nova import objects from nova import objects
@ -38,7 +38,7 @@ class ServiceController(wsgi.Controller):
def __init__(self): def __init__(self):
self.host_api = compute.HostAPI() self.host_api = compute.HostAPI()
self.aggregate_api = compute.api.AggregateAPI() self.aggregate_api = compute.AggregateAPI()
self.servicegroup_api = servicegroup.API() self.servicegroup_api = servicegroup.API()
self.actions = {"enable": self._enable, self.actions = {"enable": self._enable,
"disable": self._disable, "disable": self._disable,

View File

@ -18,7 +18,7 @@ from webob import exc
from nova.api.openstack import common from nova.api.openstack import common
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova import compute from nova.compute import api as compute
from nova.compute import vm_states from nova.compute import vm_states
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _

View File

@ -16,7 +16,7 @@ from webob import exc
from nova.api.openstack import common from nova.api.openstack import common
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova import compute from nova.compute import api as compute
from nova import exception from nova import exception
from nova.policies import suspend_server as ss_policies from nova.policies import suspend_server as ss_policies

View File

@ -23,7 +23,7 @@ from nova.api.openstack.compute.views import addresses as views_addresses
from nova.api.openstack.compute.views import flavors as views_flavors from nova.api.openstack.compute.views import flavors as views_flavors
from nova.api.openstack.compute.views import images as views_images from nova.api.openstack.compute.views import images as views_images
from nova import availability_zones as avail_zone from nova import availability_zones as avail_zone
from nova import compute from nova.compute import api as compute
from nova.compute import vm_states from nova.compute import vm_states
from nova import context as nova_context from nova import context as nova_context
from nova import exception from nova import exception

View File

@ -25,7 +25,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.schemas import volumes as volumes_schema from nova.api.openstack.compute.schemas import volumes as volumes_schema
from nova.api.openstack import wsgi from nova.api.openstack import wsgi
from nova.api import validation from nova.api import validation
from nova import compute from nova.compute import api as compute
from nova.compute import vm_states from nova.compute import vm_states
from nova import exception from nova import exception
from nova.i18n import _ from nova.i18n import _

View File

@ -1,50 +0,0 @@
# Copyright 2010 United States Government as represented by the
# Administrator of the National Aeronautics and Space Administration.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_utils import importutils
# TODO(stephenfin): Remove this nonsense
CELL_TYPE_TO_CLS_NAME = {None: 'nova.compute.api.API'}
def _get_compute_api_class_name():
"""Returns the name of compute API class."""
return CELL_TYPE_TO_CLS_NAME[None]
def API(*args, **kwargs):
class_name = _get_compute_api_class_name()
return importutils.import_object(class_name, *args, **kwargs)
def HostAPI(*args, **kwargs):
"""Returns the 'HostAPI' class from the same module as the configured
compute api
"""
compute_api_class_name = _get_compute_api_class_name()
compute_api_class = importutils.import_class(compute_api_class_name)
class_name = compute_api_class.__module__ + ".HostAPI"
return importutils.import_object(class_name, *args, **kwargs)
def InstanceActionAPI(*args, **kwargs):
"""Returns the 'InstanceActionAPI' class from the same module as the
configured compute api.
"""
compute_api_class_name = _get_compute_api_class_name()
compute_api_class = importutils.import_class(compute_api_class_name)
class_name = compute_api_class.__module__ + ".InstanceActionAPI"
return importutils.import_object(class_name, *args, **kwargs)

View File

@ -56,7 +56,7 @@ import six
from six.moves import range from six.moves import range
from nova import block_device from nova import block_device
from nova import compute from nova.compute import api as compute
from nova.compute import build_results from nova.compute import build_results
from nova.compute import claims from nova.compute import claims
from nova.compute import power_state from nova.compute import power_state

View File

@ -25,7 +25,7 @@ import webob.exc
from nova.api.openstack.compute import services as services_v21 from nova.api.openstack.compute import services as services_v21
from nova.api.openstack import wsgi as os_wsgi from nova.api.openstack import wsgi as os_wsgi
from nova import availability_zones from nova import availability_zones
from nova import compute from nova.compute import api as compute
from nova import context from nova import context
from nova import exception from nova import exception
from nova import objects from nova import objects

View File

@ -44,8 +44,7 @@ from testtools import matchers as testtools_matchers
import nova import nova
from nova import availability_zones from nova import availability_zones
from nova import block_device from nova import block_device
from nova import compute from nova.compute import api as compute
from nova.compute import api as compute_api
from nova.compute import flavors from nova.compute import flavors
from nova.compute import instance_actions from nova.compute import instance_actions
from nova.compute import manager as compute_manager from nova.compute import manager as compute_manager
@ -103,10 +102,9 @@ FAKE_IMAGE_REF = uuids.image_ref
NODENAME = 'fakenode1' NODENAME = 'fakenode1'
NODENAME2 = 'fakenode2' NODENAME2 = 'fakenode2'
COMPUTE_VERSION_NEW_ATTACH_FLOW = \ COMPUTE_VERSION_NEW_ATTACH_FLOW = compute.CINDER_V3_ATTACH_MIN_COMPUTE_VERSION
compute_api.CINDER_V3_ATTACH_MIN_COMPUTE_VERSION
COMPUTE_VERSION_OLD_ATTACH_FLOW = \ COMPUTE_VERSION_OLD_ATTACH_FLOW = \
compute_api.CINDER_V3_ATTACH_MIN_COMPUTE_VERSION - 1 compute.CINDER_V3_ATTACH_MIN_COMPUTE_VERSION - 1
def fake_not_implemented(*args, **kwargs): def fake_not_implemented(*args, **kwargs):
@ -8597,7 +8595,7 @@ class ComputeAPITestCase(BaseTestCase):
# is written for nova-network and using the database. Neutron-specific # is written for nova-network and using the database. Neutron-specific
# security group API tests are covered in # security group API tests are covered in
# nova.tests.unit.network.security_group.test_neutron_driver. # nova.tests.unit.network.security_group.test_neutron_driver.
self.security_group_api = compute_api.SecurityGroupAPI() self.security_group_api = compute.SecurityGroupAPI()
self.compute_api = compute.API( self.compute_api = compute.API(
security_group_api=self.security_group_api) security_group_api=self.security_group_api)
@ -10161,7 +10159,7 @@ class ComputeAPITestCase(BaseTestCase):
@ddt.data(True, False) @ddt.data(True, False)
@mock.patch.object(compute_rpcapi.ComputeAPI, 'get_vnc_console') @mock.patch.object(compute_rpcapi.ComputeAPI, 'get_vnc_console')
@mock.patch.object(compute_api.consoleauth_rpcapi.ConsoleAuthAPI, @mock.patch.object(compute.consoleauth_rpcapi.ConsoleAuthAPI,
'authorize_console') 'authorize_console')
def test_vnc_console(self, enable_consoleauth, mock_auth, mock_get): def test_vnc_console(self, enable_consoleauth, mock_auth, mock_get):
self.flags(enable_consoleauth=enable_consoleauth, group='workarounds') self.flags(enable_consoleauth=enable_consoleauth, group='workarounds')
@ -10204,7 +10202,7 @@ class ComputeAPITestCase(BaseTestCase):
self.context, instance, 'novnc') self.context, instance, 'novnc')
@ddt.data(True, False) @ddt.data(True, False)
@mock.patch.object(compute_api.consoleauth_rpcapi.ConsoleAuthAPI, @mock.patch.object(compute.consoleauth_rpcapi.ConsoleAuthAPI,
'authorize_console') 'authorize_console')
@mock.patch.object(compute_rpcapi.ComputeAPI, 'get_spice_console') @mock.patch.object(compute_rpcapi.ComputeAPI, 'get_spice_console')
def test_spice_console(self, enable_consoleauth, mock_spice, mock_auth): def test_spice_console(self, enable_consoleauth, mock_spice, mock_auth):
@ -10267,7 +10265,7 @@ class ComputeAPITestCase(BaseTestCase):
self.context, instance, console_type) self.context, instance, console_type)
@ddt.data(True, False) @ddt.data(True, False)
@mock.patch.object(compute_api.consoleauth_rpcapi.ConsoleAuthAPI, @mock.patch.object(compute.consoleauth_rpcapi.ConsoleAuthAPI,
'authorize_console') 'authorize_console')
@mock.patch.object(compute_rpcapi.ComputeAPI, 'get_rdp_console') @mock.patch.object(compute_rpcapi.ComputeAPI, 'get_rdp_console')
def test_rdp_console(self, enable_consoleauth, mock_rdp, mock_auth): def test_rdp_console(self, enable_consoleauth, mock_rdp, mock_auth):
@ -10823,10 +10821,10 @@ class ComputeAPITestCase(BaseTestCase):
'disk_bus': 'ide', 'disk_bus': 'ide',
'instance_uuid': instance.uuid})) 'instance_uuid': instance.uuid}))
with test.nested( with test.nested(
mock.patch.object(compute_api.API, mock.patch.object(compute.API,
'_create_volume_bdm', '_create_volume_bdm',
return_value=fake_bdm), return_value=fake_bdm),
mock.patch.object(compute_api.API, mock.patch.object(compute.API,
'_check_attach_and_reserve_volume'), '_check_attach_and_reserve_volume'),
mock.patch.object(cinder.API, 'attach'), mock.patch.object(cinder.API, 'attach'),
mock.patch.object(compute_utils, 'EventReporter') mock.patch.object(compute_utils, 'EventReporter')
@ -10864,10 +10862,10 @@ class ComputeAPITestCase(BaseTestCase):
fake_bdm.attachment_id = uuids.attachment_id fake_bdm.attachment_id = uuids.attachment_id
with test.nested( with test.nested(
mock.patch.object(compute_api.API, mock.patch.object(compute.API,
'_create_volume_bdm', '_create_volume_bdm',
return_value=fake_bdm), return_value=fake_bdm),
mock.patch.object(compute_api.API, mock.patch.object(compute.API,
'_check_attach_and_reserve_volume', '_check_attach_and_reserve_volume',
side_effect=fake_check_attach_and_reserve), side_effect=fake_check_attach_and_reserve),
mock.patch.object(cinder.API, 'attachment_complete') mock.patch.object(cinder.API, 'attachment_complete')
@ -10960,7 +10958,7 @@ class ComputeAPITestCase(BaseTestCase):
@mock.patch('nova.compute.api.API._record_action_start') @mock.patch('nova.compute.api.API._record_action_start')
@mock.patch.object(compute_utils, 'EventReporter') @mock.patch.object(compute_utils, 'EventReporter')
@mock.patch.object(nova.volume.cinder.API, 'begin_detaching') @mock.patch.object(nova.volume.cinder.API, 'begin_detaching')
@mock.patch.object(compute_api.API, '_local_cleanup_bdm_volumes') @mock.patch.object(compute.API, '_local_cleanup_bdm_volumes')
@mock.patch.object(objects.BlockDeviceMapping, 'get_by_volume_id') @mock.patch.object(objects.BlockDeviceMapping, 'get_by_volume_id')
def test_detach_volume_shelved_offloaded(self, def test_detach_volume_shelved_offloaded(self,
mock_block_dev, mock_block_dev,
@ -10987,7 +10985,7 @@ class ComputeAPITestCase(BaseTestCase):
self.assertTrue(mock_local_cleanup.called) self.assertTrue(mock_local_cleanup.called)
@mock.patch.object(nova.volume.cinder.API, 'begin_detaching') @mock.patch.object(nova.volume.cinder.API, 'begin_detaching')
@mock.patch.object(compute_api.API, '_local_cleanup_bdm_volumes') @mock.patch.object(compute.API, '_local_cleanup_bdm_volumes')
@mock.patch.object(objects.BlockDeviceMapping, 'get_by_volume_id') @mock.patch.object(objects.BlockDeviceMapping, 'get_by_volume_id')
def test_detach_volume_shelved_offloaded_new_flow(self, def test_detach_volume_shelved_offloaded_new_flow(self,
mock_block_dev, mock_block_dev,
@ -11403,7 +11401,7 @@ class ComputeAPITestCase(BaseTestCase):
[]) [])
self.assertFalse(mock_refresh.called) self.assertFalse(mock_refresh.called)
@mock.patch.object(compute_api.SecurityGroupAPI, @mock.patch.object(compute.SecurityGroupAPI,
'_refresh_instance_security_rules') '_refresh_instance_security_rules')
@mock.patch.object(objects.InstanceList, @mock.patch.object(objects.InstanceList,
'get_by_grantee_security_group_ids') 'get_by_grantee_security_group_ids')
@ -11417,7 +11415,7 @@ class ComputeAPITestCase(BaseTestCase):
mock_refresh.assert_called_once_with(mock.sentinel.ctxt, mock_refresh.assert_called_once_with(mock.sentinel.ctxt,
mock.sentinel.instances) mock.sentinel.instances)
@mock.patch.object(compute_api.SecurityGroupAPI, @mock.patch.object(compute.SecurityGroupAPI,
'_refresh_instance_security_rules') '_refresh_instance_security_rules')
@mock.patch.object(objects.InstanceList, @mock.patch.object(objects.InstanceList,
'get_by_security_group_id') 'get_by_security_group_id')
@ -11871,7 +11869,7 @@ class ComputeAPIAggrTestCase(BaseTestCase):
def setUp(self): def setUp(self):
super(ComputeAPIAggrTestCase, self).setUp() super(ComputeAPIAggrTestCase, self).setUp()
self.api = compute_api.AggregateAPI() self.api = compute.AggregateAPI()
self.context = context.get_admin_context() self.context = context.get_admin_context()
self.stub_out('oslo_messaging.rpc.client.call', fake_rpc_method) self.stub_out('oslo_messaging.rpc.client.call', fake_rpc_method)
self.stub_out('oslo_messaging.rpc.client.cast', fake_rpc_method) self.stub_out('oslo_messaging.rpc.client.cast', fake_rpc_method)
@ -12552,7 +12550,7 @@ class ComputeAPIAggrCallsSchedulerTestCase(test.NoDBTestCase):
def setUp(self): def setUp(self):
super(ComputeAPIAggrCallsSchedulerTestCase, self).setUp() super(ComputeAPIAggrCallsSchedulerTestCase, self).setUp()
self.api = compute_api.AggregateAPI() self.api = compute.AggregateAPI()
self.context = context.RequestContext('fake', 'fake') self.context = context.RequestContext('fake', 'fake')
@mock.patch('nova.scheduler.client.query.SchedulerQueryClient.' @mock.patch('nova.scheduler.client.query.SchedulerQueryClient.'
@ -13674,7 +13672,7 @@ class ComputeHooksTestCase(test.BaseHookTestCase):
self.assert_has_hook('delete_instance', delete_func) self.assert_has_hook('delete_instance', delete_func)
def test_create_instance_has_hook(self): def test_create_instance_has_hook(self):
create_func = compute_api.API.create create_func = compute.API.create
self.assert_has_hook('create_instance', create_func) self.assert_has_hook('create_instance', create_func)
def test_build_instance_has_hook(self): def test_build_instance_has_hook(self):

View File

@ -19,8 +19,7 @@ import mock
from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils.fixture import uuidsentinel as uuids
from nova.api.openstack.compute import services from nova.api.openstack.compute import services
from nova import compute from nova.compute import api as compute
from nova.compute import api as compute_api
from nova import context from nova import context
from nova import exception from nova import exception
from nova import objects from nova import objects
@ -36,7 +35,7 @@ class ComputeHostAPITestCase(test.TestCase):
def setUp(self): def setUp(self):
super(ComputeHostAPITestCase, self).setUp() super(ComputeHostAPITestCase, self).setUp()
self.host_api = compute.HostAPI() self.host_api = compute.HostAPI()
self.aggregate_api = compute_api.AggregateAPI() self.aggregate_api = compute.AggregateAPI()
self.ctxt = context.get_admin_context() self.ctxt = context.get_admin_context()
fake_notifier.stub_notifier(self) fake_notifier.stub_notifier(self)
self.addCleanup(fake_notifier.reset) self.addCleanup(fake_notifier.reset)
@ -411,7 +410,7 @@ class ComputeHostAPITestCase(test.TestCase):
@mock.patch('nova.compute.api.load_cells') @mock.patch('nova.compute.api.load_cells')
@mock.patch('nova.objects.Service.get_by_id') @mock.patch('nova.objects.Service.get_by_id')
def test_service_delete(self, get_by_id, load_cells, set_target): def test_service_delete(self, get_by_id, load_cells, set_target):
compute_api.CELLS = [ compute.CELLS = [
objects.CellMapping(), objects.CellMapping(),
objects.CellMapping(), objects.CellMapping(),
objects.CellMapping(), objects.CellMapping(),
@ -426,13 +425,13 @@ class ComputeHostAPITestCase(test.TestCase):
mock.call(self.ctxt, 1), mock.call(self.ctxt, 1),
mock.call(self.ctxt, 1)]) mock.call(self.ctxt, 1)])
service.destroy.assert_called_once_with() service.destroy.assert_called_once_with()
set_target.assert_called_once_with(self.ctxt, compute_api.CELLS[1]) set_target.assert_called_once_with(self.ctxt, compute.CELLS[1])
@mock.patch('nova.context.set_target_cell') @mock.patch('nova.context.set_target_cell')
@mock.patch('nova.compute.api.load_cells') @mock.patch('nova.compute.api.load_cells')
@mock.patch('nova.objects.Service.get_by_id') @mock.patch('nova.objects.Service.get_by_id')
def test_service_delete_ambiguous(self, get_by_id, load_cells, set_target): def test_service_delete_ambiguous(self, get_by_id, load_cells, set_target):
compute_api.CELLS = [ compute.CELLS = [
objects.CellMapping(), objects.CellMapping(),
objects.CellMapping(), objects.CellMapping(),
objects.CellMapping(), objects.CellMapping(),
@ -489,10 +488,10 @@ class ComputeHostAPITestCase(test.TestCase):
{'stat1': 1, 'stat2': 4.0}, {'stat1': 1, 'stat2': 4.0},
{'stat1': 5, 'stat2': 1.2}, {'stat1': 5, 'stat2': 1.2},
] ]
compute_api.CELLS = [objects.CellMapping(uuid=uuids.cell1), compute.CELLS = [objects.CellMapping(uuid=uuids.cell1),
objects.CellMapping( objects.CellMapping(
uuid=objects.CellMapping.CELL0_UUID), uuid=objects.CellMapping.CELL0_UUID),
objects.CellMapping(uuid=uuids.cell2)] objects.CellMapping(uuid=uuids.cell2)]
stats = self.host_api.compute_node_statistics(self.ctxt) stats = self.host_api.compute_node_statistics(self.ctxt)
self.assertEqual({'stat1': 6, 'stat2': 5.2}, stats) self.assertEqual({'stat1': 6, 'stat2': 5.2}, stats)
@ -561,7 +560,7 @@ class ComputeHostAPITestCase(test.TestCase):
class ComputeAggregateAPITestCase(test.TestCase): class ComputeAggregateAPITestCase(test.TestCase):
def setUp(self): def setUp(self):
super(ComputeAggregateAPITestCase, self).setUp() super(ComputeAggregateAPITestCase, self).setUp()
self.aggregate_api = compute_api.AggregateAPI() self.aggregate_api = compute.AggregateAPI()
self.ctxt = context.get_admin_context() self.ctxt = context.get_admin_context()
# NOTE(jaypipes): We just mock out the HostNapping and Service object # NOTE(jaypipes): We just mock out the HostNapping and Service object
# lookups in order to bypass the code that does cell lookup stuff, # lookups in order to bypass the code that does cell lookup stuff,
@ -579,7 +578,7 @@ class ComputeAggregateAPITestCase(test.TestCase):
@mock.patch('nova.scheduler.client.report.SchedulerReportClient.' @mock.patch('nova.scheduler.client.report.SchedulerReportClient.'
'aggregate_add_host') 'aggregate_add_host')
@mock.patch.object(compute_api.LOG, 'warning') @mock.patch.object(compute.LOG, 'warning')
def test_aggregate_add_host_placement_missing_provider( def test_aggregate_add_host_placement_missing_provider(
self, mock_log, mock_pc_add_host): self, mock_log, mock_pc_add_host):
hostname = 'fake-host' hostname = 'fake-host'
@ -597,7 +596,7 @@ class ComputeAggregateAPITestCase(test.TestCase):
@mock.patch('nova.scheduler.client.report.SchedulerReportClient.' @mock.patch('nova.scheduler.client.report.SchedulerReportClient.'
'aggregate_add_host') 'aggregate_add_host')
@mock.patch.object(compute_api.LOG, 'warning') @mock.patch.object(compute.LOG, 'warning')
def test_aggregate_add_host_bad_placement( def test_aggregate_add_host_bad_placement(
self, mock_log, mock_pc_add_host): self, mock_log, mock_pc_add_host):
hostname = 'fake-host' hostname = 'fake-host'
@ -617,7 +616,7 @@ class ComputeAggregateAPITestCase(test.TestCase):
@mock.patch('nova.objects.Aggregate.delete_host') @mock.patch('nova.objects.Aggregate.delete_host')
@mock.patch('nova.scheduler.client.report.SchedulerReportClient.' @mock.patch('nova.scheduler.client.report.SchedulerReportClient.'
'aggregate_remove_host') 'aggregate_remove_host')
@mock.patch.object(compute_api.LOG, 'warning') @mock.patch.object(compute.LOG, 'warning')
def test_aggregate_remove_host_bad_placement( def test_aggregate_remove_host_bad_placement(
self, mock_log, mock_pc_remove_host, mock_agg_obj_delete_host): self, mock_log, mock_pc_remove_host, mock_agg_obj_delete_host):
hostname = 'fake-host' hostname = 'fake-host'
@ -637,7 +636,7 @@ class ComputeAggregateAPITestCase(test.TestCase):
@mock.patch('nova.objects.Aggregate.delete_host') @mock.patch('nova.objects.Aggregate.delete_host')
@mock.patch('nova.scheduler.client.report.SchedulerReportClient.' @mock.patch('nova.scheduler.client.report.SchedulerReportClient.'
'aggregate_remove_host') 'aggregate_remove_host')
@mock.patch.object(compute_api.LOG, 'warning') @mock.patch.object(compute.LOG, 'warning')
def test_aggregate_remove_host_placement_missing_provider( def test_aggregate_remove_host_placement_missing_provider(
self, mock_log, mock_pc_remove_host, mock_agg_obj_delete_host): self, mock_log, mock_pc_remove_host, mock_agg_obj_delete_host):
hostname = 'fake-host' hostname = 'fake-host'

View File

@ -19,7 +19,7 @@ import mock
from oslo_db.sqlalchemy import enginefacade from oslo_db.sqlalchemy import enginefacade
from six.moves import range from six.moves import range
from nova import compute from nova.compute import api as compute
import nova.conf import nova.conf
from nova import context from nova import context
from nova.db import api as db from nova.db import api as db

View File

@ -37,7 +37,7 @@ from oslo_vmware.objects import datastore as ds_obj
from oslo_vmware import vim_util as vutil from oslo_vmware import vim_util as vutil
from nova.api.metadata import base as instance_metadata from nova.api.metadata import base as instance_metadata
from nova import compute from nova.compute import api as compute
from nova.compute import power_state from nova.compute import power_state
from nova.compute import task_states from nova.compute import task_states
import nova.conf import nova.conf

View File

@ -40,7 +40,7 @@ from oslo_utils import versionutils
import six import six
from nova import block_device from nova import block_device
from nova import compute from nova.compute import api as compute
from nova.compute import power_state from nova.compute import power_state
from nova.compute import task_states from nova.compute import task_states
from nova.compute import vm_states from nova.compute import vm_states