summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-01-04 13:06:18 +0000
committerGerrit Code Review <review@openstack.org>2013-01-04 13:06:18 +0000
commit90f4b3ba15578e7a99189e128209bfc286e91d42 (patch)
treedd59d8a41453a0762d57de74fa40469d550d6d02
parentbe22c7fb23448980a2ed1e8dee28abb376e89faf (diff)
parent5425824271b36c3b9822c76af47c27fc3f338df5 (diff)
Merge "db.security_group_rule_destroy() method performance optimization"
-rw-r--r--nova/db/sqlalchemy/api.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index a1cca73be..e37ccac92 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -3249,10 +3249,12 @@ def security_group_rule_create(context, values):
def security_group_rule_destroy(context, security_group_rule_id):
session = get_session()
with session.begin():
- security_group_rule = security_group_rule_get(context,
- security_group_rule_id,
- session=session)
- security_group_rule.delete(session=session)
+ count = _security_group_rule_get_query(context, session=session).\
+ filter_by(id=security_group_rule_id).\
+ soft_delete()
+ if count == 0:
+ raise exception.SecurityGroupNotFoundForRule(
+ rule_id=security_group_rule_id)
@require_context