summaryrefslogtreecommitdiffstats
path: root/nova/db
diff options
context:
space:
mode:
authorTrey Morris <trey.morris@rackspace.com>2011-06-27 16:48:03 -0500
committerTrey Morris <trey.morris@rackspace.com>2011-06-27 16:48:03 -0500
commit0a2c2e0975c3037372b47b09a7f547eb197ef7d7 (patch)
treea9bf06911ddd8765bb322727dce61c695502dcde /nova/db
parente2a734a19584a1d46b85e28e427320b4cd1a840c (diff)
parent8a8c013cd4513b07e936125a23188e7608f40d58 (diff)
trunk merge, getting fierce..
Diffstat (limited to 'nova/db')
-rw-r--r--nova/db/api.py10
-rw-r--r--nova/db/sqlalchemy/api.py21
2 files changed, 31 insertions, 0 deletions
diff --git a/nova/db/api.py b/nova/db/api.py
index a3a3d2b6b..b372ac6a7 100644
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -1094,6 +1094,16 @@ def provider_fw_rule_get_all(context):
return IMPL.provider_fw_rule_get_all(context)
+def provider_fw_rule_get_all_by_cidr(context, cidr):
+ """Get all provider-level firewall rules."""
+ return IMPL.provider_fw_rule_get_all_by_cidr(context, cidr)
+
+
+def provider_fw_rule_destroy(context, rule_id):
+ """Delete a provider firewall rule from the database."""
+ return IMPL.provider_fw_rule_destroy(context, rule_id)
+
+
###################
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index c3de412d7..d13efb874 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -2421,6 +2421,7 @@ def provider_fw_rule_create(context, rule):
return fw_rule_ref
+@require_admin_context
def provider_fw_rule_get_all(context):
session = get_session()
return session.query(models.ProviderFirewallRule).\
@@ -2428,6 +2429,26 @@ def provider_fw_rule_get_all(context):
all()
+@require_admin_context
+def provider_fw_rule_get_all_by_cidr(context, cidr):
+ session = get_session()
+ return session.query(models.ProviderFirewallRule).\
+ filter_by(deleted=can_read_deleted(context)).\
+ filter_by(cidr=cidr).\
+ all()
+
+
+@require_admin_context
+def provider_fw_rule_destroy(context, rule_id):
+ session = get_session()
+ with session.begin():
+ session.query(models.ProviderFirewallRule).\
+ filter_by(id=rule_id).\
+ update({'deleted': True,
+ 'deleted_at': utils.utcnow(),
+ 'updated_at': literal_column('updated_at')})
+
+
###################