diff --git a/nova/api/openstack/compute/hypervisors.py b/nova/api/openstack/compute/hypervisors.py index df6c206d0b0e..d8be93798a39 100644 --- a/nova/api/openstack/compute/hypervisors.py +++ b/nova/api/openstack/compute/hypervisors.py @@ -27,7 +27,6 @@ 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 import wsgi from nova.api import validation -from nova.cells import utils as cells_utils from nova import compute from nova import exception from nova.i18n import _ @@ -267,11 +266,6 @@ class HypervisorsController(wsgi.Controller): msg = _('Invalid uuid %s') % hypervisor_id raise webob.exc.HTTPBadRequest(explanation=msg) else: - # This API is supported for cells v1 and as such the id can be - # a cell v1 delimited string, so we have to parse it first. - if cells_utils.CELL_ITEM_SEP in str(hypervisor_id): - hypervisor_id = cells_utils.split_cell_and_item( - hypervisor_id)[1] try: utils.validate_integer(hypervisor_id, 'id') except exception.InvalidInput: diff --git a/nova/tests/functional/api_sample_tests/test_hypervisors.py b/nova/tests/functional/api_sample_tests/test_hypervisors.py index e330d6e6ed4f..64733d028b2d 100644 --- a/nova/tests/functional/api_sample_tests/test_hypervisors.py +++ b/nova/tests/functional/api_sample_tests/test_hypervisors.py @@ -15,8 +15,6 @@ import mock -from nova.cells import utils as cells_utils -from nova import objects from nova.tests.functional.api_sample_tests import api_sample_base from nova.virt import fake @@ -94,48 +92,6 @@ class HypervisorsSampleJsonTests(api_sample_base.ApiSampleTestBaseV21): self._verify_response('hypervisors-uptime-resp', subs, response, 200) -@mock.patch("nova.servicegroup.API.service_is_up", return_value=True) -class HypervisorsCellsSampleJsonTests(api_sample_base.ApiSampleTestBaseV21): - ADMIN_API = True - sample_dir = "os-hypervisors" - - def setUp(self): - self.flags(enable=True, cell_type='api', group='cells') - super(HypervisorsCellsSampleJsonTests, self).setUp() - - def test_hypervisor_uptime(self, mocks): - fake_hypervisor = objects.ComputeNode(id=1, host='fake-mini', - hypervisor_hostname='fake-mini') - - def fake_get_host_uptime(self, context, hyp): - return (" 08:32:11 up 93 days, 18:25, 12 users, load average:" - " 0.20, 0.12, 0.14") - - def fake_compute_node_get(self, context, hyp): - return fake_hypervisor - - def fake_service_get_by_compute_host(self, context, host): - return cells_utils.ServiceProxy( - objects.Service(id=1, host='fake-mini', disabled=False, - disabled_reason=None), - 'cell1') - - self.stub_out( - 'nova.compute.cells_api.HostAPI.compute_node_get', - fake_compute_node_get) - self.stub_out( - 'nova.compute.cells_api.HostAPI.service_get_by_compute_host', - fake_service_get_by_compute_host) - self.stub_out( - 'nova.compute.cells_api.HostAPI.get_host_uptime', - fake_get_host_uptime) - - hypervisor_id = fake_hypervisor.id - response = self._do_get('os-hypervisors/%s/uptime' % hypervisor_id) - subs = {'hypervisor_id': str(hypervisor_id)} - self._verify_response('hypervisors-uptime-resp', subs, response, 200) - - class HypervisorsSampleJson228Tests(HypervisorsSampleJsonTests): microversion = '2.28' scenarios = [('v2_28', {'api_major_version': 'v2.1'})] diff --git a/nova/tests/unit/api/openstack/compute/test_hypervisors.py b/nova/tests/unit/api/openstack/compute/test_hypervisors.py index c91a4c09887d..1c47f8c6afe3 100644 --- a/nova/tests/unit/api/openstack/compute/test_hypervisors.py +++ b/nova/tests/unit/api/openstack/compute/test_hypervisors.py @@ -24,7 +24,6 @@ from webob import exc from nova.api.openstack.compute import hypervisors \ as hypervisors_v21 -from nova.cells import utils as cells_utils from nova import exception from nova import objects from nova import test @@ -188,7 +187,7 @@ class HypervisorsTestV21(test.NoDBTestCase): # compute node primary key integer id or the uuid. expect_uuid_for_id = False - # copying the objects locally so the cells testcases can provide their own + # TODO(stephenfin): These should just be defined here TEST_HYPERS_OBJ = copy.deepcopy(TEST_HYPERS_OBJ) TEST_SERVICES = copy.deepcopy(TEST_SERVICES) TEST_SERVERS = copy.deepcopy(TEST_SERVERS) @@ -723,93 +722,6 @@ class HypervisorsTestV21(test.NoDBTestCase): self.controller.statistics, req) -_CELL_PATH = 'cell1' - - -class CellHypervisorsTestV21(HypervisorsTestV21): - TEST_HYPERS_OBJ = [cells_utils.ComputeNodeProxy(obj, _CELL_PATH) - for obj in TEST_HYPERS_OBJ] - TEST_SERVICES = [cells_utils.ServiceProxy(obj, _CELL_PATH) - for obj in TEST_SERVICES] - - TEST_SERVERS = [dict(server, - host=cells_utils.cell_with_item(_CELL_PATH, - server['host'])) - for server in TEST_SERVERS] - - DETAIL_HYPERS_DICTS = copy.deepcopy(HypervisorsTestV21.DETAIL_HYPERS_DICTS) - DETAIL_HYPERS_DICTS = [dict(hyp, id=cells_utils.cell_with_item(_CELL_PATH, - hyp['id']), - service=dict(hyp['service'], - id=cells_utils.cell_with_item( - _CELL_PATH, - hyp['service']['id']), - host=cells_utils.cell_with_item( - _CELL_PATH, - hyp['service']['host']))) - for hyp in DETAIL_HYPERS_DICTS] - - INDEX_HYPER_DICTS = copy.deepcopy(HypervisorsTestV21.INDEX_HYPER_DICTS) - INDEX_HYPER_DICTS = [dict(hyp, id=cells_utils.cell_with_item(_CELL_PATH, - hyp['id'])) - for hyp in INDEX_HYPER_DICTS] - - # __deepcopy__ is added for copying an object locally in - # _test_view_hypervisor_detail_cpuinfo_null - cells_utils.ComputeNodeProxy.__deepcopy__ = (lambda self, memo: - cells_utils.ComputeNodeProxy(copy.deepcopy(self._obj, memo), - self._cell_path)) - - @classmethod - def fake_compute_node_get_all(cls, context, limit=None, marker=None): - return cls.TEST_HYPERS_OBJ - - @classmethod - def fake_compute_node_search_by_hypervisor(cls, context, hypervisor_re): - return cls.TEST_HYPERS_OBJ - - @classmethod - def fake_compute_node_get(cls, context, compute_id): - for hyper in cls.TEST_HYPERS_OBJ: - if hyper.id == compute_id: - return hyper - raise exception.ComputeHostNotFound(host=compute_id) - - @classmethod - def fake_service_get_by_compute_host(cls, context, host): - for service in cls.TEST_SERVICES: - if service.host == host: - return service - - @classmethod - def fake_instance_get_all_by_host(cls, context, host): - results = [] - for inst in cls.TEST_SERVERS: - if inst['host'] == host: - results.append(inst) - return results - - def setUp(self): - - self.flags(enable=True, cell_type='api', group='cells') - - super(CellHypervisorsTestV21, self).setUp() - - host_api = self.controller.host_api - host_api.compute_node_get_all = mock.MagicMock( - side_effect=self.fake_compute_node_get_all) - host_api.service_get_by_compute_host = mock.MagicMock( - side_effect=self.fake_service_get_by_compute_host) - host_api.compute_node_search_by_hypervisor = mock.MagicMock( - side_effect=self.fake_compute_node_search_by_hypervisor) - host_api.compute_node_get = mock.MagicMock( - side_effect=self.fake_compute_node_get) - host_api.compute_node_statistics = mock.MagicMock( - side_effect=fake_compute_node_statistics) - host_api.instance_get_all_by_host = mock.MagicMock( - side_effect=self.fake_instance_get_all_by_host) - - class HypervisorsTestV228(HypervisorsTestV21): api_version = '2.28'