summaryrefslogtreecommitdiffstats
path: root/nova/db
diff options
context:
space:
mode:
authorDevin Carlen <devin.carlen@gmail.com>2010-09-29 20:35:24 -0700
committerDevin Carlen <devin.carlen@gmail.com>2010-09-29 20:35:24 -0700
commitea5dcda819f2656589df177331f693f945d98f4a (patch)
tree37f01bdd74589e817fa5a34eeba0a6bd425b0831 /nova/db
parentd32d95e08d67084ea04ccd1565ce6faffb1766ce (diff)
downloadnova-ea5dcda819f2656589df177331f693f945d98f4a.tar.gz
nova-ea5dcda819f2656589df177331f693f945d98f4a.tar.xz
nova-ea5dcda819f2656589df177331f693f945d98f4a.zip
Finished instance context auth
Diffstat (limited to 'nova/db')
-rw-r--r--nova/db/sqlalchemy/api.py32
1 files changed, 29 insertions, 3 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 9ab53b89b..2d553d98d 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -794,11 +794,21 @@ def key_pair_get_all_by_user(_context, user_id):
###################
-def network_count(_context):
- return models.Network.count()
+#@require_admin_context
+def network_count(context):
+ if not is_admin_context(context):
+ raise exception.NotAuthorized()
+ return session.query(models.Network
+ ).filter_by(deleted=deleted
+ ).count()
+
+#@require_admin_context
def network_count_allocated_ips(_context, network_id):
+ if not is_admin_context(context):
+ raise exception.NotAuthorized()
+
session = get_session()
return session.query(models.FixedIp
).filter_by(network_id=network_id
@@ -807,7 +817,11 @@ def network_count_allocated_ips(_context, network_id):
).count()
+#@require_admin_context
def network_count_available_ips(_context, network_id):
+ if not is_admin_context(context):
+ raise exception.NotAuthorized()
+
session = get_session()
return session.query(models.FixedIp
).filter_by(network_id=network_id
@@ -817,7 +831,11 @@ def network_count_available_ips(_context, network_id):
).count()
+#@require_admin_context
def network_count_reserved_ips(_context, network_id):
+ if not is_admin_context(context):
+ raise exception.NotAuthorized()
+
session = get_session()
return session.query(models.FixedIp
).filter_by(network_id=network_id
@@ -826,7 +844,11 @@ def network_count_reserved_ips(_context, network_id):
).count()
+#@require_admin_context
def network_create(_context, values):
+ if not is_admin_context(context):
+ raise exception.NotAuthorized()
+
network_ref = models.Network()
for (key, value) in values.iteritems():
network_ref[key] = value
@@ -834,7 +856,11 @@ def network_create(_context, values):
return network_ref
-def network_destroy(_context, network_id):
+#@require_admin_context
+def network_destroy(context, network_id):
+ if not is_admin_context(context):
+ raise exception.NotAuthorized()
+
session = get_session()
with session.begin():
# TODO(vish): do we have to use sql here?