summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorChris Behrens <cbehrens@codestud.com>2012-07-28 06:13:07 +0000
committerChris Behrens <cbehrens@codestud.com>2012-07-28 06:18:54 +0000
commite425b65b3d7e0736ce14c7523c8af85754eda27b (patch)
tree3a83d2ab7401bdd20fb6c078b0a26ea40ae8d564 /nova/tests
parentbad0a496c0e765da3cc879235c988b7cc617f367 (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.py8
-rw-r--r--nova/tests/test_db_api.py30
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"})