summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorChristian Berendt <berendt@b1-systems.de>2011-02-27 00:07:03 +0100
committerChristian Berendt <berendt@b1-systems.de>2011-02-27 00:07:03 +0100
commit2714b2df0d21ecb08966c4d145d2d75fa1bb201d (patch)
treed49af3287d5114f4bfa73cb8b30b3504b60e3503 /nova
parent493aa34da71e7dc3c28c6a55254b6d7ed4d81b72 (diff)
downloadnova-2714b2df0d21ecb08966c4d145d2d75fa1bb201d.tar.gz
nova-2714b2df0d21ecb08966c4d145d2d75fa1bb201d.tar.xz
nova-2714b2df0d21ecb08966c4d145d2d75fa1bb201d.zip
fixed FIXME
Diffstat (limited to 'nova')
-rw-r--r--nova/db/sqlalchemy/api.py16
1 files changed, 5 insertions, 11 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index d07c53759..828d24c78 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -598,17 +598,11 @@ def fixed_ip_get_all(context, session=None):
def fixed_ip_get_all_by_host(context, host=None):
session = get_session()
- # FIXME: I'm sure that SQLAlchemy can handle this in a nicer way
- instances = session.query(models.Instance).\
- filter_by(state=1).\
- filter_by(host=host).\
- all()
-
- result = []
- for instance in instances:
- result.append(session.query(models.FixedIp).\
- filter_by(instance_id=instance['id']).\
- first())
+ result = session.query(models.FixedIp).\
+ join(models.FixedIp.instance).\
+ filter_by(state=1).\
+ filter_by(host=host).\
+ all()
if not result:
raise exception.NotFound(_('No fixed ips for this host defined'))