add instance_type_extra_specs to instances

Adding instance_type_extra_specs as instance['extra_specs']
so that this info is passed to driver.spawn() later on.
This is needed by the baremetal driver.

Change-Id: Icbfba835c9a060193597cc00a7c0e404b7ccfdd4
This commit is contained in:
Devananda van der Veen
2012-11-14 11:25:14 -08:00
parent 8a24b96f56
commit c98c80d3cd

View File

@@ -304,6 +304,41 @@ class DbApiTestCase(test.TestCase):
self.assertEquals("building", old_ref["vm_state"])
self.assertEquals("needscoffee", new_ref["vm_state"])
def test_instance_update_with_extra_specs(self):
"""Ensure _extra_specs are returned from _instance_update"""
ctxt = context.get_admin_context()
# create a flavor
inst_type_dict = dict(
name="test_flavor",
memory_mb=1,
vcpus=1,
root_gb=1,
ephemeral_gb=1,
flavorid=105)
inst_type_ref = db.instance_type_create(ctxt, inst_type_dict)
# add some extra spec to our flavor
spec = {'test_spec': 'foo'}
db.instance_type_extra_specs_update_or_create(
ctxt,
inst_type_ref['flavorid'],
spec)
# create instance, just populates db, doesn't pull extra_spec
instance = db.instance_create(
ctxt,
{'instance_type_id': inst_type_ref['id']})
self.assertNotIn('extra_specs', instance)
# update instance, used when starting instance to set state, etc
(old_ref, new_ref) = db.instance_update_and_get_original(
ctxt,
instance['uuid'],
{})
self.assertEquals(spec, old_ref['extra_specs'])
self.assertEquals(spec, new_ref['extra_specs'])
def test_instance_fault_create(self):
"""Ensure we can create an instance fault"""
ctxt = context.get_admin_context()