summaryrefslogtreecommitdiffstats
path: root/nova/compute
diff options
context:
space:
mode:
authorJosh Kearney <josh@jk0.org>2011-09-19 16:02:29 -0500
committerJosh Kearney <josh@jk0.org>2011-09-19 16:02:29 -0500
commitbff43a5f0da9a891386d2d09464fb8f5e222d46d (patch)
tree5e2cef98a04ccd01a86d7ece7523716837e5df1c /nova/compute
parent66977838d02ad51ced525321b21e648bcc2065bc (diff)
parent3da916de6165e1e7012f61a05a6a0d9d06906b48 (diff)
PEP8 cleanup.
Diffstat (limited to 'nova/compute')
-rw-r--r--nova/compute/api.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py
index d8657d403..853e6ef9e 100644
--- a/nova/compute/api.py
+++ b/nova/compute/api.py
@@ -905,7 +905,7 @@ class API(base.Base):
if 'reservation_id' in filters:
recurse_zones = True
- instances = self.db.instance_get_all_by_filters(context, filters)
+ instances = self._get_instances_by_filters(context, filters)
if not recurse_zones:
return instances
@@ -930,6 +930,17 @@ class API(base.Base):
return instances
+ def _get_instances_by_filters(self, context, filters):
+ ids = None
+ if 'ip6' in filters or 'ip' in filters:
+ res = self.network_api.get_instance_uuids_by_ip_filter(context,
+ filters)
+ # NOTE(jkoelker) It is possible that we will get the same
+ # instance uuid twice (one for ipv4 and ipv6)
+ ids = set([r['instance_uuid'] for r in res])
+
+ return self.db.instance_get_all_by_filters(context, filters, ids)
+
def _cast_compute_message(self, method, context, instance_id, host=None,
params=None):
"""Generic handler for RPC casts to compute.