diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-07-26 21:39:34 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-07-26 21:39:34 +0000 |
| commit | 01d1e4937e175bb08de853719e0ffb9f9c56aa61 (patch) | |
| tree | 5a9943f0841d260d6e287bf8eb6b13bf16fe1225 | |
| parent | 0322520ae48f764ee63006319c57958b4d996356 (diff) | |
| parent | ac180dc10aa0ee7eb5e288f4d51cfe46bff33b2d (diff) | |
Merge "Remove return values from some compute RPC methods"
| -rw-r--r-- | nova/compute/manager.py | 19 | ||||
| -rw-r--r-- | nova/tests/compute/test_compute.py | 19 |
2 files changed, 22 insertions, 16 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py index dec26992a..55cff40d0 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -188,7 +188,6 @@ def checks_instance_lock(function): else: LOG.error(_("check_instance_lock: not executing |%s|"), function, context=context, instance_uuid=instance_uuid) - return False @functools.wraps(function) def decorated_function(self, context, instance_uuid, *args, **kwargs): @@ -1686,8 +1685,7 @@ class ComputeManager(manager.SchedulerDependentManager): instance, network_id) - network_info = self.inject_network_info(context, - instance['uuid']) + network_info = self._inject_network_info(context, instance['uuid']) self.reset_network(context, instance['uuid']) self._notify_about_instance_usage( @@ -1709,8 +1707,7 @@ class ComputeManager(manager.SchedulerDependentManager): instance_ref, address) - network_info = self.inject_network_info(context, - instance_ref['uuid']) + network_info = self._inject_network_info(context, instance_ref['uuid']) self.reset_network(context, instance_ref['uuid']) self._notify_about_instance_usage( @@ -1874,9 +1871,7 @@ class ComputeManager(manager.SchedulerDependentManager): LOG.debug(_('Reset network'), context=context, instance=instance) self.driver.reset_network(instance) - @checks_instance_lock - @wrap_instance_fault - def inject_network_info(self, context, instance_uuid): + def _inject_network_info(self, context, instance_uuid): """Inject network info for the given instance.""" instance = self.db.instance_get_by_uuid(context, instance_uuid) LOG.debug(_('Inject network info'), context=context, instance=instance) @@ -1889,6 +1884,12 @@ class ComputeManager(manager.SchedulerDependentManager): self._legacy_nw_info(network_info)) return network_info + @checks_instance_lock + @wrap_instance_fault + def inject_network_info(self, context, instance_uuid): + """Inject network info, but don't return the info.""" + self._inject_network_info(context, instance_uuid) + @exception.wrap_exception(notifier=notifier, publisher_id=publisher_id()) @wrap_instance_fault def get_console_output(self, context, instance=None, instance_uuid=None, @@ -2015,7 +2016,6 @@ class ComputeManager(manager.SchedulerDependentManager): 'volume_size': None, 'no_device': None} self.db.block_device_mapping_create(context, values) - return True def _detach_volume(self, context, instance, bdm): """Do the actual driver detach using block device mapping.""" @@ -2052,7 +2052,6 @@ class ComputeManager(manager.SchedulerDependentManager): self.volume_api.detach(context.elevated(), volume) self.db.block_device_mapping_destroy_by_instance_and_volume( context, instance_uuid, volume_id) - return True @exception.wrap_exception(notifier=notifier, publisher_id=publisher_id()) def remove_volume_connection(self, context, instance_id, volume_id): diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py index 6ccf2e312..892675a77 100644 --- a/nova/tests/compute/test_compute.py +++ b/nova/tests/compute/test_compute.py @@ -1041,17 +1041,24 @@ class ComputeTestCase(BaseTestCase): None, is_admin=False) - # decorator should return False (fail) with locked nonadmin context + def check_task_state(task_state): + instance = db.instance_get_by_uuid(self.context, instance_uuid) + self.assertEqual(instance['task_state'], task_state) + + db.instance_update(self.context, instance_uuid, + {'task_state': task_states.REBOOTING}) + + # should fail with locked nonadmin context, task_state won't be cleared self.compute_api.lock(self.context, instance) - ret_val = self.compute.reboot_instance(non_admin_context, + self.compute.reboot_instance(non_admin_context, instance=jsonutils.to_primitive(instance)) - self.assertEqual(ret_val, False) + check_task_state(task_states.REBOOTING) - # decorator should return None (success) with unlocked nonadmin context + # should succeed with unlocked nonadmin context, task_state cleared self.compute_api.unlock(self.context, instance) - ret_val = self.compute.reboot_instance(non_admin_context, + self.compute.reboot_instance(non_admin_context, instance=jsonutils.to_primitive(instance)) - self.assertEqual(ret_val, None) + check_task_state(None) self.compute.terminate_instance(self.context, instance_uuid) |
