diff --git a/nova/compute/instance_types.py b/nova/compute/instance_types.py index eb8ac706d0c1..68696726e11c 100644 --- a/nova/compute/instance_types.py +++ b/nova/compute/instance_types.py @@ -128,7 +128,7 @@ def get_default_instance_type(): return get_instance_type_by_name(name) -def get_instance_type(instance_type_id, ctxt=None): +def get_instance_type(instance_type_id, ctxt=None, inactive=False): """Retrieves single instance type by id.""" if instance_type_id is None: return get_default_instance_type() @@ -136,6 +136,9 @@ def get_instance_type(instance_type_id, ctxt=None): if ctxt is None: ctxt = context.get_admin_context() + if inactive: + ctxt = ctxt.elevated(read_deleted="yes") + return db.instance_type_get(ctxt, instance_type_id) diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index dc02a413901a..30cde650b965 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -1678,7 +1678,8 @@ class LibvirtDriver(driver.ComputeDriver): """ # FIXME(vish): stick this in db inst_type_id = instance['instance_type_id'] - inst_type = instance_types.get_instance_type(inst_type_id) + inst_type = instance_types.get_instance_type(inst_type_id, + inactive=True) guest = config.LibvirtConfigGuest() guest.virt_type = FLAGS.libvirt_type