Convert compute manager delete methods to objects

Related to blueprint internal-uuids

Change-Id: I781995b95fd3fb794ad5d775e1e5822a82db9fb1
This commit is contained in:
Brian Waldon
2011-11-28 15:57:11 -05:00
parent dcc0d41eca
commit 9bd1049ddd
3 changed files with 130 additions and 129 deletions

View File

@@ -111,7 +111,7 @@ def _fake_cast_to_volume_host(context, host, method, **kwargs):
def _fake_create_instance_db_entry(simple_self, context, request_spec): def _fake_create_instance_db_entry(simple_self, context, request_spec):
instance = _create_instance_from_spec(request_spec) instance = _create_instance_from_spec(request_spec)
global instance_ids global instance_ids
instance_ids.append(instance['id']) instance_ids.append((instance['id'], instance['uuid']))
return instance return instance
@@ -311,7 +311,7 @@ class SimpleDriverTestCase(test.TestCase):
'compute', 'compute',
FLAGS.compute_manager) FLAGS.compute_manager)
compute1.start() compute1.start()
instance_id = _create_instance()['id'] _create_instance()
ctxt = context.RequestContext('fake', 'fake', False) ctxt = context.RequestContext('fake', 'fake', False)
global instance_ids global instance_ids
instance_ids = [] instance_ids = []
@@ -380,8 +380,9 @@ class SimpleDriverTestCase(test.TestCase):
global instance_ids global instance_ids
instance_ids = [] instance_ids = []
instance_ids.append(_create_instance()['id']) instance = _create_instance()
compute1.run_instance(self.context, instance_ids[0]) instance_ids.append((instance['id'], instance['uuid']))
compute1.run_instance(self.context, instance_ids[0][0])
self.stubs.Set(SimpleScheduler, self.stubs.Set(SimpleScheduler,
'create_instance_db_entry', _fake_create_instance_db_entry) 'create_instance_db_entry', _fake_create_instance_db_entry)
@@ -399,8 +400,8 @@ class SimpleDriverTestCase(test.TestCase):
self.assertEqual(len(instances), 1) self.assertEqual(len(instances), 1)
self.assertEqual(instances[0].get('_is_precooked', False), False) self.assertEqual(instances[0].get('_is_precooked', False), False)
compute1.terminate_instance(self.context, instance_ids[0]) compute1.terminate_instance(self.context, instance_ids[0][1])
compute2.terminate_instance(self.context, instance_ids[1]) compute2.terminate_instance(self.context, instance_ids[1][1])
compute1.kill() compute1.kill()
compute2.kill() compute2.kill()
@@ -419,8 +420,9 @@ class SimpleDriverTestCase(test.TestCase):
global instance_ids global instance_ids
instance_ids = [] instance_ids = []
instance_ids.append(_create_instance()['id']) instance = _create_instance()
compute1.run_instance(self.context, instance_ids[0]) instance_ids.append((instance['id'], instance['uuid']))
compute1.run_instance(self.context, instance_ids[0][0])
self.stubs.Set(SimpleScheduler, self.stubs.Set(SimpleScheduler,
'create_instance_db_entry', _fake_create_instance_db_entry) 'create_instance_db_entry', _fake_create_instance_db_entry)
@@ -430,13 +432,12 @@ class SimpleDriverTestCase(test.TestCase):
'cast_to_compute_host', _fake_cast_to_compute_host) 'cast_to_compute_host', _fake_cast_to_compute_host)
request_spec = _create_request_spec(availability_zone='nova:host1') request_spec = _create_request_spec(availability_zone='nova:host1')
instances = self.scheduler.driver.schedule_run_instance( self.scheduler.driver.schedule_run_instance(self.context, request_spec)
self.context, request_spec)
self.assertEqual(_picked_host, 'host1') self.assertEqual(_picked_host, 'host1')
self.assertEqual(len(instance_ids), 2) self.assertEqual(len(instance_ids), 2)
compute1.terminate_instance(self.context, instance_ids[0]) compute1.terminate_instance(self.context, instance_ids[0][1])
compute1.terminate_instance(self.context, instance_ids[1]) compute1.terminate_instance(self.context, instance_ids[1][1])
compute1.kill() compute1.kill()
compute2.kill() compute2.kill()
@@ -487,11 +488,10 @@ class SimpleDriverTestCase(test.TestCase):
'cast_to_compute_host', _fake_cast_to_compute_host) 'cast_to_compute_host', _fake_cast_to_compute_host)
request_spec = _create_request_spec(availability_zone='nova:host1') request_spec = _create_request_spec(availability_zone='nova:host1')
instances = self.scheduler.driver.schedule_run_instance( self.scheduler.driver.schedule_run_instance(self.context, request_spec)
self.context, request_spec)
self.assertEqual(_picked_host, 'host1') self.assertEqual(_picked_host, 'host1')
self.assertEqual(len(instance_ids), 1) self.assertEqual(len(instance_ids), 1)
compute1.terminate_instance(self.context, instance_ids[0]) compute1.terminate_instance(self.context, instance_ids[0][1])
compute1.kill() compute1.kill()
def test_specific_zone_gets_instance_no_queue(self): def test_specific_zone_gets_instance_no_queue(self):
@@ -511,8 +511,9 @@ class SimpleDriverTestCase(test.TestCase):
global instance_ids global instance_ids
instance_ids = [] instance_ids = []
instance_ids.append(_create_instance()['id']) instance = _create_instance()
compute1.run_instance(self.context, instance_ids[0]) instance_ids.append((instance['id'], instance['uuid']))
compute1.run_instance(self.context, instance_ids[0][0])
self.stubs.Set(SimpleScheduler, self.stubs.Set(SimpleScheduler,
'create_instance_db_entry', _fake_create_instance_db_entry) 'create_instance_db_entry', _fake_create_instance_db_entry)
@@ -522,13 +523,12 @@ class SimpleDriverTestCase(test.TestCase):
'cast_to_compute_host', _fake_cast_to_compute_host) 'cast_to_compute_host', _fake_cast_to_compute_host)
request_spec = _create_request_spec(availability_zone='zone1') request_spec = _create_request_spec(availability_zone='zone1')
instances = self.scheduler.driver.schedule_run_instance( self.scheduler.driver.schedule_run_instance(self.context, request_spec)
self.context, request_spec)
self.assertEqual(_picked_host, 'host1') self.assertEqual(_picked_host, 'host1')
self.assertEqual(len(instance_ids), 2) self.assertEqual(len(instance_ids), 2)
compute1.terminate_instance(self.context, instance_ids[0]) compute1.terminate_instance(self.context, instance_ids[0][1])
compute1.terminate_instance(self.context, instance_ids[1]) compute1.terminate_instance(self.context, instance_ids[1][1])
compute1.kill() compute1.kill()
compute2.kill() compute2.kill()
@@ -581,21 +581,21 @@ class SimpleDriverTestCase(test.TestCase):
instance_ids1 = [] instance_ids1 = []
instance_ids2 = [] instance_ids2 = []
for index in xrange(FLAGS.max_cores): for index in xrange(FLAGS.max_cores):
instance_id = _create_instance()['id'] instance = _create_instance()
compute1.run_instance(self.context, instance_id) compute1.run_instance(self.context, instance['id'])
instance_ids1.append(instance_id) instance_ids1.append((instance['id'], instance['uuid']))
instance_id = _create_instance()['id'] instance = _create_instance()
compute2.run_instance(self.context, instance_id) compute2.run_instance(self.context, instance['id'])
instance_ids2.append(instance_id) instance_ids2.append((instance['id'], instance['uuid']))
request_spec = _create_request_spec() request_spec = _create_request_spec()
self.assertRaises(exception.NoValidHost, self.assertRaises(exception.NoValidHost,
self.scheduler.driver.schedule_run_instance, self.scheduler.driver.schedule_run_instance,
self.context, self.context,
request_spec) request_spec)
for instance_id in instance_ids1: for (_, instance_uuid) in instance_ids1:
compute1.terminate_instance(self.context, instance_id) compute1.terminate_instance(self.context, instance_uuid)
for instance_id in instance_ids2: for (_, instance_uuid) in instance_ids2:
compute2.terminate_instance(self.context, instance_id) compute2.terminate_instance(self.context, instance_uuid)
compute1.kill() compute1.kill()
compute2.kill() compute2.kill()
@@ -655,8 +655,9 @@ class SimpleDriverTestCase(test.TestCase):
global instance_ids global instance_ids
instance_ids = [] instance_ids = []
instance_ids.append(_create_instance()['id']) instance = _create_instance()
compute1.run_instance(self.context, instance_ids[0]) instance_ids.append((instance['id'], instance['uuid']))
compute1.run_instance(self.context, instance_ids[0][0])
self.stubs.Set(SimpleScheduler, self.stubs.Set(SimpleScheduler,
'create_instance_db_entry', _fake_create_instance_db_entry) 'create_instance_db_entry', _fake_create_instance_db_entry)
@@ -666,13 +667,12 @@ class SimpleDriverTestCase(test.TestCase):
'cast_to_compute_host', _fake_cast_to_compute_host) 'cast_to_compute_host', _fake_cast_to_compute_host)
request_spec = _create_request_spec() request_spec = _create_request_spec()
instances = self.scheduler.driver.schedule_run_instance( self.scheduler.driver.schedule_run_instance(self.context, request_spec)
self.context, request_spec)
self.assertEqual(_picked_host, 'host2') self.assertEqual(_picked_host, 'host2')
self.assertEqual(len(instance_ids), 2) self.assertEqual(len(instance_ids), 2)
compute1.terminate_instance(self.context, instance_ids[0]) compute1.terminate_instance(self.context, instance_ids[0][1])
compute2.terminate_instance(self.context, instance_ids[1]) compute2.terminate_instance(self.context, instance_ids[1][1])
compute1.kill() compute1.kill()
compute2.kill() compute2.kill()
@@ -683,8 +683,9 @@ class SimpleDriverTestCase(test.TestCase):
global instance_ids global instance_ids
instance_ids = [] instance_ids = []
instance_ids.append(_create_instance()['id']) instance = _create_instance()
compute1.run_instance(self.context, instance_ids[0]) instance_ids.append((instance['id'], instance['uuid']))
compute1.run_instance(self.context, instance_ids[0][0])
self.stubs.Set(SimpleScheduler, self.stubs.Set(SimpleScheduler,
'create_instance_db_entry', _fake_create_instance_db_entry) 'create_instance_db_entry', _fake_create_instance_db_entry)
@@ -694,13 +695,12 @@ class SimpleDriverTestCase(test.TestCase):
'cast_to_compute_host', _fake_cast_to_compute_host) 'cast_to_compute_host', _fake_cast_to_compute_host)
request_spec = _create_request_spec(availability_zone='nova:host1') request_spec = _create_request_spec(availability_zone='nova:host1')
instances = self.scheduler.driver.schedule_run_instance( self.scheduler.driver.schedule_run_instance(self.context, request_spec)
self.context, request_spec)
self.assertEqual(_picked_host, 'host1') self.assertEqual(_picked_host, 'host1')
self.assertEqual(len(instance_ids), 2) self.assertEqual(len(instance_ids), 2)
compute1.terminate_instance(self.context, instance_ids[0]) compute1.terminate_instance(self.context, instance_ids[0][1])
compute1.terminate_instance(self.context, instance_ids[1]) compute1.terminate_instance(self.context, instance_ids[1][1])
compute1.kill() compute1.kill()
compute2.kill() compute2.kill()
@@ -733,11 +733,10 @@ class SimpleDriverTestCase(test.TestCase):
'cast_to_compute_host', _fake_cast_to_compute_host) 'cast_to_compute_host', _fake_cast_to_compute_host)
request_spec = _create_request_spec(availability_zone='nova:host1') request_spec = _create_request_spec(availability_zone='nova:host1')
instances = self.scheduler.driver.schedule_run_instance( self.scheduler.driver.schedule_run_instance(self.context, request_spec)
self.context, request_spec)
self.assertEqual(_picked_host, 'host1') self.assertEqual(_picked_host, 'host1')
self.assertEqual(len(instance_ids), 1) self.assertEqual(len(instance_ids), 1)
compute1.terminate_instance(self.context, instance_ids[0]) compute1.terminate_instance(self.context, instance_ids[0][1])
compute1.kill() compute1.kill()
def test_too_many_cores(self): def test_too_many_cores(self):
@@ -747,12 +746,12 @@ class SimpleDriverTestCase(test.TestCase):
instance_ids1 = [] instance_ids1 = []
instance_ids2 = [] instance_ids2 = []
for index in xrange(FLAGS.max_cores): for index in xrange(FLAGS.max_cores):
instance_id = _create_instance()['id'] instance = _create_instance()
compute1.run_instance(self.context, instance_id) compute1.run_instance(self.context, instance['id'])
instance_ids1.append(instance_id) instance_ids1.append((instance['id'], instance['uuid']))
instance_id = _create_instance()['id'] instance = _create_instance()
compute2.run_instance(self.context, instance_id) compute2.run_instance(self.context, instance['id'])
instance_ids2.append(instance_id) instance_ids2.append((instance['id'], instance['uuid']))
def _create_instance_db_entry(simple_self, context, request_spec): def _create_instance_db_entry(simple_self, context, request_spec):
self.fail(_("Shouldn't try to create DB entry when at " self.fail(_("Shouldn't try to create DB entry when at "
@@ -771,10 +770,10 @@ class SimpleDriverTestCase(test.TestCase):
self.scheduler.driver.schedule_run_instance, self.scheduler.driver.schedule_run_instance,
self.context, self.context,
request_spec) request_spec)
for instance_id in instance_ids1: for (_, instance_uuid) in instance_ids1:
compute1.terminate_instance(self.context, instance_id) compute1.terminate_instance(self.context, instance_uuid)
for instance_id in instance_ids2: for (_, instance_uuid) in instance_ids2:
compute2.terminate_instance(self.context, instance_id) compute2.terminate_instance(self.context, instance_uuid)
compute1.kill() compute1.kill()
compute2.kill() compute2.kill()

View File

@@ -33,7 +33,6 @@ from nova.compute import task_states
from nova.compute import vm_states from nova.compute import vm_states
from nova import context from nova import context
from nova import db from nova import db
from nova.db.sqlalchemy import models
from nova import exception from nova import exception
from nova import flags from nova import flags
from nova.image import fake as fake_image from nova.image import fake as fake_image
@@ -199,15 +198,15 @@ class ComputeTestCase(BaseTestCase):
def test_run_terminate(self): def test_run_terminate(self):
"""Make sure it is possible to run and terminate instance""" """Make sure it is possible to run and terminate instance"""
instance_id = self._create_instance() instance = self._create_fake_instance()
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance['id'])
instances = db.instance_get_all(context.get_admin_context()) instances = db.instance_get_all(context.get_admin_context())
LOG.info(_("Running instances: %s"), instances) LOG.info(_("Running instances: %s"), instances)
self.assertEqual(len(instances), 1) self.assertEqual(len(instances), 1)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance['uuid'])
instances = db.instance_get_all(context.get_admin_context()) instances = db.instance_get_all(context.get_admin_context())
LOG.info(_("After terminating instances: %s"), instances) LOG.info(_("After terminating instances: %s"), instances)
@@ -215,21 +214,21 @@ class ComputeTestCase(BaseTestCase):
def test_run_terminate_timestamps(self): def test_run_terminate_timestamps(self):
"""Make sure timestamps are set for launched and destroyed""" """Make sure timestamps are set for launched and destroyed"""
instance_id = self._create_instance() instance = self._create_fake_instance()
instance_ref = db.instance_get(self.context, instance_id) instance_id = instance['id']
self.assertEqual(instance_ref['launched_at'], None) self.assertEqual(instance['launched_at'], None)
self.assertEqual(instance_ref['deleted_at'], None) self.assertEqual(instance['deleted_at'], None)
launch = utils.utcnow() launch = utils.utcnow()
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
instance_ref = db.instance_get(self.context, instance_id) instance = db.instance_get(self.context, instance_id)
self.assert_(instance_ref['launched_at'] > launch) self.assert_(instance['launched_at'] > launch)
self.assertEqual(instance_ref['deleted_at'], None) self.assertEqual(instance['deleted_at'], None)
terminate = utils.utcnow() terminate = utils.utcnow()
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance['uuid'])
self.context = self.context.elevated(True) context = self.context.elevated(True)
instance_ref = db.instance_get(self.context, instance_id) instance = db.instance_get(context, instance_id)
self.assert_(instance_ref['launched_at'] < terminate) self.assert_(instance['launched_at'] < terminate)
self.assert_(instance_ref['deleted_at'] > terminate) self.assert_(instance['deleted_at'] > terminate)
def test_stop(self): def test_stop(self):
"""Ensure instance can be stopped""" """Ensure instance can be stopped"""
@@ -238,7 +237,7 @@ class ComputeTestCase(BaseTestCase):
instance_uuid = instance['uuid'] instance_uuid = instance['uuid']
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
self.compute.stop_instance(self.context, instance_uuid) self.compute.stop_instance(self.context, instance_uuid)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_start(self): def test_start(self):
"""Ensure instance can be started""" """Ensure instance can be started"""
@@ -248,7 +247,7 @@ class ComputeTestCase(BaseTestCase):
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
self.compute.stop_instance(self.context, instance_uuid) self.compute.stop_instance(self.context, instance_uuid)
self.compute.start_instance(self.context, instance_uuid) self.compute.start_instance(self.context, instance_uuid)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_rescue(self): def test_rescue(self):
"""Ensure instance can be rescued and unrescued""" """Ensure instance can be rescued and unrescued"""
@@ -275,7 +274,7 @@ class ComputeTestCase(BaseTestCase):
self.assertTrue(called['rescued']) self.assertTrue(called['rescued'])
self.compute.unrescue_instance(self.context, instance_uuid) self.compute.unrescue_instance(self.context, instance_uuid)
self.assertTrue(called['unrescued']) self.assertTrue(called['unrescued'])
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_power_on(self): def test_power_on(self):
"""Ensure instance can be powered on""" """Ensure instance can be powered on"""
@@ -294,7 +293,7 @@ class ComputeTestCase(BaseTestCase):
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
self.compute.power_on_instance(self.context, instance_uuid) self.compute.power_on_instance(self.context, instance_uuid)
self.assertTrue(called['power_on']) self.assertTrue(called['power_on'])
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_power_off(self): def test_power_off(self):
"""Ensure instance can be powered off""" """Ensure instance can be powered off"""
@@ -313,7 +312,7 @@ class ComputeTestCase(BaseTestCase):
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
self.compute.power_off_instance(self.context, instance_uuid) self.compute.power_off_instance(self.context, instance_uuid)
self.assertTrue(called['power_off']) self.assertTrue(called['power_off'])
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_pause(self): def test_pause(self):
"""Ensure instance can be paused and unpaused""" """Ensure instance can be paused and unpaused"""
@@ -323,7 +322,7 @@ class ComputeTestCase(BaseTestCase):
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
self.compute.pause_instance(self.context, instance_uuid) self.compute.pause_instance(self.context, instance_uuid)
self.compute.unpause_instance(self.context, instance_uuid) self.compute.unpause_instance(self.context, instance_uuid)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_suspend(self): def test_suspend(self):
"""ensure instance can be suspended and resumed""" """ensure instance can be suspended and resumed"""
@@ -333,17 +332,16 @@ class ComputeTestCase(BaseTestCase):
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
self.compute.suspend_instance(self.context, instance_uuid) self.compute.suspend_instance(self.context, instance_uuid)
self.compute.resume_instance(self.context, instance_uuid) self.compute.resume_instance(self.context, instance_uuid)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_rebuild(self): def test_rebuild(self):
"""Ensure instance can be rebuilt""" """Ensure instance can be rebuilt"""
instance = self._create_fake_instance() instance = self._create_fake_instance()
instance_id = instance['id']
instance_uuid = instance['uuid'] instance_uuid = instance['uuid']
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance['id'])
self.compute.rebuild_instance(self.context, instance_uuid) self.compute.rebuild_instance(self.context, instance_uuid)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_reboot_soft(self): def test_reboot_soft(self):
"""Ensure instance can be soft rebooted""" """Ensure instance can be soft rebooted"""
@@ -362,7 +360,7 @@ class ComputeTestCase(BaseTestCase):
self.assertEqual(inst_ref['power_state'], power_state.RUNNING) self.assertEqual(inst_ref['power_state'], power_state.RUNNING)
self.assertEqual(inst_ref['task_state'], None) self.assertEqual(inst_ref['task_state'], None)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, inst_ref['uuid'])
def test_reboot_hard(self): def test_reboot_hard(self):
"""Ensure instance can be hard rebooted""" """Ensure instance can be hard rebooted"""
@@ -381,7 +379,7 @@ class ComputeTestCase(BaseTestCase):
self.assertEqual(inst_ref['power_state'], power_state.RUNNING) self.assertEqual(inst_ref['power_state'], power_state.RUNNING)
self.assertEqual(inst_ref['task_state'], None) self.assertEqual(inst_ref['task_state'], None)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, inst_ref['uuid'])
def test_set_admin_password(self): def test_set_admin_password(self):
"""Ensure instance can have its admin password set""" """Ensure instance can have its admin password set"""
@@ -402,7 +400,7 @@ class ComputeTestCase(BaseTestCase):
self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE) self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE)
self.assertEqual(inst_ref['task_state'], None) self.assertEqual(inst_ref['task_state'], None)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, inst_ref['uuid'])
def test_inject_file(self): def test_inject_file(self):
"""Ensure we can write a file to an instance""" """Ensure we can write a file to an instance"""
@@ -421,7 +419,7 @@ class ComputeTestCase(BaseTestCase):
self.compute.inject_file(self.context, instance['uuid'], "/tmp/test", self.compute.inject_file(self.context, instance['uuid'], "/tmp/test",
"File Contents") "File Contents")
self.assertTrue(called['inject']) self.assertTrue(called['inject'])
self.compute.terminate_instance(self.context, instance['id']) self.compute.terminate_instance(self.context, instance['uuid'])
def test_inject_network_info(self): def test_inject_network_info(self):
"""Ensure we can inject network info""" """Ensure we can inject network info"""
@@ -439,7 +437,7 @@ class ComputeTestCase(BaseTestCase):
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
self.compute.inject_network_info(self.context, instance_uuid) self.compute.inject_network_info(self.context, instance_uuid)
self.assertTrue(called['inject']) self.assertTrue(called['inject'])
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_reset_network(self): def test_reset_network(self):
"""Ensure we can reset networking on an instance""" """Ensure we can reset networking on an instance"""
@@ -457,7 +455,7 @@ class ComputeTestCase(BaseTestCase):
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
self.compute.reset_network(self.context, instance_uuid) self.compute.reset_network(self.context, instance_uuid)
self.assertTrue(called['reset']) self.assertTrue(called['reset'])
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_agent_update(self): def test_agent_update(self):
"""Ensure instance can have its agent updated""" """Ensure instance can have its agent updated"""
@@ -476,7 +474,7 @@ class ComputeTestCase(BaseTestCase):
self.compute.agent_update(self.context, instance['uuid'], self.compute.agent_update(self.context, instance['uuid'],
'http://fake/url/', 'fakehash') 'http://fake/url/', 'fakehash')
self.assertTrue(called['agent_update']) self.assertTrue(called['agent_update'])
self.compute.terminate_instance(self.context, instance['id']) self.compute.terminate_instance(self.context, instance['uuid'])
def test_snapshot(self): def test_snapshot(self):
"""Ensure instance can be snapshotted""" """Ensure instance can be snapshotted"""
@@ -486,7 +484,7 @@ class ComputeTestCase(BaseTestCase):
name = "myfakesnapshot" name = "myfakesnapshot"
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
self.compute.snapshot_instance(self.context, instance_uuid, name) self.compute.snapshot_instance(self.context, instance_uuid, name)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_console_output(self): def test_console_output(self):
"""Make sure we can get console output from instance""" """Make sure we can get console output from instance"""
@@ -496,7 +494,7 @@ class ComputeTestCase(BaseTestCase):
console = self.compute.get_console_output(self.context, console = self.compute.get_console_output(self.context,
instance['uuid']) instance['uuid'])
self.assert_(console) self.assert_(console)
self.compute.terminate_instance(self.context, instance['id']) self.compute.terminate_instance(self.context, instance['uuid'])
def test_ajax_console(self): def test_ajax_console(self):
"""Make sure we can get console output from instance""" """Make sure we can get console output from instance"""
@@ -506,7 +504,7 @@ class ComputeTestCase(BaseTestCase):
console = self.compute.get_ajax_console(self.context, console = self.compute.get_ajax_console(self.context,
instance['uuid']) instance['uuid'])
self.assert_(set(['token', 'host', 'port']).issubset(console.keys())) self.assert_(set(['token', 'host', 'port']).issubset(console.keys()))
self.compute.terminate_instance(self.context, instance['id']) self.compute.terminate_instance(self.context, instance['uuid'])
def test_vnc_console(self): def test_vnc_console(self):
"""Make sure we can a vnc console for an instance.""" """Make sure we can a vnc console for an instance."""
@@ -515,7 +513,7 @@ class ComputeTestCase(BaseTestCase):
console = self.compute.get_vnc_console(self.context, instance['uuid']) console = self.compute.get_vnc_console(self.context, instance['uuid'])
self.assert_(console) self.assert_(console)
self.compute.terminate_instance(self.context, instance['id']) self.compute.terminate_instance(self.context, instance['uuid'])
def test_diagnostics(self): def test_diagnostics(self):
"""Make sure we can get diagnostics for an instance.""" """Make sure we can get diagnostics for an instance."""
@@ -525,7 +523,7 @@ class ComputeTestCase(BaseTestCase):
diagnostics = self.compute.get_diagnostics(self.context, diagnostics = self.compute.get_diagnostics(self.context,
instance['uuid']) instance['uuid'])
self.assertEqual(diagnostics, 'FAKE_DIAGNOSTICS') self.assertEqual(diagnostics, 'FAKE_DIAGNOSTICS')
self.compute.terminate_instance(self.context, instance['id']) self.compute.terminate_instance(self.context, instance['uuid'])
def test_add_fixed_ip_usage_notification(self): def test_add_fixed_ip_usage_notification(self):
def dummy(*args, **kwargs): def dummy(*args, **kwargs):
@@ -539,14 +537,13 @@ class ComputeTestCase(BaseTestCase):
'reset_network', dummy) 'reset_network', dummy)
instance = self._create_fake_instance() instance = self._create_fake_instance()
instance_id = instance['id']
instance_uuid = instance['uuid'] instance_uuid = instance['uuid']
self.assertEquals(len(test_notifier.NOTIFICATIONS), 0) self.assertEquals(len(test_notifier.NOTIFICATIONS), 0)
self.compute.add_fixed_ip_to_instance(self.context, instance_uuid, 1) self.compute.add_fixed_ip_to_instance(self.context, instance_uuid, 1)
self.assertEquals(len(test_notifier.NOTIFICATIONS), 1) self.assertEquals(len(test_notifier.NOTIFICATIONS), 1)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_remove_fixed_ip_usage_notification(self): def test_remove_fixed_ip_usage_notification(self):
def dummy(*args, **kwargs): def dummy(*args, **kwargs):
@@ -560,7 +557,6 @@ class ComputeTestCase(BaseTestCase):
'reset_network', dummy) 'reset_network', dummy)
instance = self._create_fake_instance() instance = self._create_fake_instance()
instance_id = instance['id']
instance_uuid = instance['uuid'] instance_uuid = instance['uuid']
self.assertEquals(len(test_notifier.NOTIFICATIONS), 0) self.assertEquals(len(test_notifier.NOTIFICATIONS), 0)
@@ -569,7 +565,7 @@ class ComputeTestCase(BaseTestCase):
1) 1)
self.assertEquals(len(test_notifier.NOTIFICATIONS), 1) self.assertEquals(len(test_notifier.NOTIFICATIONS), 1)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_run_instance_usage_notification(self): def test_run_instance_usage_notification(self):
"""Ensure run instance generates apropriate usage notification""" """Ensure run instance generates apropriate usage notification"""
@@ -594,7 +590,7 @@ class ComputeTestCase(BaseTestCase):
self.assertTrue(payload['launched_at']) self.assertTrue(payload['launched_at'])
image_ref_url = "%s/images/1" % utils.generate_glance_url() image_ref_url = "%s/images/1" % utils.generate_glance_url()
self.assertEquals(payload['image_ref_url'], image_ref_url) self.assertEquals(payload['image_ref_url'], image_ref_url)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, inst_ref['uuid'])
def test_terminate_usage_notification(self): def test_terminate_usage_notification(self):
"""Ensure terminate_instance generates apropriate usage notification""" """Ensure terminate_instance generates apropriate usage notification"""
@@ -602,7 +598,7 @@ class ComputeTestCase(BaseTestCase):
inst_ref = db.instance_get(self.context, instance_id) inst_ref = db.instance_get(self.context, instance_id)
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
test_notifier.NOTIFICATIONS = [] test_notifier.NOTIFICATIONS = []
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, inst_ref['uuid'])
self.assertEquals(len(test_notifier.NOTIFICATIONS), 2) self.assertEquals(len(test_notifier.NOTIFICATIONS), 2)
msg = test_notifier.NOTIFICATIONS[0] msg = test_notifier.NOTIFICATIONS[0]
@@ -627,13 +623,14 @@ class ComputeTestCase(BaseTestCase):
def test_run_instance_existing(self): def test_run_instance_existing(self):
"""Ensure failure when running an instance that already exists""" """Ensure failure when running an instance that already exists"""
instance_id = self._create_instance() instance = self._create_fake_instance()
instance_id = instance['id']
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
self.assertRaises(exception.Error, self.assertRaises(exception.Error,
self.compute.run_instance, self.compute.run_instance,
self.context, self.context,
instance_id) instance_id)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance['uuid'])
def test_instance_set_to_error_on_uncaught_exception(self): def test_instance_set_to_error_on_uncaught_exception(self):
"""Test that instance is set to error state when exception is raised""" """Test that instance is set to error state when exception is raised"""
@@ -656,14 +653,15 @@ class ComputeTestCase(BaseTestCase):
self.context, self.context,
instance_id) instance_id)
instances = db.instance_get_all(context.get_admin_context()) instance = db.instance_get(context.get_admin_context(), instance_id)
self.assertEqual(vm_states.ERROR, instances[0]['vm_state']) self.assertEqual(vm_states.ERROR, instance['vm_state'])
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance['uuid'])
def test_network_is_deallocated_on_spawn_failure(self): def test_network_is_deallocated_on_spawn_failure(self):
"""When a spawn fails the network must be deallocated""" """When a spawn fails the network must be deallocated"""
instance_id = self._create_instance() instance_id = self._create_instance()
instance = db.instance_get(self.context, instance_id)
self.mox.StubOutWithMock(self.compute, "_setup_block_device_mapping") self.mox.StubOutWithMock(self.compute, "_setup_block_device_mapping")
self.compute._setup_block_device_mapping(mox.IgnoreArg(), self.compute._setup_block_device_mapping(mox.IgnoreArg(),
@@ -677,7 +675,7 @@ class ComputeTestCase(BaseTestCase):
self.context, self.context,
instance_id) instance_id)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance['uuid'])
def test_lock(self): def test_lock(self):
"""ensure locked instance cannot be changed""" """ensure locked instance cannot be changed"""
@@ -700,7 +698,7 @@ class ComputeTestCase(BaseTestCase):
instance_uuid) instance_uuid)
self.assertEqual(ret_val, None) self.assertEqual(ret_val, None)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_uuid)
def test_finish_resize(self): def test_finish_resize(self):
"""Contrived test to ensure finish_resize doesn't raise anything""" """Contrived test to ensure finish_resize doesn't raise anything"""
@@ -724,7 +722,7 @@ class ComputeTestCase(BaseTestCase):
# fail to actually error out so we don't obscure anything # fail to actually error out so we don't obscure anything
self.fail() self.fail()
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance_ref['uuid'])
def test_resize_instance_notification(self): def test_resize_instance_notification(self):
"""Ensure notifications on instance migrate/resize""" """Ensure notifications on instance migrate/resize"""
@@ -737,8 +735,9 @@ class ComputeTestCase(BaseTestCase):
db.instance_update(self.context, instance_id, {'host': 'foo'}) db.instance_update(self.context, instance_id, {'host': 'foo'})
self.compute.prep_resize(context, inst_ref['uuid'], 1) self.compute.prep_resize(context, inst_ref['uuid'], 1)
migration_ref = db.migration_get_by_instance_and_status(context, db.migration_get_by_instance_and_status(context,
inst_ref['uuid'], 'pre-migrating') inst_ref['uuid'],
'pre-migrating')
self.assertEquals(len(test_notifier.NOTIFICATIONS), 1) self.assertEquals(len(test_notifier.NOTIFICATIONS), 1)
msg = test_notifier.NOTIFICATIONS[0] msg = test_notifier.NOTIFICATIONS[0]
@@ -756,7 +755,7 @@ class ComputeTestCase(BaseTestCase):
self.assertTrue('launched_at' in payload) self.assertTrue('launched_at' in payload)
image_ref_url = "%s/images/1" % utils.generate_glance_url() image_ref_url = "%s/images/1" % utils.generate_glance_url()
self.assertEquals(payload['image_ref_url'], image_ref_url) self.assertEquals(payload['image_ref_url'], image_ref_url)
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, inst_ref['uuid'])
def test_resize_instance(self): def test_resize_instance(self):
"""Ensure instance can be migrated/resized""" """Ensure instance can be migrated/resized"""
@@ -772,7 +771,7 @@ class ComputeTestCase(BaseTestCase):
inst_ref['uuid'], 'pre-migrating') inst_ref['uuid'], 'pre-migrating')
self.compute.resize_instance(context, inst_ref['uuid'], self.compute.resize_instance(context, inst_ref['uuid'],
migration_ref['id']) migration_ref['id'])
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, inst_ref['uuid'])
def test_finish_revert_resize(self): def test_finish_revert_resize(self):
"""Ensure that the flavor is reverted to the original on revert""" """Ensure that the flavor is reverted to the original on revert"""
@@ -825,7 +824,7 @@ class ComputeTestCase(BaseTestCase):
inst_ref['instance_type_id']) inst_ref['instance_type_id'])
self.assertEqual(instance_type_ref['flavorid'], '1') self.assertEqual(instance_type_ref['flavorid'], '1')
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, inst_ref['uuid'])
def test_get_by_flavor_id(self): def test_get_by_flavor_id(self):
type = instance_types.get_instance_type_by_flavor_id(1) type = instance_types.get_instance_type_by_flavor_id(1)
@@ -839,7 +838,7 @@ class ComputeTestCase(BaseTestCase):
inst_ref = db.instance_get(self.context, instance_id) inst_ref = db.instance_get(self.context, instance_id)
self.assertRaises(exception.Error, self.compute.prep_resize, self.assertRaises(exception.Error, self.compute.prep_resize,
self.context, inst_ref['uuid'], 1) self.context, inst_ref['uuid'], 1)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, inst_ref['uuid'])
def test_resize_instance_handles_migration_error(self): def test_resize_instance_handles_migration_error(self):
"""Ensure vm_state is ERROR when MigrationError occurs""" """Ensure vm_state is ERROR when MigrationError occurs"""
@@ -863,7 +862,7 @@ class ComputeTestCase(BaseTestCase):
migration_ref['id']) migration_ref['id'])
inst_ref = db.instance_get(context, instance_id) inst_ref = db.instance_get(context, instance_id)
self.assertEqual(inst_ref['vm_state'], vm_states.ERROR) self.assertEqual(inst_ref['vm_state'], vm_states.ERROR)
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, inst_ref['uuid'])
def _setup_other_managers(self): def _setup_other_managers(self):
self.volume_manager = utils.import_object(FLAGS.volume_manager) self.volume_manager = utils.import_object(FLAGS.volume_manager)
@@ -1224,10 +1223,12 @@ class ComputeAPITestCase(BaseTestCase):
db.instance_destroy(self.context, ref[0]['id']) db.instance_destroy(self.context, ref[0]['id'])
def test_start(self): def test_start(self):
instance_id = self._create_instance() instance = self._create_fake_instance()
instance_id = instance['id']
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
self.compute.stop_instance(self.context, instance_id) self.compute.stop_instance(self.context, instance['uuid'])
instance = db.instance_get(self.context, instance_id) instance = db.instance_get(self.context, instance_id)
self.assertEqual(instance['task_state'], None) self.assertEqual(instance['task_state'], None)
@@ -1455,7 +1456,7 @@ class ComputeAPITestCase(BaseTestCase):
self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE) self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE)
self.assertEqual(inst_ref['task_state'], task_states.UPDATING_PASSWORD) self.assertEqual(inst_ref['task_state'], task_states.UPDATING_PASSWORD)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, inst_ref['uuid'])
def test_rescue_unrescue(self): def test_rescue_unrescue(self):
instance = self._create_fake_instance() instance = self._create_fake_instance()
@@ -1482,7 +1483,7 @@ class ComputeAPITestCase(BaseTestCase):
self.assertEqual(instance['vm_state'], vm_states.RESCUED) self.assertEqual(instance['vm_state'], vm_states.RESCUED)
self.assertEqual(instance['task_state'], task_states.UNRESCUING) self.assertEqual(instance['task_state'], task_states.UNRESCUING)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance['uuid'])
def test_snapshot(self): def test_snapshot(self):
"""Can't backup an instance which is already being backed up.""" """Can't backup an instance which is already being backed up."""
@@ -1544,7 +1545,7 @@ class ComputeAPITestCase(BaseTestCase):
'status': 'finished'}) 'status': 'finished'})
self.compute_api.confirm_resize(context, instance) self.compute_api.confirm_resize(context, instance)
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, instance['uuid'])
def test_resize_revert_through_api(self): def test_resize_revert_through_api(self):
"""Ensure invalid flavors raise""" """Ensure invalid flavors raise"""
@@ -1561,7 +1562,7 @@ class ComputeAPITestCase(BaseTestCase):
'status': 'finished'}) 'status': 'finished'})
self.compute_api.revert_resize(context, instance) self.compute_api.revert_resize(context, instance)
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, instance['uuid'])
def test_resize_invalid_flavor_fails(self): def test_resize_invalid_flavor_fails(self):
"""Ensure invalid flavors raise""" """Ensure invalid flavors raise"""
@@ -1573,7 +1574,7 @@ class ComputeAPITestCase(BaseTestCase):
self.assertRaises(exception.NotFound, self.compute_api.resize, self.assertRaises(exception.NotFound, self.compute_api.resize,
context, instance, 200) context, instance, 200)
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, instance['uuid'])
def test_resize_down_fails(self): def test_resize_down_fails(self):
"""Ensure resizing down raises and fails""" """Ensure resizing down raises and fails"""
@@ -1589,7 +1590,7 @@ class ComputeAPITestCase(BaseTestCase):
self.assertRaises(exception.CannotResizeToSmallerSize, self.assertRaises(exception.CannotResizeToSmallerSize,
self.compute_api.resize, context, instance, 1) self.compute_api.resize, context, instance, 1)
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, instance['uuid'])
def test_resize_same_size_fails(self): def test_resize_same_size_fails(self):
"""Ensure invalid flavors raise""" """Ensure invalid flavors raise"""
@@ -1602,7 +1603,7 @@ class ComputeAPITestCase(BaseTestCase):
self.assertRaises(exception.CannotResizeToSameSize, self.assertRaises(exception.CannotResizeToSameSize,
self.compute_api.resize, context, instance, 1) self.compute_api.resize, context, instance, 1)
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, instance['uuid'])
def test_migrate(self): def test_migrate(self):
context = self.context.elevated() context = self.context.elevated()
@@ -1611,7 +1612,7 @@ class ComputeAPITestCase(BaseTestCase):
self.compute.run_instance(self.context, instance_id) self.compute.run_instance(self.context, instance_id)
# Migrate simply calls resize() without a flavor_id. # Migrate simply calls resize() without a flavor_id.
self.compute_api.resize(context, instance, None) self.compute_api.resize(context, instance, None)
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, instance['uuid'])
def test_resize_request_spec(self): def test_resize_request_spec(self):
def _fake_cast(context, args): def _fake_cast(context, args):
@@ -1629,7 +1630,7 @@ class ComputeAPITestCase(BaseTestCase):
try: try:
self.compute_api.resize(context, instance, None) self.compute_api.resize(context, instance, None)
finally: finally:
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, instance['uuid'])
def test_resize_request_spec_noavoid(self): def test_resize_request_spec_noavoid(self):
def _fake_cast(context, args): def _fake_cast(context, args):
@@ -1648,7 +1649,7 @@ class ComputeAPITestCase(BaseTestCase):
try: try:
self.compute_api.resize(context, instance, None) self.compute_api.resize(context, instance, None)
finally: finally:
self.compute.terminate_instance(context, instance_id) self.compute.terminate_instance(context, instance['uuid'])
def test_get_all_by_name_regexp(self): def test_get_all_by_name_regexp(self):
"""Test searching instances by name (display_name)""" """Test searching instances by name (display_name)"""
@@ -2104,7 +2105,8 @@ class ComputeAPITestCase(BaseTestCase):
for bdm in db.block_device_mapping_get_all_by_instance( for bdm in db.block_device_mapping_get_all_by_instance(
self.context, instance_id): self.context, instance_id):
db.block_device_mapping_destroy(self.context, bdm['id']) db.block_device_mapping_destroy(self.context, bdm['id'])
self.compute.terminate_instance(self.context, instance_id) instance = db.instance_get(self.context, instance_id)
self.compute.terminate_instance(self.context, instance['uuid'])
def test_volume_size(self): def test_volume_size(self):
local_size = 2 local_size = 2

View File

@@ -93,4 +93,4 @@ class UsageInfoTestCase(test.TestCase):
msg="Key %s not in payload" % attr) msg="Key %s not in payload" % attr)
image_ref_url = "%s/images/1" % utils.generate_glance_url() image_ref_url = "%s/images/1" % utils.generate_glance_url()
self.assertEquals(payload['image_ref_url'], image_ref_url) self.assertEquals(payload['image_ref_url'], image_ref_url)
self.compute.terminate_instance(self.context, instance_id) self.compute.terminate_instance(self.context, instance['uuid'])