From 481d4a767e324e956af4afcb510eac802a9efa7a Mon Sep 17 00:00:00 2001 From: Boris Pavlovic Date: Wed, 24 Apr 2013 00:41:42 +0400 Subject: Fix bug in db.instance_type_destroy Fix db.instance_type_destroy() Corresponding instance_type_projects weren't deleted Fix db.instance_type_acces_get_by_flavor_id method Return [] list if there is no such instance_type instead of AttributeError Fixes bug 1172153 Change-Id: Ib1a9a23aa6e26711c198bf4a5059797044c44426 --- nova/db/sqlalchemy/api.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'nova/db') diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index f22a95066..b6267f81a 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -3761,6 +3761,10 @@ def instance_type_destroy(context, name): session.query(models.InstanceTypeExtraSpecs).\ filter_by(instance_type_id=instance_type_id).\ soft_delete() + model_query(context, models.InstanceTypeProjects, + session=session, read_deleted="no").\ + filter_by(instance_type_id=instance_type_id).\ + soft_delete() @require_context @@ -3775,7 +3779,8 @@ def instance_type_access_get_by_flavor_id(context, flavor_id): instance_type_ref = _instance_type_get_query(context).\ filter_by(flavorid=flavor_id).\ first() - + if not instance_type_ref: + return [] return [r for r in instance_type_ref.projects] -- cgit