Bug 1122114 - keystone outputs unicode instead of UTF8 causing grep, cat and > to fail with chars above 127
Summary: keystone outputs unicode instead of UTF8 causing grep, cat and > to fail with...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-keystoneclient
Version: 4.0
Hardware: All
OS: All
high
high
Target Milestone: ---
: 4.0
Assignee: Jamie Lennox
QA Contact: Ami Jeain
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-22 14:50 UTC by Jeff Dexter
Modified: 2019-05-20 11:14 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-09-29 23:02:18 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Jeff Dexter 2014-07-22 14:50:18 UTC
Please backport to RHOSP4
Bug 1076869
https://bugzilla.redhat.com/show_bug.cgi?id=1076869

Comment 3 Jamie Lennox 2014-08-28 05:08:02 UTC
On a fresh VM with centos 6, and latest public RHOS4.

[cloud-user@rhos4-utf8-test ~]$ yum info python-keystoneclient
Installed Packages
Name        : python-keystoneclient
Arch        : noarch
Epoch       : 1
Version     : 0.7.1
Release     : 2.el6

[cloud-user@rhos4-utf8-test ~]$ keystone user-list | cat
+----------------------------------+----------------------+---------+----------------------+
|                id                |         name         | enabled |        email         |
+----------------------------------+----------------------+---------+----------------------+
| 23bf559e405a4a108a9bb23b2605cee1 | Intërԉâtìònãɭïzátí߀ԉ |   True  |                      |
| c94ddfd2efdc4c468f1e0267bb0c7e25 |        admin         |   True  |                      |
| aff6eb7c500a432ba1f4eb326e2e792e |       alt_demo       |   True  | alt_demo |
| 231fb6f27af94836900bdc3430330a5b |        cinder        |   True  |                      |
| 22c6ab38b0ed497198e8349edceaf802 |         demo         |   True  |   demo   |
| f198818eb5194006ab00cb049d2994c0 |        glance        |   True  |                      |
| eb641f27e741493e87eb1df92989a419 |         heat         |   True  |                      |
| b531c60383c14a1e82e75f87cede5d0e |         nova         |   True  |                      |
+----------------------------------+----------------------+---------+----------------------+


[cloud-user@rhos4-utf8-test ~]$ env
LC_PAPER=en_GB.UTF-8
HOSTNAME=rhos4-utf8-test
LC_MONETARY=en_GB.UTF-8
SELINUX_ROLE_REQUESTED=
TERM=xterm-256color
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=10.64.40.105 41306 22
SELINUX_USE_CURRENT_RANGE=
LC_NUMERIC=en_GB.UTF-8
OLDPWD=/etc/yum.repos.d
SSH_TTY=/dev/pts/0
USER=cloud-user
LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lz=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.bz=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.rar=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
SSH_AUTH_SOCK=/tmp/ssh-hmJswx1149/agent.1149
MAIL=/var/spool/mail/cloud-user
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/cloud-user/bin
PWD=/home/cloud-user
OS_PASSWORD=admin
XMODIFIERS=@im=ibus
LANG=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
SELINUX_LEVEL_REQUESTED=
OS_AUTH_URL=http://192.168.187.15:35357/v2.0
HISTCONTROL=ignoredups
OS_USERNAME=admin
SHLVL=1
HOME=/home/cloud-user
OS_TENANT_NAME=admin
LOGNAME=cloud-user
SSH_CONNECTION=10.64.40.105 41306 192.168.187.22 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
LC_TIME=en_GB.UTF-8
G_BROKEN_FILENAMES=1
_=/bin/env


So it appears that keystoneclient is ok, maybe it was an env issue initially?

Comment 7 Nathan Kinder 2014-09-29 23:02:18 UTC
This is working fine for me with the current RHOS4 packages:

----------------------------------------------------------------------------------------------------
[rhosuser@rhos ~(keystone_admin)]$ keystone user-create --name César --tenant admin --pass xxxxxxxx --email César
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |              César               |
| enabled  |               True               |
|    id    | fe71be20113446dfbfd1815836370c1f |
|   name   |              César               |
| tenantId | 7dad49e0591e4ba2abf067150efbbb96 |
+----------+----------------------------------+
[rhosuser@rhos ~(keystone_admin)]$ keystone user-list | cat
+----------------------------------+------------+---------+----------------------+
|                id                |    name    | enabled |        email         |
+----------------------------------+------------+---------+----------------------+
| fe71be20113446dfbfd1815836370c1f |   César    |   True  |        César         |
...
[rhosuser@rhos ~(keystone_admin)]$ rpm -q openstack-keystone python-keystoneclient
openstack-keystone-2013.2.3-8.el6ost.noarch
python-keystoneclient-0.7.1-2.el6ost.noarch
----------------------------------------------------------------------------------------------------

Closing this as CURRENTRELEASE.

Comment 8 Pablo Caruana 2014-10-20 19:16:13 UTC
Apologies for the delayed reply as finally I got some customer feedback on this:

they face the issue with the 'ñ' (ASCII CODE 164)

on customer words

The problem is that Keystone is not properly using UTF-8 as the default encoding in RHOS 4.0. I had to apply a manual patch to Keystone that uses UTF-8 as the default encoding:

# rpm -qf /usr/lib/python2.6/site-packages/keystone/__init__.py
python-keystone-2013.2.3-8.el6ost.noarch

# yum install ipa-python

# cd /usr/lib/python2.6/site-packages/keystone
# patch -p0 << EOF
­­­ __init__.py.orig    2013­12­03 10:41:10.021482919 +0100
+++ __init__.py 2013­12­03 10:40:50.568407304 +0100
@@ ­1,4 +1,5 @@
 import sys
+import default_encoding_utf8
 import pkg_resources
 # If there is a conflicting non egg module,
EOF

It would be very convenient if this workaround could be introduced in Keystone for RHOS 4.0. Else, every time we apply erratas or upgrade packages, we need to re-apply the workaround manually.


Note You need to log in before you can comment on or make changes to this bug.