summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Kölker <jason@koelker.net>2012-02-06 20:58:31 -0600
committerJason Kölker <jason@koelker.net>2012-02-07 09:30:50 -0600
commitdd4562e995155eb4903965e295b786a08ae36690 (patch)
tree772fc6740e24b7a608dd2278d097e593ba94bf85
parent88eb8b772890915550638720f59eed991789dcdc (diff)
downloadnova-dd4562e995155eb4903965e295b786a08ae36690.tar.gz
nova-dd4562e995155eb4903965e295b786a08ae36690.tar.xz
nova-dd4562e995155eb4903965e295b786a08ae36690.zip
Fix quantum client filters
filter_ops were not being appened to the url. Change-Id: Ic8bfcfc3ca09c578d521463273a0a17950d704b0
-rw-r--r--nova/network/quantum/client.py24
1 files changed, 7 insertions, 17 deletions
diff --git a/nova/network/quantum/client.py b/nova/network/quantum/client.py
index edd214326..5421bf12b 100644
--- a/nova/network/quantum/client.py
+++ b/nova/network/quantum/client.py
@@ -77,14 +77,12 @@ class api_call(object):
"""Temporarily set format and tenant for this request"""
(format, tenant) = (instance.format, instance.tenant)
- if 'format' in kwargs:
- instance.format = kwargs['format']
- if 'tenant' in kwargs:
- instance.tenant = kwargs['tenant']
+ instance.format = kwargs.pop('format', instance.format)
+ instance.tenant = kwargs.pop('tenant', instance.tenant)
ret = None
try:
- ret = self.func(instance, *args)
+ ret = self.func(instance, *args, **kwargs)
finally:
(instance.format, instance.tenant) = (format, tenant)
return ret
@@ -237,18 +235,11 @@ class Client(object):
format = self.format
return "application/%s" % (format)
- def append_filter_params(self, url, filter_ops):
- if len(filter_ops) > 0:
- url += "?"
- for fkey, fval in filter_ops.values():
- url += "%s=%s&" % (fkey, fval)
-
@api_call
- def list_networks(self, filter_ops={}):
+ def list_networks(self, filter_ops=None):
"""Fetches a list of all networks for a tenant"""
url = self.networks_path
- self.append_filter_params(url, filter_ops)
- return self.do_request("GET", url)
+ return self.do_request("GET", url, params=filter_ops)
@api_call
def show_network_details(self, network):
@@ -273,11 +264,10 @@ class Client(object):
return self.do_request("DELETE", self.network_path % (network))
@api_call
- def list_ports(self, network, filter_ops={}):
+ def list_ports(self, network, filter_ops=None):
"""Fetches a list of ports on a given network"""
url = self.ports_path % (network)
- self.append_filter_params(url, filter_ops)
- return self.do_request("GET", url)
+ return self.do_request("GET", url, params=filter_ops)
@api_call
def show_port_details(self, network, port):