From 52e8a5ad71ed97904778488a019349fa919e4c02 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Thu, 5 Jun 2025 12:07:30 +0100 Subject: [PATCH] api: Remove unnecessary action method prefix None of the other controllers do this. Don't do it here either. This is mostly a bulk rename, with the exception of the combination of the '_action_resize' and '_resize' methods, which were unnecessarily separated, and the move of the 'delete' method to be next to the '_delete' inner method. Change-Id: I87381c6721e7a040c82f8124523116a1d4e2c684 Signed-off-by: Stephen Finucane --- nova/api/openstack/compute/servers.py | 94 +++++---- .../api/openstack/compute/test_access_ips.py | 2 +- .../openstack/compute/test_server_actions.py | 181 +++++++++--------- .../compute/test_server_start_stop.py | 20 +- .../api/openstack/compute/test_servers.py | 145 +++++++------- nova/tests/unit/policies/test_servers.py | 58 +++--- 6 files changed, 243 insertions(+), 257 deletions(-) diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py index 5e5e2205f0..281bb9f8fe 100644 --- a/nova/api/openstack/compute/servers.py +++ b/nova/api/openstack/compute/servers.py @@ -918,6 +918,24 @@ class ServersController(wsgi.Controller): return self._add_location(robj) + @wsgi.response(204) + @wsgi.expected_errors((404, 409)) + @validation.response_body_schema(schema.delete_response) + def delete(self, req, id): + """Destroys a server.""" + try: + self._delete(req.environ['nova.context'], req, id) + except exception.InstanceNotFound: + msg = _("Instance could not be found") + raise exc.HTTPNotFound(explanation=msg) + except ( + exception.InstanceIsLocked, exception.AllocationDeleteFailed + ) as e: + raise exc.HTTPConflict(explanation=e.format_message()) + except exception.InstanceInvalidState as state_error: + common.raise_http_conflict_for_instance_invalid_state( + state_error, 'delete', id) + def _delete(self, context, req, instance_uuid): instance = self._get_server(context, req, instance_uuid) context.can(server_policies.SERVERS % 'delete', @@ -1024,7 +1042,7 @@ class ServersController(wsgi.Controller): @wsgi.action('confirmResize') @validation.schema(schema.confirm_resize) @validation.response_body_schema(schema.confirm_resize_response) - def _action_confirm_resize(self, req, id, body): + def _confirm_resize(self, req, id, body): context = req.environ['nova.context'] instance = self._get_server(context, req, id) context.can(server_policies.SERVERS % 'confirm_resize', @@ -1048,7 +1066,7 @@ class ServersController(wsgi.Controller): @wsgi.action('revertResize') @validation.schema(schema.revert_resize) @validation.response_body_schema(schema.revert_resize_response) - def _action_revert_resize(self, req, id, body): + def _revert_resize(self, req, id, body): context = req.environ['nova.context'] instance = self._get_server(context, req, id) context.can(server_policies.SERVERS % 'revert_resize', @@ -1072,8 +1090,7 @@ class ServersController(wsgi.Controller): @wsgi.action('reboot') @validation.schema(schema.reboot) @validation.response_body_schema(schema.reboot_response) - def _action_reboot(self, req, id, body): - + def _reboot(self, req, id, body): reboot_type = body['reboot']['type'].upper() context = req.environ['nova.context'] instance = self._get_server(context, req, id) @@ -1088,10 +1105,24 @@ class ServersController(wsgi.Controller): common.raise_http_conflict_for_instance_invalid_state(state_error, 'reboot', id) - def _resize(self, req, instance_id, flavor_id, auto_disk_config=None): - """Begin the resize process with given instance/flavor.""" + @wsgi.response(202) + @wsgi.expected_errors((400, 401, 403, 404, 409)) + @wsgi.action('resize') + @validation.schema(schema.resize) + @validation.response_body_schema(schema.resize_response) + def _resize(self, req, id, body): + """Resizes a given instance to the flavor size requested.""" + resize_dict = body['resize'] + flavor_id = str(resize_dict["flavorRef"]) + + auto_disk_config = None + auto_disk_config_raw = resize_dict.get(helpers.API_DISK_CONFIG) + if auto_disk_config_raw is not None: + auto_disk_config = helpers.disk_config_from_api( + auto_disk_config_raw) + context = req.environ["nova.context"] - instance = self._get_server(context, req, instance_id, + instance = self._get_server(context, req, id, columns_to_join=['services', 'resources', 'pci_requests', 'pci_devices', @@ -1115,8 +1146,8 @@ class ServersController(wsgi.Controller): ) as e: raise exc.HTTPConflict(explanation=e.format_message()) except exception.InstanceInvalidState as state_error: - common.raise_http_conflict_for_instance_invalid_state(state_error, - 'resize', instance_id) + common.raise_http_conflict_for_instance_invalid_state( + state_error, 'resize', id) except exception.ImageNotAuthorized: msg = _("You are not authorized to access the image " "the instance was started with.") @@ -1143,23 +1174,6 @@ class ServersController(wsgi.Controller): exception.ForbiddenWithShare) as e: raise exc.HTTPConflict(explanation=e.format_message()) - @wsgi.response(204) - @wsgi.expected_errors((404, 409)) - @validation.response_body_schema(schema.delete_response) - def delete(self, req, id): - """Destroys a server.""" - try: - self._delete(req.environ['nova.context'], req, id) - except exception.InstanceNotFound: - msg = _("Instance could not be found") - raise exc.HTTPNotFound(explanation=msg) - except (exception.InstanceIsLocked, - exception.AllocationDeleteFailed) as e: - raise exc.HTTPConflict(explanation=e.format_message()) - except exception.InstanceInvalidState as state_error: - common.raise_http_conflict_for_instance_invalid_state(state_error, - 'delete', id) - def _image_from_req_data(self, server_dict, create_kwargs): """Get image data from the request or raise appropriate exceptions. @@ -1181,21 +1195,6 @@ class ServersController(wsgi.Controller): flavor_ref = data['server']['flavorRef'] return common.get_id_from_href(flavor_ref) - @wsgi.response(202) - @wsgi.expected_errors((400, 401, 403, 404, 409)) - @wsgi.action('resize') - @validation.schema(schema.resize) - @validation.response_body_schema(schema.resize_response) - def _action_resize(self, req, id, body): - """Resizes a given instance to the flavor size requested.""" - resize_dict = body['resize'] - flavor_ref = str(resize_dict["flavorRef"]) - - kwargs = {} - helpers.translate_attributes(helpers.RESIZE, resize_dict, kwargs) - - self._resize(req, id, flavor_ref, **kwargs) - @wsgi.response(202) @wsgi.expected_errors((400, 403, 404, 409)) @wsgi.action('rebuild') @@ -1221,7 +1220,7 @@ class ServersController(wsgi.Controller): @validation.response_body_schema(schema.rebuild_response_v296, '2.96', '2.97') # noqa: E501 @validation.response_body_schema(schema.rebuild_response_v298, '2.98', '2.99') # noqa: E501 @validation.response_body_schema(schema.rebuild_response_v2100, '2.100') - def _action_rebuild(self, req, id, body): + def _rebuild(self, req, id, body): """Rebuild an instance with the given attributes.""" rebuild_dict = body['rebuild'] @@ -1387,10 +1386,9 @@ class ServersController(wsgi.Controller): @wsgi.action('createImage') @validation.schema(schema.create_image, '2.0', '2.0') @validation.schema(schema.create_image, '2.1') - @validation.response_body_schema( - schema.create_image_response, '2.0', '2.44') + @validation.response_body_schema(schema.create_image_response, '2.0', '2.44') # noqa: E501 @validation.response_body_schema(schema.create_image_response_v245, '2.45') - def _action_create_image(self, req, id, body): + def _create_image(self, req, id, body): """Snapshot a server instance.""" context = req.environ['nova.context'] instance = self._get_server(context, req, id) @@ -1499,7 +1497,7 @@ class ServersController(wsgi.Controller): @wsgi.action('os-start') @validation.schema(schema.start_server) @validation.response_body_schema(schema.start_server_response) - def _start_server(self, req, id, body): + def _start(self, req, id, body): """Start an instance.""" context = req.environ['nova.context'] instance = self._get_instance(context, id) @@ -1519,7 +1517,7 @@ class ServersController(wsgi.Controller): @wsgi.action('os-stop') @validation.schema(schema.stop_server) @validation.response_body_schema(schema.stop_server_response) - def _stop_server(self, req, id, body): + def _stop(self, req, id, body): """Stop an instance.""" context = req.environ['nova.context'] instance = self._get_instance(context, id) @@ -1541,7 +1539,7 @@ class ServersController(wsgi.Controller): @wsgi.action('trigger_crash_dump') @validation.schema(schema.trigger_crash_dump) @validation.response_body_schema(schema.trigger_crash_dump_response) - def _action_trigger_crash_dump(self, req, id, body): + def _trigger_crash_dump(self, req, id, body): """Trigger crash dump in an instance""" context = req.environ['nova.context'] instance = self._get_instance(context, id) diff --git a/nova/tests/unit/api/openstack/compute/test_access_ips.py b/nova/tests/unit/api/openstack/compute/test_access_ips.py index 57fc142828..c878401186 100644 --- a/nova/tests/unit/api/openstack/compute/test_access_ips.py +++ b/nova/tests/unit/api/openstack/compute/test_access_ips.py @@ -88,7 +88,7 @@ class AccessIPsAPIValidationTestV21(test.TestCase): } body['rebuild'].update(params) req = fakes.HTTPRequest.blank('') - self.controller._action_rebuild(req, fakes.FAKE_UUID, body=body) + self.controller._rebuild(req, fakes.FAKE_UUID, body=body) def test_create_server_with_access_ipv4(self): params = {v4_key: '192.168.0.10'} diff --git a/nova/tests/unit/api/openstack/compute/test_server_actions.py b/nova/tests/unit/api/openstack/compute/test_server_actions.py index 9cc368e327..03d0656b37 100644 --- a/nova/tests/unit/api/openstack/compute/test_server_actions.py +++ b/nova/tests/unit/api/openstack/compute/test_server_actions.py @@ -163,29 +163,28 @@ class ServerActionsControllerTestV21(test.TestCase): *args, **kwargs) def test_actions_with_locked_instance(self): - actions = ['_action_resize', '_action_confirm_resize', - '_action_revert_resize', '_action_reboot', - '_action_rebuild'] + actions = ['_resize', '_confirm_resize', + '_revert_resize', '_reboot', + '_rebuild'] - method_translations = {'_action_resize': 'resize', - '_action_confirm_resize': 'confirm_resize', - '_action_revert_resize': 'revert_resize', - '_action_reboot': 'reboot', - '_action_rebuild': 'rebuild'} + method_translations = {'_resize': 'resize', + '_confirm_resize': 'confirm_resize', + '_revert_resize': 'revert_resize', + '_reboot': 'reboot', + '_rebuild': 'rebuild'} - body_map = {'_action_resize': {'resize': {'flavorRef': '2'}}, - '_action_reboot': {'reboot': {'type': 'HARD'}}, - '_action_rebuild': {'rebuild': { + body_map = {'_resize': {'resize': {'flavorRef': '2'}}, + '_reboot': {'reboot': {'type': 'HARD'}}, + '_rebuild': {'rebuild': { 'imageRef': self.image_uuid, 'adminPass': 'TNc53Dr8s7vw'}}, - '_action_revert_resize': {'revertResize': None}, - '_action_confirm_resize': {'confirmResize': None}} + '_revert_resize': {'revertResize': None}, + '_confirm_resize': {'confirmResize': None}} - args_map = {'_action_resize': (('2'), {'auto_disk_config': None}), - '_action_confirm_resize': ((), {}), - '_action_reboot': (('HARD',), {}), - '_action_rebuild': ((self.image_uuid, - 'TNc53Dr8s7vw'), {})} + args_map = {'_resize': (('2'), {'auto_disk_config': None}), + '_confirm_resize': ((), {}), + '_reboot': (('HARD',), {}), + '_rebuild': ((self.image_uuid, 'TNc53Dr8s7vw'), {})} for action in actions: method = method_translations.get(action) @@ -195,28 +194,28 @@ class ServerActionsControllerTestV21(test.TestCase): def test_reboot_hard(self): body = dict(reboot=dict(type="HARD")) - self.controller._action_reboot(self.req, FAKE_UUID, body=body) + self.controller._reboot(self.req, FAKE_UUID, body=body) def test_reboot_soft(self): body = dict(reboot=dict(type="SOFT")) - self.controller._action_reboot(self.req, FAKE_UUID, body=body) + self.controller._reboot(self.req, FAKE_UUID, body=body) def test_reboot_incorrect_type(self): body = dict(reboot=dict(type="NOT_A_TYPE")) self.assertRaises(self.validation_error, - self.controller._action_reboot, + self.controller._reboot, self.req, FAKE_UUID, body=body) def test_reboot_missing_type(self): body = dict(reboot=dict()) self.assertRaises(self.validation_error, - self.controller._action_reboot, + self.controller._reboot, self.req, FAKE_UUID, body=body) def test_reboot_none(self): body = dict(reboot=dict(type=None)) self.assertRaises(self.validation_error, - self.controller._action_reboot, + self.controller._reboot, self.req, FAKE_UUID, body=body) def test_reboot_not_found(self): @@ -225,7 +224,7 @@ class ServerActionsControllerTestV21(test.TestCase): side_effect=exception.InstanceNotFound( instance_id=uuids.fake)): self.assertRaises(webob.exc.HTTPNotFound, - self.controller._action_reboot, + self.controller._reboot, self.req, uuids.fake, body=body) def test_reboot_raises_conflict_on_invalid_state(self): @@ -239,7 +238,7 @@ class ServerActionsControllerTestV21(test.TestCase): self.stub_out('nova.compute.api.API.reboot', fake_reboot) self.assertRaises(webob.exc.HTTPConflict, - self.controller._action_reboot, + self.controller._reboot, self.req, FAKE_UUID, body=body) def test_reboot_soft_with_soft_in_progress_raises_conflict(self): @@ -249,7 +248,7 @@ class ServerActionsControllerTestV21(test.TestCase): vm_state=vm_states.ACTIVE, task_state=task_states.REBOOTING)) self.assertRaises(webob.exc.HTTPConflict, - self.controller._action_reboot, + self.controller._reboot, self.req, FAKE_UUID, body=body) def test_reboot_hard_with_soft_in_progress_does_not_raise(self): @@ -258,7 +257,7 @@ class ServerActionsControllerTestV21(test.TestCase): fakes.fake_compute_get(project_id=fakes.FAKE_PROJECT_ID, vm_state=vm_states.ACTIVE, task_state=task_states.REBOOTING)) - self.controller._action_reboot(self.req, FAKE_UUID, body=body) + self.controller._reboot(self.req, FAKE_UUID, body=body) def test_reboot_hard_with_hard_in_progress(self): body = dict(reboot=dict(type="HARD")) @@ -267,7 +266,7 @@ class ServerActionsControllerTestV21(test.TestCase): project_id=fakes.FAKE_PROJECT_ID, vm_state=vm_states.ACTIVE, task_state=task_states.REBOOTING_HARD)) - self.controller._action_reboot(self.req, FAKE_UUID, body=body) + self.controller._reboot(self.req, FAKE_UUID, body=body) def test_reboot_soft_with_hard_in_progress_raises_conflict(self): body = dict(reboot=dict(type="SOFT")) @@ -277,7 +276,7 @@ class ServerActionsControllerTestV21(test.TestCase): vm_state=vm_states.ACTIVE, task_state=task_states.REBOOTING_HARD)) self.assertRaises(webob.exc.HTTPConflict, - self.controller._action_reboot, + self.controller._reboot, self.req, FAKE_UUID, body=body) def _test_rebuild_preserve_ephemeral(self, value=None): @@ -297,7 +296,7 @@ class ServerActionsControllerTestV21(test.TestCase): body['rebuild']['preserve_ephemeral'] = value with mock.patch.object(compute_api.API, 'rebuild') as mock_rebuild: - self.controller._action_rebuild(self.req, FAKE_UUID, body=body) + self.controller._rebuild(self.req, FAKE_UUID, body=body) if value is not None: mock_rebuild.assert_called_once_with(self.context, mock.ANY, @@ -329,7 +328,7 @@ class ServerActionsControllerTestV21(test.TestCase): }, } - robj = self.controller._action_rebuild(self.req, FAKE_UUID, body=body) + robj = self.controller._rebuild(self.req, FAKE_UUID, body=body) body = robj.obj self.assertEqual(body['server']['image']['id'], uuids.image_ref) @@ -355,7 +354,7 @@ class ServerActionsControllerTestV21(test.TestCase): }, } - self.controller._action_rebuild(self.req, FAKE_UUID, body=body) + self.controller._rebuild(self.req, FAKE_UUID, body=body) self.assertEqual(info['image_href_in_call'], self.image_uuid) def test_rebuild_instance_with_image_href_uses_uuid(self): @@ -367,7 +366,7 @@ class ServerActionsControllerTestV21(test.TestCase): } self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_accepted_minimum_pass_disabled(self): @@ -388,7 +387,7 @@ class ServerActionsControllerTestV21(test.TestCase): }, } - robj = self.controller._action_rebuild(self.req, FAKE_UUID, body=body) + robj = self.controller._rebuild(self.req, FAKE_UUID, body=body) body = robj.obj self.assertEqual(body['server']['image']['id'], uuids.image_ref) @@ -406,7 +405,7 @@ class ServerActionsControllerTestV21(test.TestCase): mock_rebuild.side_effect = exc self.assertRaises( webob.exc.HTTPConflict, - self.controller._action_rebuild, + self.controller._rebuild, self.req, uuids.instance, body={'rebuild': {'imageRef': uuids.image}}) @@ -422,7 +421,7 @@ class ServerActionsControllerTestV21(test.TestCase): self, exc, mock_rebuild): mock_rebuild.side_effect = exc self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, + self.controller._rebuild, self.req, uuids.instance, body={'rebuild': {'imageRef': uuids.image}}) @@ -437,7 +436,7 @@ class ServerActionsControllerTestV21(test.TestCase): self.stub_out('nova.compute.api.API.rebuild', fake_rebuild) self.assertRaises(webob.exc.HTTPConflict, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_accepted_with_metadata(self): @@ -456,8 +455,7 @@ class ServerActionsControllerTestV21(test.TestCase): }, } - body = self.controller._action_rebuild(self.req, FAKE_UUID, - body=body).obj + body = self.controller._rebuild(self.req, FAKE_UUID, body=body).obj self.assertEqual(body['server']['metadata'], metadata) @@ -470,7 +468,7 @@ class ServerActionsControllerTestV21(test.TestCase): } self.assertRaises(self.validation_error, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_with_too_large_metadata(self): @@ -484,7 +482,7 @@ class ServerActionsControllerTestV21(test.TestCase): } self.assertRaises(self.request_too_large_error, - self.controller._action_rebuild, self.req, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_bad_entity(self): @@ -495,7 +493,7 @@ class ServerActionsControllerTestV21(test.TestCase): } self.assertRaises(self.validation_error, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_admin_pass(self): @@ -512,8 +510,7 @@ class ServerActionsControllerTestV21(test.TestCase): }, } - body = self.controller._action_rebuild(self.req, FAKE_UUID, - body=body).obj + body = self.controller._rebuild(self.req, FAKE_UUID, body=body).obj self.assertEqual(body['server']['image']['id'], uuids.image_ref) self.assertEqual(body['server']['adminPass'], 'asdf') @@ -536,8 +533,7 @@ class ServerActionsControllerTestV21(test.TestCase): }, } - body = self.controller._action_rebuild(self.req, FAKE_UUID, - body=body).obj + body = self.controller._rebuild(self.req, FAKE_UUID, body=body).obj self.assertEqual(body['server']['image']['id'], FAKE_UUID) self.assertNotIn('adminPass', body['server']) @@ -552,7 +548,7 @@ class ServerActionsControllerTestV21(test.TestCase): side_effect=exception.InstanceNotFound( instance_id=FAKE_UUID)): self.assertRaises(webob.exc.HTTPNotFound, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_with_bad_image(self): @@ -562,7 +558,7 @@ class ServerActionsControllerTestV21(test.TestCase): }, } self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_accessIP(self): @@ -592,7 +588,7 @@ class ServerActionsControllerTestV21(test.TestCase): self.stub_out('nova.compute.api.API.get', wrap_get) self.stub_out('nova.objects.Instance.save', fake_save) - self.controller._action_rebuild(self.req, FAKE_UUID, body=body) + self.controller._rebuild(self.req, FAKE_UUID, body=body) self.assertEqual(self._image_href, data['changes']['image_ref']) self.assertEqual("", data['changes']['kernel_id']) @@ -637,7 +633,7 @@ class ServerActionsControllerTestV21(test.TestCase): }, } self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_proper_kernel_ram(self): @@ -690,7 +686,7 @@ class ServerActionsControllerTestV21(test.TestCase): "imageRef": "155d900f-4e14-4e4c-a73d-069cbf4541e6", }, } - self.controller._action_rebuild(self.req, FAKE_UUID, body=body).obj + self.controller._rebuild(self.req, FAKE_UUID, body=body).obj self.assertEqual(instance_meta['kernel_id'], uuids.kernel_image_id) self.assertEqual(instance_meta['ramdisk_id'], uuids.ramdisk_image_id) @@ -706,7 +702,7 @@ class ServerActionsControllerTestV21(test.TestCase): image='dummy') self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) @mock.patch.object(compute_api.API, 'rebuild') @@ -720,7 +716,7 @@ class ServerActionsControllerTestV21(test.TestCase): mock_rebuild.side_effect = exception.InvalidArchitectureName('arm64') self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) @mock.patch.object(compute_api.API, 'rebuild') @@ -735,7 +731,7 @@ class ServerActionsControllerTestV21(test.TestCase): mock_rebuild.side_effect = exception.InvalidVolume('error') self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_resize_server(self): @@ -749,7 +745,7 @@ class ServerActionsControllerTestV21(test.TestCase): self.stub_out('nova.compute.api.API.resize', resize_mock) - self.controller._action_resize(self.req, FAKE_UUID, body=body) + self.controller._resize(self.req, FAKE_UUID, body=body) self.assertTrue(self.resize_called) @@ -757,28 +753,28 @@ class ServerActionsControllerTestV21(test.TestCase): body = dict(resize=dict()) self.assertRaises(self.validation_error, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) def test_resize_server_no_flavor_ref(self): body = dict(resize=dict(flavorRef=None)) self.assertRaises(self.validation_error, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) def test_resize_server_with_extra_arg(self): body = dict(resize=dict(favorRef="http://localhost/3", extra_arg="extra_arg")) self.assertRaises(self.validation_error, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) def test_resize_server_invalid_flavor_ref(self): body = dict(resize=dict(flavorRef=1.2)) self.assertRaises(self.validation_error, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) def test_resize_with_server_not_found(self): @@ -787,7 +783,7 @@ class ServerActionsControllerTestV21(test.TestCase): side_effect=exception.InstanceNotFound( instance_id=FAKE_UUID)): self.assertRaises(webob.exc.HTTPNotFound, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) def test_resize_with_image_exceptions(self): @@ -817,7 +813,7 @@ class ServerActionsControllerTestV21(test.TestCase): for call_no in range(len(exceptions)): next_exception = next(expected) actual = self.assertRaises(next_exception, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) if (isinstance(exceptions[call_no][0], exception.NoValidHost)): @@ -835,7 +831,7 @@ class ServerActionsControllerTestV21(test.TestCase): def test_resize_raises_cannot_resize_disk(self, mock_resize): body = dict(resize=dict(flavorRef="http://localhost/3")) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) @mock.patch('nova.compute.api.API.resize', @@ -844,7 +840,7 @@ class ServerActionsControllerTestV21(test.TestCase): def test_resize_raises_flavor_not_found(self, mock_resize): body = dict(resize=dict(flavorRef="http://localhost/3")) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) def test_resize_with_too_many_instances(self): @@ -856,7 +852,7 @@ class ServerActionsControllerTestV21(test.TestCase): self.stub_out('nova.compute.api.API.resize', fake_resize) self.assertRaises(webob.exc.HTTPForbidden, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) def test_resize_raises_conflict_on_invalid_state(self): @@ -870,7 +866,7 @@ class ServerActionsControllerTestV21(test.TestCase): self.stub_out('nova.compute.api.API.resize', fake_resize) self.assertRaises(webob.exc.HTTPConflict, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) @mock.patch.object(compute_api.API, 'resize') @@ -881,7 +877,7 @@ class ServerActionsControllerTestV21(test.TestCase): body = dict(resize=dict(flavorRef="http://localhost/3")) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) @mock.patch('nova.compute.api.API.resize', @@ -891,7 +887,7 @@ class ServerActionsControllerTestV21(test.TestCase): # Tests that PciRequestAliasNotDefined is translated to a 400 error. body = dict(resize=dict(flavorRef="http://localhost/3")) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) @mock.patch('nova.compute.api.API.resize', @@ -899,7 +895,7 @@ class ServerActionsControllerTestV21(test.TestCase): def test_resize_raises_badrequest_for_accelerator(self, mock_resize): body = dict(resize=dict(flavorRef="http://localhost/3")) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) @mock.patch('nova.compute.api.API.resize', @@ -908,7 +904,7 @@ class ServerActionsControllerTestV21(test.TestCase): def test_resize_raises_badrequest_for_vdpaInterface(self, mock_resize): body = dict(resize=dict(flavorRef="http://localhost/3")) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_resize, + self.controller._resize, self.req, FAKE_UUID, body=body) def test_confirm_resize_server(self): @@ -921,7 +917,7 @@ class ServerActionsControllerTestV21(test.TestCase): self.stub_out('nova.compute.api.API.confirm_resize', cr_mock) - self.controller._action_confirm_resize(self.req, FAKE_UUID, body=body) + self.controller._confirm_resize(self.req, FAKE_UUID, body=body) self.assertTrue(self.confirm_resize_called) @@ -936,7 +932,7 @@ class ServerActionsControllerTestV21(test.TestCase): confirm_resize_mock) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_confirm_resize, + self.controller._confirm_resize, self.req, FAKE_UUID, body=body) def test_confirm_resize_raises_conflict_on_invalid_state(self): @@ -951,7 +947,7 @@ class ServerActionsControllerTestV21(test.TestCase): fake_confirm_resize) self.assertRaises(webob.exc.HTTPConflict, - self.controller._action_confirm_resize, + self.controller._confirm_resize, self.req, FAKE_UUID, body=body) def test_revert_resize_migration_not_found(self): @@ -965,7 +961,7 @@ class ServerActionsControllerTestV21(test.TestCase): revert_resize_mock) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_revert_resize, + self.controller._revert_resize, self.req, FAKE_UUID, body=body) def test_revert_resize_server_not_found(self): @@ -974,7 +970,7 @@ class ServerActionsControllerTestV21(test.TestCase): side_effect=exception.InstanceNotFound( instance_id='bad_server_id')): self.assertRaises(webob. exc.HTTPNotFound, - self.controller._action_revert_resize, + self.controller._revert_resize, self.req, "bad_server_id", body=body) def test_revert_resize_server(self): @@ -987,8 +983,7 @@ class ServerActionsControllerTestV21(test.TestCase): self.stub_out('nova.compute.api.API.revert_resize', revert_mock) - body = self.controller._action_revert_resize(self.req, FAKE_UUID, - body=body) + self.controller._revert_resize(self.req, FAKE_UUID, body=body) self.assertTrue(self.revert_resize_called) @@ -1004,7 +999,7 @@ class ServerActionsControllerTestV21(test.TestCase): fake_revert_resize) self.assertRaises(webob.exc.HTTPConflict, - self.controller._action_revert_resize, + self.controller._revert_resize, self.req, FAKE_UUID, body=body) def test_create_image(self): @@ -1014,8 +1009,8 @@ class ServerActionsControllerTestV21(test.TestCase): }, } - response = self.controller._action_create_image(self.req, FAKE_UUID, - body=body) + response = self.controller._create_image( + self.req, FAKE_UUID, body=body) if self.image_url: expected_location = self.image_url + uuids.snapshot_id @@ -1035,8 +1030,7 @@ class ServerActionsControllerTestV21(test.TestCase): }, } req = fakes.HTTPRequest.blank('', version='2.45') - response = self.controller._action_create_image(req, FAKE_UUID, - body=body) + response = self.controller._create_image(req, FAKE_UUID, body=body) self.assertIsInstance(response, dict) self.assertEqual(uuids.snapshot_id, response['image_id']) @@ -1049,7 +1043,7 @@ class ServerActionsControllerTestV21(test.TestCase): } self.assertRaises(self.validation_error, - self.controller._action_create_image, self.req, + self.controller._create_image, self.req, FAKE_UUID, body=body) def _do_test_create_volume_backed_image( @@ -1127,8 +1121,8 @@ class ServerActionsControllerTestV21(test.TestCase): if mock_vol_create_side_effect: mock_vol_create.side_effect = mock_vol_create_side_effect - response = self.controller._action_create_image(self.req, - FAKE_UUID, body=body) + response = self.controller._create_image( + self.req, FAKE_UUID, body=body) location = response.headers['Location'] image_id = location.replace(self.image_url or @@ -1235,9 +1229,8 @@ class ServerActionsControllerTestV21(test.TestCase): 'create_snapshot_force', return_value=snapshot), ) as (mock_get_limits, mock_vol_get, mock_vol_create): - - response = self.controller._action_create_image(self.req, - FAKE_UUID, body=body) + response = self.controller._create_image( + self.req, FAKE_UUID, body=body) location = response.headers['Location'] image_id = location.replace(self.image_base_url, '') image = image_service.show(None, image_id) @@ -1269,8 +1262,8 @@ class ServerActionsControllerTestV21(test.TestCase): }, } - response = self.controller._action_create_image(self.req, FAKE_UUID, - body=body) + response = self.controller._create_image( + self.req, FAKE_UUID, body=body) if self.image_url: expected_location = self.image_url + uuids.snapshot_id @@ -1291,7 +1284,7 @@ class ServerActionsControllerTestV21(test.TestCase): body['createImage']['metadata']['foo%i' % num] = "bar" self.assertRaises(webob.exc.HTTPForbidden, - self.controller._action_create_image, + self.controller._create_image, self.req, FAKE_UUID, body=body) def test_create_image_no_name(self): @@ -1300,7 +1293,7 @@ class ServerActionsControllerTestV21(test.TestCase): } self.assertRaises(self.validation_error, - self.controller._action_create_image, + self.controller._create_image, self.req, FAKE_UUID, body=body) def test_create_image_blank_name(self): @@ -1311,7 +1304,7 @@ class ServerActionsControllerTestV21(test.TestCase): } self.assertRaises(self.validation_error, - self.controller._action_create_image, + self.controller._create_image, self.req, FAKE_UUID, body=body) def test_create_image_bad_metadata(self): @@ -1323,7 +1316,7 @@ class ServerActionsControllerTestV21(test.TestCase): } self.assertRaises(self.validation_error, - self.controller._action_create_image, + self.controller._create_image, self.req, FAKE_UUID, body=body) def test_create_image_raises_conflict_on_invalid_state(self): @@ -1340,5 +1333,5 @@ class ServerActionsControllerTestV21(test.TestCase): } self.assertRaises(webob.exc.HTTPConflict, - self.controller._action_create_image, + self.controller._create_image, self.req, FAKE_UUID, body=body) diff --git a/nova/tests/unit/api/openstack/compute/test_server_start_stop.py b/nova/tests/unit/api/openstack/compute/test_server_start_stop.py index 3b38499372..a3fe8cf09d 100644 --- a/nova/tests/unit/api/openstack/compute/test_server_start_stop.py +++ b/nova/tests/unit/api/openstack/compute/test_server_start_stop.py @@ -43,7 +43,7 @@ class ServerStartStopTestV21(test.TestCase): @mock.patch.object(compute_api.API, 'start') def test_start(self, start_mock): body = {'os-start': None} - self.controller._start_server(self.req, uuids.instance, body=body) + self.controller._start(self.req, uuids.instance, body=body) start_mock.assert_called_once_with(mock.ANY, mock.ANY) @mock.patch.object(compute_api.API, 'start', @@ -52,7 +52,7 @@ class ServerStartStopTestV21(test.TestCase): def test_start_not_ready(self, start_mock): body = {'os-start': None} self.assertRaises(webob.exc.HTTPConflict, - self.controller._start_server, self.req, uuids.instance, body=body) + self.controller._start, self.req, uuids.instance, body=body) @mock.patch.object(compute_api.API, 'start', side_effect=exception.InstanceIsLocked( @@ -60,7 +60,7 @@ class ServerStartStopTestV21(test.TestCase): def test_start_locked_server(self, start_mock): body = {'os-start': None} self.assertRaises(webob.exc.HTTPConflict, - self.controller._start_server, self.req, uuids.instance, body=body) + self.controller._start, self.req, uuids.instance, body=body) @mock.patch.object(compute_api.API, 'start', side_effect=exception.InstanceIsLocked( @@ -68,13 +68,13 @@ class ServerStartStopTestV21(test.TestCase): def test_start_invalid_state(self, start_mock): body = {'os-start': None} ex = self.assertRaises(webob.exc.HTTPConflict, - self.controller._start_server, self.req, uuids.instance, body=body) + self.controller._start, self.req, uuids.instance, body=body) self.assertIn('is locked', str(ex)) @mock.patch.object(compute_api.API, 'stop') def test_stop(self, stop_mock): body = {'os-stop': None} - self.controller._stop_server(self.req, uuids.instance, body=body) + self.controller._stop(self.req, uuids.instance, body=body) stop_mock.assert_called_once_with(mock.ANY, mock.ANY) @mock.patch.object(compute_api.API, 'stop', @@ -83,7 +83,7 @@ class ServerStartStopTestV21(test.TestCase): def test_stop_not_ready(self, stop_mock): body = {'os-stop': None} self.assertRaises(webob.exc.HTTPConflict, - self.controller._stop_server, self.req, uuids.instance, body=body) + self.controller._stop, self.req, uuids.instance, body=body) @mock.patch.object(compute_api.API, 'stop', side_effect=exception.InstanceIsLocked( @@ -91,7 +91,7 @@ class ServerStartStopTestV21(test.TestCase): def test_stop_locked_server(self, stop_mock): body = {'os-stop': None} ex = self.assertRaises(webob.exc.HTTPConflict, - self.controller._stop_server, self.req, uuids.instance, body=body) + self.controller._stop, self.req, uuids.instance, body=body) self.assertIn('is locked', str(ex)) @mock.patch.object(compute_api.API, 'stop', @@ -100,7 +100,7 @@ class ServerStartStopTestV21(test.TestCase): def test_stop_invalid_state(self, stop_mock): body = {'os-stop': None} self.assertRaises(webob.exc.HTTPConflict, - self.controller._stop_server, self.req, uuids.instance, body=body) + self.controller._stop, self.req, uuids.instance, body=body) @mock.patch.object(db, 'instance_get_by_uuid', side_effect=exception.InstanceNotFound( @@ -108,7 +108,7 @@ class ServerStartStopTestV21(test.TestCase): def test_start_with_bogus_id(self, get_mock): body = {'os-start': None} self.assertRaises(webob.exc.HTTPNotFound, - self.controller._start_server, self.req, uuids.instance, body=body) + self.controller._start, self.req, uuids.instance, body=body) @mock.patch.object(db, 'instance_get_by_uuid', side_effect=exception.InstanceNotFound( @@ -116,4 +116,4 @@ class ServerStartStopTestV21(test.TestCase): def test_stop_with_bogus_id(self, get_mock): body = {'os-stop': None} self.assertRaises(webob.exc.HTTPNotFound, - self.controller._stop_server, self.req, uuids.instance, body=body) + self.controller._stop, self.req, uuids.instance, body=body) diff --git a/nova/tests/unit/api/openstack/compute/test_servers.py b/nova/tests/unit/api/openstack/compute/test_servers.py index 4400002b74..71459d1f29 100644 --- a/nova/tests/unit/api/openstack/compute/test_servers.py +++ b/nova/tests/unit/api/openstack/compute/test_servers.py @@ -2930,7 +2930,7 @@ class ServersControllerStartStopTest(ControllerTest): def test_start(self, mock_start): req = fakes.HTTPRequestV21.blank(self.path_action % FAKE_UUID) body = {'os-start': None} - self.controller._start_server(req, FAKE_UUID, body=body) + self.controller._start(req, FAKE_UUID, body=body) mock_start.assert_called_once_with(mock.ANY, mock.ANY) @mock.patch.object(compute_api.API, 'start') @@ -2941,7 +2941,7 @@ class ServersControllerStartStopTest(ControllerTest): req = fakes.HTTPRequestV21.blank(self.path_action % FAKE_UUID) body = {'os-start': None} self.assertRaises(webob.exc.HTTPConflict, - self.controller._start_server, req, FAKE_UUID, body=body) + self.controller._start, req, FAKE_UUID, body=body) @mock.patch.object( compute_api.API, 'start', fakes.fake_actions_to_locked_server) @@ -2949,7 +2949,7 @@ class ServersControllerStartStopTest(ControllerTest): req = fakes.HTTPRequestV21.blank(self.path_action % FAKE_UUID) body = {'os-start': None} self.assertRaises(webob.exc.HTTPConflict, - self.controller._start_server, req, FAKE_UUID, body=body) + self.controller._start, req, FAKE_UUID, body=body) @mock.patch.object(compute_api.API, 'start') def test_start_invalid(self, mock_start): @@ -2960,13 +2960,13 @@ class ServersControllerStartStopTest(ControllerTest): req = fakes.HTTPRequestV21.blank(self.path_action % FAKE_UUID) body = {'os-start': None} self.assertRaises(webob.exc.HTTPConflict, - self.controller._start_server, req, FAKE_UUID, body=body) + self.controller._start, req, FAKE_UUID, body=body) @mock.patch.object(compute_api.API, 'stop') def test_stop(self, mock_stop): req = fakes.HTTPRequestV21.blank(self.path_action % FAKE_UUID) body = {'os-stop': None} - self.controller._stop_server(req, FAKE_UUID, body=body) + self.controller._stop(req, FAKE_UUID, body=body) mock_stop.assert_called_once_with(mock.ANY, mock.ANY) @mock.patch.object(compute_api.API, 'stop') @@ -2977,7 +2977,7 @@ class ServersControllerStartStopTest(ControllerTest): req = fakes.HTTPRequestV21.blank(self.path_action % FAKE_UUID) body = {'os-stop': None} self.assertRaises(webob.exc.HTTPConflict, - self.controller._stop_server, req, FAKE_UUID, body=body) + self.controller._stop, req, FAKE_UUID, body=body) @mock.patch.object( compute_api.API, 'stop', fakes.fake_actions_to_locked_server) @@ -2985,7 +2985,7 @@ class ServersControllerStartStopTest(ControllerTest): req = fakes.HTTPRequestV21.blank(self.path_action % FAKE_UUID) body = {'os-stop': None} self.assertRaises(webob.exc.HTTPConflict, - self.controller._stop_server, req, FAKE_UUID, body=body) + self.controller._stop, req, FAKE_UUID, body=body) @mock.patch.object(compute_api.API, 'stop') def test_stop_invalid_state(self, mock_stop): @@ -2996,7 +2996,7 @@ class ServersControllerStartStopTest(ControllerTest): req = fakes.HTTPRequestV21.blank(self.path_action % FAKE_UUID) body = {'os-stop': None} self.assertRaises(webob.exc.HTTPConflict, - self.controller._stop_server, req, FAKE_UUID, body=body) + self.controller._stop, req, FAKE_UUID, body=body) @mock.patch('nova.db.main.api.instance_get_by_uuid') def test_start_with_bogus_id(self, mock_get): @@ -3005,7 +3005,7 @@ class ServersControllerStartStopTest(ControllerTest): req = fakes.HTTPRequestV21.blank(self.path_action % 'test_inst') body = {'os-start': None} self.assertRaises(webob.exc.HTTPNotFound, - self.controller._start_server, req, 'test_inst', body=body) + self.controller._start, req, 'test_inst', body=body) @mock.patch('nova.db.main.api.instance_get_by_uuid') def test_stop_with_bogus_id(self, mock_get): @@ -3014,7 +3014,7 @@ class ServersControllerStartStopTest(ControllerTest): req = fakes.HTTPRequestV21.blank(self.path_action % 'test_inst') body = {'os-stop': None} self.assertRaises(webob.exc.HTTPNotFound, - self.controller._stop_server, req, 'test_inst', body=body) + self.controller._stop, req, 'test_inst', body=body) class _ServersControllerRebuildTest(ControllerTest): @@ -3061,7 +3061,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): def test_rebuild_server_with_image_not_uuid(self): self.body['rebuild']['imageRef'] = 'not-uuid' self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) @@ -3071,27 +3071,27 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6') self.body['rebuild']['imageRef'] = image_href self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) def test_rebuild_server_with_image_as_empty_string(self): self.body['rebuild']['imageRef'] = '' self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) def test_rebuild_instance_name_with_spaces_in_the_middle(self): self.body['rebuild']['name'] = 'abc def' self.req.body = jsonutils.dump_as_bytes(self.body) - self.controller._action_rebuild(self.req, FAKE_UUID, body=self.body) + self.controller._rebuild(self.req, FAKE_UUID, body=self.body) def test_rebuild_instance_name_with_leading_trailing_spaces(self): self.body['rebuild']['name'] = ' abc def ' self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) def test_rebuild_instance_name_with_leading_trailing_spaces_compat_mode( @@ -3105,14 +3105,13 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): with mock.patch.object(compute_api.API, 'rebuild') as mock_rebuild: mock_rebuild.side_effect = fake_rebuild - self.controller._action_rebuild(self.req, FAKE_UUID, - body=self.body) + self.controller._rebuild(self.req, FAKE_UUID, body=self.body) def test_rebuild_instance_with_blank_metadata_key(self): self.body['rebuild']['metadata'][''] = 'world' self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) def test_rebuild_instance_with_metadata_key_too_long(self): @@ -3120,7 +3119,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) def test_rebuild_instance_with_metadata_value_too_long(self): @@ -3128,7 +3127,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, self.req, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) def test_rebuild_instance_with_metadata_value_not_string(self): @@ -3136,7 +3135,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, self.req, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) @mock.patch.object(nova_fixtures.GlanceFixture, 'show', @@ -3149,7 +3148,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): # make min_ram larger than our instance ram size self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) mock_show.assert_called_once_with( self.req.environ['nova.context'], self.image_uuid, @@ -3165,7 +3164,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): # make min_disk larger than our instance disk size self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, self.req, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) mock_show.assert_called_once_with( self.req.environ['nova.context'], self.image_uuid, @@ -3180,7 +3179,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): # make image size larger than our instance disk size self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) mock_show.assert_called_once_with( self.req.environ['nova.context'], self.image_uuid, @@ -3190,7 +3189,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): self.body['rebuild']['name'] = ' ' self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) @mock.patch.object(nova_fixtures.GlanceFixture, 'show', @@ -3201,7 +3200,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): def test_rebuild_instance_with_deleted_image(self, mock_show): self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) mock_show.assert_called_once_with( self.req.environ['nova.context'], self.image_uuid, @@ -3222,7 +3221,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): ): self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(webob.exc.HTTPForbidden, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) def test_rebuild_bad_personality(self): @@ -3241,7 +3240,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): } self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_personality(self): @@ -3259,8 +3258,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): }, } - body = self.controller._action_rebuild(self.req, FAKE_UUID, - body=body).obj + body = self.controller._rebuild(self.req, FAKE_UUID, body=body).obj self.assertNotIn('personality', body['server']) @@ -3277,8 +3275,7 @@ class ServersControllerRebuildTest(_ServersControllerRebuildTest): }, } - body = self.controller._action_rebuild(self.req, FAKE_UUID, - body=body).obj + body = self.controller._rebuild(self.req, FAKE_UUID, body=body).obj get_only_fields = copy.deepcopy(GET_ONLY_FIELDS) for field in get_only_fields: self.assertNotIn(field, body['server']) @@ -3303,7 +3300,7 @@ class ServersControllerRebuildTestV254(_ServersControllerRebuildTest): if set_key_name: self.body['rebuild']['key_name'] = key_name self.req.body = jsonutils.dump_as_bytes(self.body) - server = self.controller._action_rebuild( + server = self.controller._rebuild( self.req, FAKE_UUID, body=self.body).obj['server'] self.assertEqual(server['id'], FAKE_UUID) @@ -3325,7 +3322,7 @@ class ServersControllerRebuildTestV254(_ServersControllerRebuildTest): }, } excpt = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) self.assertIn('key_name', str(excpt)) @@ -3337,7 +3334,7 @@ class ServersControllerRebuildTestV254(_ServersControllerRebuildTest): }, } self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_user_has_no_key_pair(self): @@ -3351,7 +3348,7 @@ class ServersControllerRebuildTestV254(_ServersControllerRebuildTest): self.mock_get.side_effect = fake_get self.body['rebuild']['key_name'] = "a-key-name" self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) def test_rebuild_with_non_string_keypair_name(self): @@ -3362,7 +3359,7 @@ class ServersControllerRebuildTestV254(_ServersControllerRebuildTest): }, } self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_with_invalid_keypair_name(self): @@ -3373,7 +3370,7 @@ class ServersControllerRebuildTestV254(_ServersControllerRebuildTest): }, } self.assertRaises(webob.exc.HTTPBadRequest, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_with_empty_keypair_name(self): @@ -3384,7 +3381,7 @@ class ServersControllerRebuildTestV254(_ServersControllerRebuildTest): }, } self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) def test_rebuild_with_none_keypair_name(self): @@ -3397,7 +3394,7 @@ class ServersControllerRebuildTestV254(_ServersControllerRebuildTest): with mock.patch.object(objects.KeyPair, 'get_by_name') as key_get: self.body['rebuild']['key_name'] = key_name self.req.body = jsonutils.dump_as_bytes(self.body) - self.controller._action_rebuild( + self.controller._rebuild( self.req, FAKE_UUID, body=self.body) # NOTE: because the api will call _get_server twice. The server @@ -3413,7 +3410,7 @@ class ServersControllerRebuildTestV254(_ServersControllerRebuildTest): }, } self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) @@ -3439,7 +3436,7 @@ class ServersControllerRebuildTestV257(_ServersControllerRebuildTest): } } ex = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) self.assertIn('personality', str(ex)) @@ -3454,7 +3451,7 @@ class ServersControllerRebuildTestV257(_ServersControllerRebuildTest): self.req.api_version_request = \ api_version_request.APIVersionRequest('2.55') ex = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) self.assertIn('user_data', str(ex)) @@ -3467,7 +3464,7 @@ class ServersControllerRebuildTestV257(_ServersControllerRebuildTest): } } ex = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) self.assertIn('user_data', str(ex)) @@ -3480,7 +3477,7 @@ class ServersControllerRebuildTestV257(_ServersControllerRebuildTest): } } ex = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=body) self.assertIn('user_data', str(ex)) @@ -3512,7 +3509,7 @@ class ServersControllerRebuildTestV257(_ServersControllerRebuildTest): return instance_update_and_get_original( ctxt, instance_uuid, values, **kwargs) mock_update.side_effect = fake_instance_update_and_get_original - self.controller._action_rebuild(self.req, FAKE_UUID, body=body) + self.controller._rebuild(self.req, FAKE_UUID, body=body) self.assertEqual(2, mock_update.call_count) @@ -3533,8 +3530,8 @@ class ServersControllerRebuildTestV219(_ServersControllerRebuildTest): if set_desc: self.body['rebuild']['description'] = desc self.req.body = jsonutils.dump_as_bytes(self.body) - server = self.controller._action_rebuild(self.req, FAKE_UUID, - body=self.body).obj['server'] + server = self.controller._rebuild( + self.req, FAKE_UUID, body=self.body).obj['server'] self.assertEqual(server['id'], FAKE_UUID) self.assertEqual(server['description'], desc) @@ -3554,7 +3551,7 @@ class ServersControllerRebuildTestV219(_ServersControllerRebuildTest): self.body['rebuild']['description'] = 'x' * 256 self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) def test_rebuild_server_description_invalid(self): @@ -3562,7 +3559,7 @@ class ServersControllerRebuildTestV219(_ServersControllerRebuildTest): self.body['rebuild']['description'] = "123\0d456" self.req.body = jsonutils.dump_as_bytes(self.body) self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) @@ -3607,12 +3604,12 @@ class ServersControllerRebuildTestV263(ControllerTest): self.body['rebuild']['trusted_image_certificates'] = certs self.req.body = jsonutils.dump_as_bytes(self.body) - server = self.controller._action_rebuild( + server = self.controller._rebuild( self.req, FAKE_UUID, body=self.body).obj['server'] # TODO(stephenfin): This is a lie. We call '_get_server' immediately # after making the call to 'nova.compute.api.API().rebuild_server' in - # '_action_rebuild', which means all we're testing here is the value + # '_rebuild', which means all we're testing here is the value # returned by 'mock_get' above. Drop it in favour of testing the calls # to the API itself if certs: @@ -3658,7 +3655,7 @@ class ServersControllerRebuildTestV263(ControllerTest): self.body['rebuild']['trusted_image_certificates'] = [''] self.req.body = jsonutils.dump_as_bytes(self.body) ex = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) self.assertRegex( str(ex), @@ -3670,7 +3667,7 @@ class ServersControllerRebuildTestV263(ControllerTest): self.body['rebuild']['trusted_image_certificates'] = [] self.req.body = jsonutils.dump_as_bytes(self.body) ex = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) self.assertRegex( str(ex), @@ -3683,7 +3680,7 @@ class ServersControllerRebuildTestV263(ControllerTest): 'cert{}'.format(i) for i in range(51)] self.req.body = jsonutils.dump_as_bytes(self.body) ex = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) self.assertIn('is too long', str(ex)) @@ -3692,7 +3689,7 @@ class ServersControllerRebuildTestV263(ControllerTest): self.body['rebuild']['trusted_image_certificates'] = ['cert', 'cert'] self.req.body = jsonutils.dump_as_bytes(self.body) ex = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) self.assertIn('has non-unique elements', str(ex)) @@ -3701,7 +3698,7 @@ class ServersControllerRebuildTestV263(ControllerTest): self.body['rebuild']['trusted_image_certificates'] = [1, 2] self.req.body = jsonutils.dump_as_bytes(self.body) ex = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) self.assertIn('is not of type', str(ex)) @@ -3710,7 +3707,7 @@ class ServersControllerRebuildTestV263(ControllerTest): self.body['rebuild']['trusted_image_certificates'] = "not-an-array" self.req.body = jsonutils.dump_as_bytes(self.body) ex = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) self.assertIn('is not of type', str(ex)) @@ -3720,7 +3717,7 @@ class ServersControllerRebuildTestV263(ControllerTest): self.req.api_version_request = \ api_version_request.APIVersionRequest('2.62') ex = self.assertRaises(exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, self.req, FAKE_UUID, body=self.body) self.assertIn('Additional properties are not allowed', str(ex)) @@ -3762,7 +3759,7 @@ class ServersControllerRebuildTestV271(ControllerTest): self.mock_get.return_value = fakes.stub_instance_obj(ctx, vm_state=vm_states.ACTIVE, project_id=self.req_project_id, user_id=self.req_user_id) - server = self.controller._action_rebuild( + server = self.controller._rebuild( self.req, FAKE_UUID, body=self.body).obj['server'] return server @@ -3809,8 +3806,7 @@ class ServersControllerRebuildTestV275(ControllerTest): user_id=req.environ['nova.context'].user_id) self.mock_get.side_effect = fake_get - res_dict = self.controller._action_rebuild(req, FAKE_UUID, - body=body).obj + res_dict = self.controller._rebuild(req, FAKE_UUID, body=body).obj get_only_fields_Rebuild = copy.deepcopy(GET_ONLY_FIELDS) get_only_fields_Rebuild.remove('key_name') for field in get_only_fields_Rebuild: @@ -3848,8 +3844,7 @@ class ServersControllerRebuildTestV275(ControllerTest): project_id=req.environ['nova.context'].project_id, user_id=req.environ['nova.context'].user_id) - res_dict = self.controller._action_rebuild(req, FAKE_UUID, - body=body).obj + res_dict = self.controller._rebuild(req, FAKE_UUID, body=body).obj for field in GET_ONLY_FIELDS: if field == 'OS-EXT-SRV-ATTR:user_data': self.assertNotIn(field, res_dict['server']) @@ -3928,7 +3923,7 @@ class ServersControllerRebuildTestV290(ControllerTest): # There's nothing to check here from the return value since the # 'rebuild' API is a cast and we immediately fetch the instance from # the database after this cast...which returns a mocked Instance - server = self.controller._action_rebuild( + server = self.controller._rebuild( req, FAKE_UUID, body=body, ).obj['server'] @@ -3952,7 +3947,7 @@ class ServersControllerRebuildTestV290(ControllerTest): ex = self.assertRaises( exception.ValidationError, - self.controller._action_rebuild, + self.controller._rebuild, req, FAKE_UUID, body=body) self.assertIn('hostname', str(ex)) @@ -4291,8 +4286,8 @@ class ServersControllerTriggerCrashDumpTest(ControllerTest): @mock.patch.object(compute_api.API, 'trigger_crash_dump') def test_trigger_crash_dump(self, mock_trigger_crash_dump): ctxt = self.req.environ['nova.context'] - self.controller._action_trigger_crash_dump(self.req, FAKE_UUID, - body=self.body) + self.controller._trigger_crash_dump( + self.req, FAKE_UUID, body=self.body) mock_trigger_crash_dump.assert_called_with(ctxt, self.instance) @mock.patch.object(compute_api.API, 'trigger_crash_dump') @@ -4301,14 +4296,14 @@ class ServersControllerTriggerCrashDumpTest(ControllerTest): instance_id=FAKE_UUID) self.assertRaises(webob.exc.HTTPConflict, - self.controller._action_trigger_crash_dump, + self.controller._trigger_crash_dump, self.req, FAKE_UUID, body=self.body) @mock.patch.object(compute_api.API, 'trigger_crash_dump', fakes.fake_actions_to_locked_server) def test_trigger_crash_dump_locked_server(self): self.assertRaises(webob.exc.HTTPConflict, - self.controller._action_trigger_crash_dump, + self.controller._trigger_crash_dump, self.req, FAKE_UUID, body=self.body) @mock.patch.object(compute_api.API, 'trigger_crash_dump') @@ -4318,24 +4313,24 @@ class ServersControllerTriggerCrashDumpTest(ControllerTest): method='fake_method', state='fake_state') self.assertRaises(webob.exc.HTTPConflict, - self.controller._action_trigger_crash_dump, + self.controller._trigger_crash_dump, self.req, FAKE_UUID, body=self.body) def test_trigger_crash_dump_with_bogus_id(self): self.assertRaises(webob.exc.HTTPNotFound, - self.controller._action_trigger_crash_dump, + self.controller._trigger_crash_dump, self.req, 'test_inst', body=self.body) def test_trigger_crash_dump_schema_invalid_type(self): self.body['trigger_crash_dump'] = 'not null' self.assertRaises(exception.ValidationError, - self.controller._action_trigger_crash_dump, + self.controller._trigger_crash_dump, self.req, FAKE_UUID, body=self.body) def test_trigger_crash_dump_schema_extra_property(self): self.body['extra_property'] = 'extra' self.assertRaises(exception.ValidationError, - self.controller._action_trigger_crash_dump, + self.controller._trigger_crash_dump, self.req, FAKE_UUID, body=self.body) @@ -8584,7 +8579,7 @@ class ServersActionsJsonTestV239(test.NoDBTestCase): }, } self.assertRaises(webob.exc.HTTPNotFound, - self.controller._action_create_image, self.req, + self.controller._create_image, self.req, FAKE_UUID, body=body) # starting from version 2.39 no quota checks on Nova side are performed # for 'createImage' action after removing 'image-metadata' proxy API diff --git a/nova/tests/unit/policies/test_servers.py b/nova/tests/unit/policies/test_servers.py index 6f5c7a7547..4a23903dfb 100644 --- a/nova/tests/unit/policies/test_servers.py +++ b/nova/tests/unit/policies/test_servers.py @@ -419,7 +419,7 @@ class ServersPolicyTest(base.BasePolicyTest): rule_name = policies.SERVERS % 'show:flavor-extra-specs' authorize_res, unauthorize_res = self.common_policy_auth( self.project_reader_authorized_contexts, - rule_name, self.controller._action_rebuild, + rule_name, self.controller._rebuild, req, self.instance.uuid, body={'rebuild': {"imageRef": uuids.fake_id}}, fatal=False) @@ -629,7 +629,7 @@ class ServersPolicyTest(base.BasePolicyTest): self.common_policy_auth(self.project_action_authorized_contexts, rule_name, - self.controller._action_confirm_resize, + self.controller._confirm_resize, self.req, self.instance.uuid, body={'confirmResize': None}) @@ -639,7 +639,7 @@ class ServersPolicyTest(base.BasePolicyTest): self.common_policy_auth(self.project_action_authorized_contexts, rule_name, - self.controller._action_revert_resize, + self.controller._revert_resize, self.req, self.instance.uuid, body={'revertResize': None}) @@ -649,7 +649,7 @@ class ServersPolicyTest(base.BasePolicyTest): self.common_policy_auth(self.project_action_authorized_contexts, rule_name, - self.controller._action_reboot, + self.controller._reboot, self.req, self.instance.uuid, body={'reboot': {'type': 'soft'}}) @@ -658,7 +658,7 @@ class ServersPolicyTest(base.BasePolicyTest): rule_name = policies.SERVERS % 'resize' self.common_policy_auth(self.project_action_authorized_contexts, rule_name, - self.controller._action_resize, + self.controller._resize, self.req, self.instance.uuid, body={'resize': {'flavorRef': 'f1'}}) @@ -671,7 +671,7 @@ class ServersPolicyTest(base.BasePolicyTest): self.policy.set_rules({rule_name: "user_id:%(user_id)s"}, overwrite=False) exc = self.assertRaises( - exception.PolicyNotAuthorized, self.controller._action_resize, + exception.PolicyNotAuthorized, self.controller._resize, req, self.instance.uuid, body=body) self.assertEqual( "Policy doesn't allow %s to be performed." % rule_name, @@ -684,30 +684,30 @@ class ServersPolicyTest(base.BasePolicyTest): self.policy.set_rules({rule_name: "user_id:%(user_id)s"}, overwrite=False) body = {'resize': {'flavorRef': 'f1'}} - self.controller._action_resize(self.req, + self.controller._resize(self.req, self.instance.uuid, body=body) @mock.patch('nova.compute.api.API.start') - def test_start_server_policy(self, mock_start): + def test_start_policy(self, mock_start): rule_name = policies.SERVERS % 'start' self.common_policy_auth(self.project_action_authorized_contexts, rule_name, - self.controller._start_server, + self.controller._start, self.req, self.instance.uuid, body={'os-start': None}) @mock.patch('nova.compute.api.API.stop') - def test_stop_server_policy(self, mock_stop): + def test_stop_policy(self, mock_stop): rule_name = policies.SERVERS % 'stop' self.common_policy_auth(self.project_action_authorized_contexts, rule_name, - self.controller._stop_server, + self.controller._stop, self.req, self.instance.uuid, body={'os-stop': None}) - def test_stop_server_policy_failed_with_other_user(self): + def test_stop_policy_failed_with_other_user(self): # Change the user_id in request context. req = fakes.HTTPRequest.blank('') req.environ['nova.context'].user_id = 'other-user' @@ -716,20 +716,20 @@ class ServersPolicyTest(base.BasePolicyTest): self.policy.set_rules({rule_name: "user_id:%(user_id)s"}, overwrite=False) exc = self.assertRaises( - exception.PolicyNotAuthorized, self.controller._stop_server, + exception.PolicyNotAuthorized, self.controller._stop, req, self.instance.uuid, body=body) self.assertEqual( "Policy doesn't allow %s to be performed." % rule_name, exc.format_message()) @mock.patch('nova.compute.api.API.stop') - def test_stop_server_overridden_policy_pass_with_same_user( + def test_stop_overridden_policy_pass_with_same_user( self, mock_stop): rule_name = policies.SERVERS % 'stop' self.policy.set_rules({rule_name: "user_id:%(user_id)s"}, overwrite=False) body = {'os-stop': None} - self.controller._stop_server(self.req, + self.controller._stop(self.req, self.instance.uuid, body=body) @mock.patch('nova.compute.api.API.rebuild') @@ -737,7 +737,7 @@ class ServersPolicyTest(base.BasePolicyTest): rule_name = policies.SERVERS % 'rebuild' self.common_policy_auth(self.project_action_authorized_contexts, rule_name, - self.controller._action_rebuild, + self.controller._rebuild, self.req, self.instance.uuid, body={'rebuild': {"imageRef": uuids.fake_id}}) @@ -750,7 +750,7 @@ class ServersPolicyTest(base.BasePolicyTest): self.policy.set_rules({rule_name: "user_id:%(user_id)s"}, overwrite=False) exc = self.assertRaises( - exception.PolicyNotAuthorized, self.controller._action_rebuild, + exception.PolicyNotAuthorized, self.controller._rebuild, req, self.instance.uuid, body=body) self.assertEqual( "Policy doesn't allow %s to be performed." % rule_name, @@ -763,7 +763,7 @@ class ServersPolicyTest(base.BasePolicyTest): self.policy.set_rules({rule_name: "user_id:%(user_id)s"}, overwrite=False) body = {'rebuild': {"imageRef": uuids.fake_id}} - self.controller._action_rebuild(self.req, + self.controller._rebuild(self.req, self.instance.uuid, body=body) @mock.patch('nova.compute.api.API.rebuild') @@ -790,7 +790,7 @@ class ServersPolicyTest(base.BasePolicyTest): self.common_policy_auth(self.project_action_authorized_contexts, check_rule, - self.controller._action_rebuild, + self.controller._rebuild, req, self.instance.uuid, body=body) def test_rebuild_trusted_certs_policy_failed_with_other_user(self): @@ -810,7 +810,7 @@ class ServersPolicyTest(base.BasePolicyTest): rule_name: "user_id:%(user_id)s"}, overwrite=False) exc = self.assertRaises( - exception.PolicyNotAuthorized, self.controller._action_rebuild, + exception.PolicyNotAuthorized, self.controller._rebuild, req, self.instance.uuid, body=body) self.assertEqual( "Policy doesn't allow %s to be performed." % rule_name, @@ -831,7 +831,7 @@ class ServersPolicyTest(base.BasePolicyTest): self.policy.set_rules( {rule: "@", rule_name: "user_id:%(user_id)s"}, overwrite=False) - self.controller._action_rebuild(req, + self.controller._rebuild(req, self.instance.uuid, body=body) @mock.patch('nova.objects.BlockDeviceMappingList.get_by_instance_uuid') @@ -842,7 +842,7 @@ class ServersPolicyTest(base.BasePolicyTest): rule_name = policies.SERVERS % 'create_image' self.common_policy_auth(self.project_action_authorized_contexts, rule_name, - self.controller._action_create_image, + self.controller._create_image, self.req, self.instance.uuid, body={'createImage': {"name": 'test'}}) @@ -866,7 +866,7 @@ class ServersPolicyTest(base.BasePolicyTest): base.rule_if_system, rule, rule_name) self.common_policy_auth(self.project_action_authorized_contexts, check_rule, - self.controller._action_create_image, + self.controller._create_image, self.req, self.instance.uuid, body={'createImage': {"name": 'test'}}) @@ -876,7 +876,7 @@ class ServersPolicyTest(base.BasePolicyTest): req = fakes.HTTPRequest.blank('', version='2.17') self.common_policy_auth(self.project_action_authorized_contexts, rule_name, - self.controller._action_trigger_crash_dump, + self.controller._trigger_crash_dump, req, self.instance.uuid, body={'trigger_crash_dump': None}) @@ -890,7 +890,7 @@ class ServersPolicyTest(base.BasePolicyTest): overwrite=False) exc = self.assertRaises( exception.PolicyNotAuthorized, - self.controller._action_trigger_crash_dump, + self.controller._trigger_crash_dump, req, self.instance.uuid, body=body) self.assertEqual( "Policy doesn't allow %s to be performed." % rule_name, @@ -904,7 +904,7 @@ class ServersPolicyTest(base.BasePolicyTest): self.policy.set_rules({rule_name: "user_id:%(user_id)s"}, overwrite=False) body = {'trigger_crash_dump': None} - self.controller._action_trigger_crash_dump(req, + self.controller._trigger_crash_dump(req, self.instance.uuid, body=body) def test_server_detail_with_extended_attr_policy(self): @@ -967,7 +967,7 @@ class ServersPolicyTest(base.BasePolicyTest): rule_name = ea_policies.BASE_POLICY_NAME authorize_res, unauthorize_res = self.common_policy_auth( self.project_admin_authorized_contexts, - rule_name, self.controller._action_rebuild, + rule_name, self.controller._rebuild, req, self.instance.uuid, body={'rebuild': {"imageRef": uuids.fake_id}}, fatal=False) @@ -1074,7 +1074,7 @@ class ServersPolicyTest(base.BasePolicyTest): rule_name = policies.SERVERS % 'show:host_status' authorize_res, unauthorize_res = self.common_policy_auth( self.project_admin_authorized_contexts, - rule_name, self.controller._action_rebuild, + rule_name, self.controller._rebuild, req, self.instance.uuid, body={'rebuild': {"imageRef": uuids.fake_id}}, fatal=False) @@ -1193,7 +1193,7 @@ class ServersPolicyTest(base.BasePolicyTest): rule_name = policies.SERVERS % 'show:host_status:unknown-only' authorize_res, unauthorize_res = self.common_policy_auth( self.project_admin_authorized_contexts, - rule_name, self.controller._action_rebuild, + rule_name, self.controller._rebuild, req, self.instance.uuid, body={'rebuild': {"imageRef": uuids.fake_id}}, fatal=False)