summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorChristian Berendt <berendt@b1-systems.de>2011-02-17 16:58:00 +0100
committerChristian Berendt <berendt@b1-systems.de>2011-02-17 16:58:00 +0100
commit7bb9e4c598f829a16cc6444346e087ddb506182a (patch)
tree2d30e3dce194b73f38877dcf77a98b53e038fc20 /nova
parent7798a551e39cf39a26e966f7ef7ecea52b3f77c3 (diff)
downloadnova-7bb9e4c598f829a16cc6444346e087ddb506182a.tar.gz
nova-7bb9e4c598f829a16cc6444346e087ddb506182a.tar.xz
nova-7bb9e4c598f829a16cc6444346e087ddb506182a.zip
added new functionality to list all defined fixed ips
Diffstat (limited to 'nova')
-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 789cb8ebb..2b621044a 100644
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -288,6 +288,11 @@ def fixed_ip_disassociate_all_by_timeout(context, host, time):
return IMPL.fixed_ip_disassociate_all_by_timeout(context, host, time)
+def fixed_ip_get_all(context):
+ """Get all defined fixed ips."""
+ return IMPL.fixed_ip_get_all(context)
+
+
def fixed_ip_get_by_address(context, address):
"""Get a fixed ip by address or raise if it does not exist."""
return IMPL.fixed_ip_get_by_address(context, address)
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 02855e7a9..55f2f28bd 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -583,6 +583,17 @@ def fixed_ip_disassociate_all_by_timeout(_context, host, time):
return result.rowcount
+@require_admin_context
+def fixed_ip_get_all(context, session=None):
+ if not session:
+ session = get_session()
+ result = session.query(models.FixedIp).all()
+ if not result:
+ raise exception.NotFound(_('No fixed ips defined'))
+
+ return result
+
+
@require_context
def fixed_ip_get_by_address(context, address, session=None):
if not session: