summaryrefslogtreecommitdiffstats
path: root/nova/db
diff options
context:
space:
mode:
authorDevin Carlen <devin.carlen@gmail.com>2010-09-11 11:19:22 -0700
committerDevin Carlen <devin.carlen@gmail.com>2010-09-11 11:19:22 -0700
commitf24f20948cf7e6cc0e14c2b1fc41a61d8d2fa34c (patch)
treee63d0feafd4ea65007d9d6fcbdd7d4355c6d7ce9 /nova/db
parentedccf3f6cf95a4869d7900032a5a6c8eaa65cd18 (diff)
Security Group API layer cleanup
Diffstat (limited to 'nova/db')
-rw-r--r--nova/db/api.py5
-rw-r--r--nova/db/sqlalchemy/api.py11
2 files changed, 16 insertions, 0 deletions
diff --git a/nova/db/api.py b/nova/db/api.py
index cdbd15486..cf39438c2 100644
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -471,6 +471,11 @@ def security_group_get_by_instance(context, instance_id):
return IMPL.security_group_get_by_instance(context, instance_id)
+def securitygroup_exists(context, project_id, group_name):
+ """Indicates if a group name exists in a project"""
+ return IMPL.securitygroup_exists(context, project_id, group_name)
+
+
def security_group_create(context, values):
"""Create a new security group"""
return IMPL.security_group_create(context, values)
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index f3d4b68c4..513b47bc9 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -667,8 +667,19 @@ def security_group_get_by_instance(_context, instance_id):
).all()
+def securitygroup_exists(_context, project_id, group_name):
+ try:
+ group = securitygroup_get_by_name(_context, project_id, group_name)
+ return group != None
+ except exception.NotFound:
+ return False
+
+
def security_group_create(_context, values):
security_group_ref = models.SecurityGroup()
+ # FIXME(devcamcar): Unless I do this, rules fails with lazy load exception
+ # once save() is called. This will get cleaned up in next orm pass.
+ security_group_ref.rules
for (key, value) in values.iteritems():
security_group_ref[key] = value
security_group_ref.save()