neutron net-list - Request URI Too Long

Bug #1422736 reported by Mark Rawlings
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-neutronclient
Fix Released
Medium
Mark Rawlings

Bug Description

With a large number of nets and subnets (>220) the neutron 2.3.10 client responds as below.

# /opt/stack/venvs/openstack/bin/neutron --version
2.3.10
# /opt/stack/venvs/openstack/bin/neutron net-list
Request URI Too Long
#

For comparison the neutron 2.3.9 client responds appropriately

# /opt/stack/venvs/openstack/bin/neutron --version
2.3.9
# /opt/stack/venvs/openstack/bin/neutron net-list
+--------------------------------------+-------------+----------------------------------------------------+
| id | name | subnets |
+--------------------------------------+-------------+----------------------------------------------------+
| 00e37816-cfcf-4159-8a28-98b670d3349f | mrnet_60 | da49fa07-6504-47ee-8ffc-9e58680489ad 10.0.60.0/24 |
| 01bf9cc8-a595-49f8-a142-137127527369 | mrnet_169 | dedd1623-7feb-4bf5-9314-5923979bd3b7 10.0.169.0/24 |
| 02c1f253-8d95-4176-aa26-d176b163288d | mrnet_195 | be29f7b7-9935-4b51-8b88-94e8a7b581fb 10.0.195.0/24 |
| 031d0d46-424b-4db1-b2c5-f7c5ad1864a4 |
....

I have issued the 2.3.9 and 2.3.10 commands with the --debug option and attached the resultant logs.

Note: I have formatted the log files to remove the extremely long lines from the logs. The files are easier to read and compare. The still contain the same content.

This issue appears similar to Bug #1172537 but I am not sure the cause is the same.

Revision history for this message
Mark Rawlings (mark-rawlings) wrote :
Revision history for this message
Mark Rawlings (mark-rawlings) wrote :

2nd attachment

Revision history for this message
Mark Rawlings (mark-rawlings) wrote :

I'm currently considering marking this as invalid myself.

It appears I was not using the tagged version of 2.3.10, but a head-of-line version. I've subsequently found the merge that appears to cause this issue.

The version I was using also predates the python-neutronclient update to *require* python-keystoneclient 1.0.0.

 I don't believe this issue warrants any action. I will update again shortly.

Revision history for this message
Mark Rawlings (mark-rawlings) wrote :

This appears to be valid.

I have replicated with devstack as of Feb-24th.

# neutron --version
2.3.10
# keystone --version
0.11.2

I have created 220 nets and subnets and the response/traceback for this neutron/keystone pairing is identical to the 2.3.10 neutron attachment.

The following exception is raised, but not handled.

        NeutronClientException: Request URI Too Long

I believe this *may* also be related to the update made for Bug #1403726. This appears to remove the check_uri_length method which raised this exception. I'm not clear as to what component, if any, should now be providing the same capability following this removal.

Regards, Mark

Revision history for this message
Mark Rawlings (mark-rawlings) wrote :

Cut-n-paste error from the wrong screen.
Versions actually;'

neutron --version
2.3.11

keystone --version
1.1.0

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-neutronclient (master)

Fix proposed to branch: master
Review: https://review.openstack.org/160923

Changed in python-neutronclient:
assignee: nobody → Mark Rawlings (mark-rawlings)
status: New → In Progress
Kyle Mestery (mestery)
Changed in python-neutronclient:
milestone: none → 2.3.12
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-neutronclient (master)

Reviewed: https://review.openstack.org/160923
Committed: https://git.openstack.org/cgit/openstack/python-neutronclient/commit/?id=4b6ed760d4303744907feefd81e60f38ae3750ef
Submitter: Jenkins
Branch: master

commit 4b6ed760d4303744907feefd81e60f38ae3750ef
Author: Mark Rawlings <email address hidden>
Date: Tue Mar 3 18:03:58 2015 +0000

    Reinstate Max URI length checking to V2_0 Client

    A previous commit 799e288f48e5d99731dedbfb94808a8cbe01c05c
    has broken the ability to recognise long URIs (>8192) and
    raise an exception used to prevent the excessive URI being sent
    to the server. This impacts the commands net-list and
    security-group-rule-list.

    The previous edit removed one of the duplicate _check_uri_length functions.
    This edit 'swaps' the removal and updates the unit test stubbing accordingly.

    The capability to split excessive URIs into managable chunks remained in
    the code, but no longer executed because this exception was not raised.
    It should be noted that as a side effect of recognising the
    long URI, data is returned with the exception that indicates
    'how excessive' the URI length was. This allows the URI to be
    broken into chunks that will be supported.

    Restore the capability to recognise that an excessive URI has
    been provided and to raise the expected exception with
    related data.

    Closes-Bug: #1422736
    Change-Id: I1b719bed406b83c5f2deac06e127798a91f51ad7

Changed in python-neutronclient:
status: In Progress → Fix Committed
Kyle Mestery (mestery)
Changed in python-neutronclient:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.