summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorChris Behrens <cbehrens@codestud.com>2012-11-14 17:25:43 +0000
committerChris Behrens <cbehrens@codestud.com>2012-11-14 17:30:17 +0000
commit9fdf7552779d518af9cda4e366bf81fddb0cb6f2 (patch)
tree8a8eb929a580d62ed2347253af201a754684ae46 /nova/tests
parent16266a4afbfdbed5e3c2334e03e2c9c43b133020 (diff)
Make sure instance data is always refreshed
Fixes bug 1078793 When updating an instance's instance_type_id, the 'instance_type' joined to the instance is not updated. This updates that. A DB API test is added that failed before and passes now. Also: Some cases of passing stale instance data within resize_instance() and finish_resize() were found and addressed. Change-Id: If335cc286a71597d3100425080e51c75aeec7a50
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_db_api.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/nova/tests/test_db_api.py b/nova/tests/test_db_api.py
index 39d3e1b1f..31d1b01b2 100644
--- a/nova/tests/test_db_api.py
+++ b/nova/tests/test_db_api.py
@@ -272,6 +272,26 @@ class DbApiTestCase(test.TestCase):
system_meta = db.instance_system_metadata_get(ctxt, instance.uuid)
self.assertEqual('baz', system_meta['original_image_ref'])
+ def test_instance_update_of_instance_type_id(self):
+ ctxt = context.get_admin_context()
+
+ inst_type1 = db.instance_type_get_by_name(ctxt, 'm1.tiny')
+ inst_type2 = db.instance_type_get_by_name(ctxt, 'm1.small')
+
+ values = {'instance_type_id': inst_type1['id']}
+ instance = db.instance_create(ctxt, values)
+
+ self.assertEqual(instance['instance_type']['id'], inst_type1['id'])
+ self.assertEqual(instance['instance_type']['name'],
+ inst_type1['name'])
+
+ values = {'instance_type_id': inst_type2['id']}
+ instance = db.instance_update(ctxt, instance['uuid'], values)
+
+ self.assertEqual(instance['instance_type']['id'], inst_type2['id'])
+ self.assertEqual(instance['instance_type']['name'],
+ inst_type2['name'])
+
def test_instance_update_with_and_get_original(self):
ctxt = context.get_admin_context()