summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2011-11-18 19:39:40 +0000
committerGerrit Code Review <review@openstack.org>2011-11-18 19:39:40 +0000
commit8449c6f9b1e2ea2ac713ae67dcb205654bf8523c (patch)
tree642c8fe79e23060f9fc3abbf4283a031b3246266
parente63df26a884092373fa0814ed275256ee912e9cd (diff)
parentaab3e3c7709024e8904ef0ed3f69e3b03842b952 (diff)
Merge "lock/unlock in compute manager to use uuids"
-rw-r--r--nova/compute/manager.py12
-rw-r--r--nova/tests/test_compute.py19
2 files changed, 15 insertions, 16 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index dafb200bf..1e8da977d 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -1289,20 +1289,20 @@ class ComputeManager(manager.SchedulerDependentManager):
task_state=None)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
- def lock_instance(self, context, instance_id):
+ def lock_instance(self, context, instance_uuid):
"""Lock the given instance."""
context = context.elevated()
- LOG.debug(_('instance %s: locking'), instance_id, context=context)
- self.db.instance_update(context, instance_id, {'locked': True})
+ LOG.debug(_('instance %s: locking'), instance_uuid, context=context)
+ self.db.instance_update(context, instance_uuid, {'locked': True})
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
- def unlock_instance(self, context, instance_id):
+ def unlock_instance(self, context, instance_uuid):
"""Unlock the given instance."""
context = context.elevated()
- LOG.debug(_('instance %s: unlocking'), instance_id, context=context)
- self.db.instance_update(context, instance_id, {'locked': False})
+ LOG.debug(_('instance %s: unlocking'), instance_uuid, context=context)
+ self.db.instance_update(context, instance_uuid, {'locked': False})
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
def get_lock(self, context, instance_id):
diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py
index a0289b15d..02365c248 100644
--- a/nova/tests/test_compute.py
+++ b/nova/tests/test_compute.py
@@ -523,18 +523,20 @@ class ComputeTestCase(BaseTestCase):
def test_lock(self):
"""ensure locked instance cannot be changed"""
- instance_id = self._create_instance()
+ instance = self._create_fake_instance()
+ instance_id = instance['id']
+ instance_uuid = instance['uuid']
self.compute.run_instance(self.context, instance_id)
non_admin_context = context.RequestContext(None, None, False, False)
# decorator should return False (fail) with locked nonadmin context
- self.compute.lock_instance(self.context, instance_id)
+ self.compute.lock_instance(self.context, instance_uuid)
ret_val = self.compute.reboot_instance(non_admin_context, instance_id)
self.assertEqual(ret_val, False)
# decorator should return None (success) with unlocked nonadmin context
- self.compute.unlock_instance(self.context, instance_id)
+ self.compute.unlock_instance(self.context, instance_uuid)
ret_val = self.compute.reboot_instance(non_admin_context, instance_id)
self.assertEqual(ret_val, None)
@@ -2106,22 +2108,19 @@ class ComputeAPITestCase(BaseTestCase):
self.compute_api.reset_network(self.context, instance)
def test_lock(self):
- instance_id = self._create_instance()
- instance = self.compute_api.get(self.context, instance_id)
+ instance = self._create_fake_instance()
self.compute_api.lock(self.context, instance)
self.compute_api.delete(self.context, instance)
def test_unlock(self):
- instance_id = self._create_instance()
- instance = self.compute_api.get(self.context, instance_id)
+ instance = self._create_fake_instance()
self.compute_api.unlock(self.context, instance)
self.compute_api.delete(self.context, instance)
def test_get_lock(self):
- instance_id = self._create_instance()
- instance = self.compute_api.get(self.context, instance_id)
+ instance = self._create_fake_instance()
self.assertFalse(self.compute_api.get_lock(self.context, instance))
- db.instance_update(self.context, instance_id, {'locked': True})
+ db.instance_update(self.context, instance['id'], {'locked': True})
self.assertTrue(self.compute_api.get_lock(self.context, instance))
def test_add_remove_security_group(self):