diff options
| author | Chris Behrens <cbehrens@codestud.com> | 2012-07-28 06:13:07 +0000 |
|---|---|---|
| committer | Chris Behrens <cbehrens@codestud.com> | 2012-07-28 06:18:54 +0000 |
| commit | e425b65b3d7e0736ce14c7523c8af85754eda27b (patch) | |
| tree | 3a83d2ab7401bdd20fb6c078b0a26ea40ae8d564 /nova/tests | |
| parent | bad0a496c0e765da3cc879235c988b7cc617f367 (diff) | |
Make compute only auto-confirm its own instances
Fixes bug 1030226
Change-Id: I0e0cf0c9950f34b1bdab856b2e1c6872b29fdedc
Diffstat (limited to 'nova/tests')
| -rw-r--r-- | nova/tests/compute/test_compute.py | 8 | ||||
| -rw-r--r-- | nova/tests/test_db_api.py | 30 |
2 files changed, 28 insertions, 10 deletions
diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py index 40f053cc7..c5913d9d3 100644 --- a/nova/tests/compute/test_compute.py +++ b/nova/tests/compute/test_compute.py @@ -1981,7 +1981,9 @@ class ComputeTestCase(BaseTestCase): if instance['uuid'] == instance_uuid: return instance - def fake_migration_get_all_unconfirmed(context, resize_confirm_window): + def fake_migration_get_unconfirmed_by_dest_compute(context, + resize_confirm_window, dest_compute): + self.assertEqual(dest_compute, FLAGS.host) return migrations def fake_migration_update(context, migration_id, values): @@ -2000,8 +2002,8 @@ class ComputeTestCase(BaseTestCase): self.stubs.Set(db, 'instance_get_by_uuid', fake_instance_get_by_uuid) - self.stubs.Set(db, 'migration_get_all_unconfirmed', - fake_migration_get_all_unconfirmed) + self.stubs.Set(db, 'migration_get_unconfirmed_by_dest_compute', + fake_migration_get_unconfirmed_by_dest_compute) self.stubs.Set(db, 'migration_update', fake_migration_update) self.stubs.Set(self.compute.compute_api, 'confirm_resize', diff --git a/nova/tests/test_db_api.py b/nova/tests/test_db_api.py index 44efc0950..51850f03e 100644 --- a/nova/tests/test_db_api.py +++ b/nova/tests/test_db_api.py @@ -81,26 +81,42 @@ class DbApiTestCase(test.TestCase): else: self.assertTrue(result[1].deleted) - def test_migration_get_all_unconfirmed(self): + def test_migration_get_unconfirmed_by_dest_compute(self): ctxt = context.get_admin_context() # Ensure no migrations are returned. - results = db.migration_get_all_unconfirmed(ctxt, 10) + results = db.migration_get_unconfirmed_by_dest_compute(ctxt, 10, + 'fake_host') + self.assertEqual(0, len(results)) + + # Ensure no migrations are returned. + results = db.migration_get_unconfirmed_by_dest_compute(ctxt, 10, + 'fake_host2') self.assertEqual(0, len(results)) - # Ensure one migration older than 10 seconds is returned. updated_at = datetime.datetime(2000, 01, 01, 12, 00, 00) - values = {"status": "finished", "updated_at": updated_at} + values = {"status": "finished", "updated_at": updated_at, + "dest_compute": "fake_host2"} migration = db.migration_create(ctxt, values) - results = db.migration_get_all_unconfirmed(ctxt, 10) + + # Ensure different host is not returned + results = db.migration_get_unconfirmed_by_dest_compute(ctxt, 10, + 'fake_host') + self.assertEqual(0, len(results)) + + # Ensure one migration older than 10 seconds is returned. + results = db.migration_get_unconfirmed_by_dest_compute(ctxt, 10, + 'fake_host2') self.assertEqual(1, len(results)) db.migration_update(ctxt, migration.id, {"status": "CONFIRMED"}) # Ensure the new migration is not returned. updated_at = timeutils.utcnow() - values = {"status": "finished", "updated_at": updated_at} + values = {"status": "finished", "updated_at": updated_at, + "dest_compute": "fake_host2"} migration = db.migration_create(ctxt, values) - results = db.migration_get_all_unconfirmed(ctxt, 10) + results = db.migration_get_unconfirmed_by_dest_compute(ctxt, 10, + "fake_host2") self.assertEqual(0, len(results)) db.migration_update(ctxt, migration.id, {"status": "CONFIRMED"}) |
