summaryrefslogtreecommitdiffstats
path: root/nova/db
diff options
context:
space:
mode:
authorBoris Pavlovic <boris@pavlovic.me>2013-04-24 00:41:42 +0400
committerBoris Pavlovic <boris@pavlovic.me>2013-04-25 20:31:30 +0400
commit481d4a767e324e956af4afcb510eac802a9efa7a (patch)
tree1d2726a169dcbc870a63d03c9f1d73d0e1bfd112 /nova/db
parent923bcb72eac497d454f7ed6f22372557a9c83c71 (diff)
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
Diffstat (limited to 'nova/db')
-rw-r--r--nova/db/sqlalchemy/api.py7
1 files changed, 6 insertions, 1 deletions
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]