diff options
author | Jason Kölker <jason@koelker.net> | 2012-02-06 20:58:31 -0600 |
---|---|---|
committer | Jason Kölker <jason@koelker.net> | 2012-02-07 09:30:50 -0600 |
commit | dd4562e995155eb4903965e295b786a08ae36690 (patch) | |
tree | 772fc6740e24b7a608dd2278d097e593ba94bf85 | |
parent | 88eb8b772890915550638720f59eed991789dcdc (diff) | |
download | nova-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.py | 24 |
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): |