[openstack-dev] [neutron][api] GET call with huge argument list

Ryan Brown rybrown at redhat.com
Wed Jan 20 20:33:46 UTC 2016


So having a URI too long error is, in this case, likely an indication 
that you're requesting too many things at once.

You could:
1. Request 100 at a time in parallel
2. Find a query that would give you all those networks & page through 
the reply
3. Page through all the user's networks and filter client-side

How is the user supposed to be assembling this giant UUID list? I'd 
think it would be easier for them to specify a query (e.g. "get usage 
data for all my production subnets" or something).

On 01/19/2016 06:59 PM, Shraddha Pandhe wrote:
> Hi folks,
>
>
> I am writing a Neutron extension which needs to take 1000s of
> network-ids as argument for filtering. The CURL call is as follows:
>
> curl -i -X GET
> 'http://hostname:port/neutron/v2.0/extension_name.json?net-id=fffecbd1-0f6d-4f02-aee7-ca62094830f5&net-id=fffeee07-4f94-4cff-bf8e-a2aa7be59e2e'
> -H "User-Agent: python-neutronclient" -H "Accept: application/json" -H
> "X-Auth-Token: cccccccccccccccccccccccccccccccc"
>
>
> The list of net-ids can go up to 1000s. The problem is, with such large
> url, I get the "Request URI too long" error. I don't want to update this
> limit as proxies can have their own limits.
>
> What options do I have to send 1000s of network IDs?
>
> 1. -d '{}' is not a recommended option for GET call and wsgi Controller
> drops the data part when routing the request.
>
> 2. Use POST instead of GET? I will need to write the get_<resource>
> logic inside create_resource logic for this to work. Its a hack, but
> complies with HTTP standard.
>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>

-- 
Ryan Brown / Senior Software Engineer, Openstack / Red Hat, Inc.



More information about the OpenStack-dev mailing list