diff options
| author | Christian Berendt <berendt@b1-systems.de> | 2011-02-27 00:07:03 +0100 |
|---|---|---|
| committer | Christian Berendt <berendt@b1-systems.de> | 2011-02-27 00:07:03 +0100 |
| commit | 2714b2df0d21ecb08966c4d145d2d75fa1bb201d (patch) | |
| tree | d49af3287d5114f4bfa73cb8b30b3504b60e3503 /nova | |
| parent | 493aa34da71e7dc3c28c6a55254b6d7ed4d81b72 (diff) | |
| download | nova-2714b2df0d21ecb08966c4d145d2d75fa1bb201d.tar.gz nova-2714b2df0d21ecb08966c4d145d2d75fa1bb201d.tar.xz nova-2714b2df0d21ecb08966c4d145d2d75fa1bb201d.zip | |
fixed FIXME
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/db/sqlalchemy/api.py | 16 |
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')) |
