gate-nova-python34 fails to install rfc3986 due to UnicodeDecodeError

Bug #1460206 reported by Matt Riedemann
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Medium
Ian Cordasco

Bug Description

This non-voting job just got turned on yesterday and it's failing consistently:

http://logs.openstack.org/15/186315/4/check/gate-nova-python34/c48b0f5/console.html#_2015-05-29_15_57_16_241

2015-05-29 15:57:16.241 | Collecting rfc3986>=0.2.0 (from -r /home/jenkins/workspace/gate-nova-python34/requirements.txt (line 46))
2015-05-29 15:57:16.241 | Downloading http://pypi.region-b.geo-1.openstack.org/packages/source/r/rfc3986/rfc3986-0.2.2.tar.gz
2015-05-29 15:57:16.241 | Complete output from command python setup.py egg_info:
2015-05-29 15:57:16.241 | Traceback (most recent call last):
2015-05-29 15:57:16.242 | File "<string>", line 20, in <module>
2015-05-29 15:57:16.242 | File "/tmp/tmp.ALfXvU5OeC/pip-build-ottfpn10/rfc3986/setup.py", line 22, in <module>
2015-05-29 15:57:16.242 | readme = f.read()
2015-05-29 15:57:16.242 | File "/home/jenkins/workspace/gate-nova-python34/.tox/py34/lib/python3.4/encodings/ascii.py", line 26, in decode
2015-05-29 15:57:16.242 | return codecs.ascii_decode(input, self.errors)[0]
2015-05-29 15:57:16.242 | UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 1030: ordinal not in range(128)
2015-05-29 15:57:16.242 |
2015-05-29 15:57:16.242 | ----------------------------------------
2015-05-29 15:57:16.242 | Command "python setup.py egg_info" failed with error code 1 in /tmp/tmp.ALfXvU5OeC/pip-build-ottfpn10/rfc3986

pypi says that library supports python 3.4, so maybe something from the distro is required for this to work? nova doesn't have a requirements-py3.txt file, not sure if we don't need this for py34?

Tags: testing py3
Matt Riedemann (mriedem)
Changed in nova:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Matt Riedemann (mriedem) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

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

Changed in nova:
assignee: nobody → Ian Cordasco (icordasc)
status: Confirmed → In Progress
Revision history for this message
Ian Cordasco (icordasc) wrote :

This would seem to be a problem where the locale settings are different on Rackspace and HP Cloud boxes. Passing LC_* through doesn't seem to fix this, so we're going to test a fix that worked for ironicclient (https://review.openstack.org/#/c/183339/3/tox.ini). If the next round of tests don't run on an hpcloud instance, I'm going to recheck until they do.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/186922
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=19543c983f25aad1adbe26d4c6ecf486b35cf5f4
Submitter: Jenkins
Branch: master

commit 19543c983f25aad1adbe26d4c6ecf486b35cf5f4
Author: Ian Cordasco <email address hidden>
Date: Fri May 29 16:41:44 2015 -0500

    Force the value of LC_ALL to be en_US.UTF-8

    On Python 3, if LC_ALL is not passed then the interpreter will assume it
    is C (which causes the interpreter to use ASCII). This, in turn, causes
    the unicode in the README.rst for rfc3986 to trigger a UnicodeDecodeError
    exception.

    jlvillal (John Villalovos) pointed out
    I340c88ea7d098ca5943d60adc73f63a0af79a405 in IRC as the fix to this bug.

    Closes-bug: 1460206
    Change-Id: If05e3fe76450c06431413f63e46e154cf44fc1cf

Changed in nova:
status: In Progress → Fix Committed
Revision history for this message
Victor Stinner (vstinner) wrote :

It's a real bug in fc3986, but the bug is specific to Python 3.

I proposed a fix upstream:
https://github.com/sigmavirus24/rfc3986/pull/14

Thierry Carrez (ttx)
Changed in nova:
milestone: none → liberty-1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: liberty-1 → 12.0.0
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.