[Bug 1763179] Re: Returned strings should not be forced into unicode
Corey Bryant
corey.bryant at canonical.com
Tue Apr 17 13:19:42 UTC 2018
I've uploaded this for bionic (queens), artful (pike), and ocata. Bionic
and Artful are awaiting SRU team review.
** Also affects: python-oslo.versionedobjects (Ubuntu Artful)
Importance: Undecided
Status: New
** Also affects: python-oslo.versionedobjects (Ubuntu Xenial)
Importance: Undecided
Status: New
** Changed in: python-oslo.versionedobjects (Ubuntu Artful)
Status: New => Triaged
** Changed in: python-oslo.versionedobjects (Ubuntu Xenial)
Status: New => Triaged
** Changed in: python-oslo.versionedobjects (Ubuntu Xenial)
Importance: Undecided => High
** Changed in: python-oslo.versionedobjects (Ubuntu Artful)
Importance: Undecided => High
** Also affects: cloud-archive/mitaka
Importance: Undecided
Status: New
** Changed in: cloud-archive/mitaka
Importance: Undecided => High
** Changed in: cloud-archive/mitaka
Status: New => Triaged
** Description changed:
- Change https://review.openstack.org/#/c/557778/ changed the return value
- for coerce() to explicitly force the value to be unicode. This causes
- problems with Python 2 runtimes, where the expected value of a string is
- no longer a string but now unicode (see:
- https://github.com/openstack/cinder/blob/b89e73a2ac315927d2eee42129597b14e87ba685/cinder/tests/unit/volume/drivers/dell_emc/vmax/test_vmax.py#L3412)
+ SRU details for Ubuntu
+ ----------------------
+ [Impact]
+ See Original Description below.
+
+ [Test Case]
+
+ 1. deploy openstack env
+ 2. source novarc ( as admin )
+ 3. keystone user-create --name test
+ 4. openstack user set --password-prompt test
+ 4. log into keystone node and install mysql-client
+ 5. connect to mysql with keystone user
+ 6. do below query
+ - set foreign_key_checks = 0;
+ - update local_user set user_id='Gāo' where user_id='UUID';
+ - update user set id='Gāo' where id='UUID';
+ - set foreign_key_checks = 1;
+ 7. keystone user-role-add --user test --tenant admin --role Admin
+ 8. source novarc ( as test )
+ 9. cinder create --name test 1
+
+ got unicode error on cinder-api node logs
+
+ [Regression Potential]
+ Low as the patch has landed upstream.
+
+
+ Original Description
+ --------------------
+ Change https://review.openstack.org/#/c/557778/ changed the return value for coerce() to explicitly force the value to be unicode. This causes problems with Python 2 runtimes, where the expected value of a string is no longer a string but now unicode (see: https://github.com/openstack/cinder/blob/b89e73a2ac315927d2eee42129597b14e87ba685/cinder/tests/unit/volume/drivers/dell_emc/vmax/test_vmax.py#L3412)
The correct fix should be to use either six.text_type to convert it, or
format it into a string as is being done, but without forcing it to be a
unicode string. "%s" will end up being the correct type depending on
whether it is running under py2 or py3.
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/1763179
Title:
Returned strings should not be forced into unicode
Status in Ubuntu Cloud Archive:
Triaged
Status in Ubuntu Cloud Archive mitaka series:
Triaged
Status in Ubuntu Cloud Archive ocata series:
Triaged
Status in Ubuntu Cloud Archive pike series:
Triaged
Status in Ubuntu Cloud Archive queens series:
Triaged
Status in oslo.versionedobjects:
Fix Released
Status in python-oslo.versionedobjects package in Ubuntu:
Triaged
Status in python-oslo.versionedobjects source package in Xenial:
Triaged
Status in python-oslo.versionedobjects source package in Artful:
Triaged
Status in python-oslo.versionedobjects source package in Bionic:
Triaged
Bug description:
SRU details for Ubuntu
----------------------
[Impact]
See Original Description below.
[Test Case]
1. deploy openstack env
2. source novarc ( as admin )
3. keystone user-create --name test
4. openstack user set --password-prompt test
4. log into keystone node and install mysql-client
5. connect to mysql with keystone user
6. do below query
- set foreign_key_checks = 0;
- update local_user set user_id='Gāo' where user_id='UUID';
- update user set id='Gāo' where id='UUID';
- set foreign_key_checks = 1;
7. keystone user-role-add --user test --tenant admin --role Admin
8. source novarc ( as test )
9. cinder create --name test 1
got unicode error on cinder-api node logs
[Regression Potential]
Low as the patch has landed upstream.
Original Description
--------------------
Change https://review.openstack.org/#/c/557778/ changed the return value for coerce() to explicitly force the value to be unicode. This causes problems with Python 2 runtimes, where the expected value of a string is no longer a string but now unicode (see: https://github.com/openstack/cinder/blob/b89e73a2ac315927d2eee42129597b14e87ba685/cinder/tests/unit/volume/drivers/dell_emc/vmax/test_vmax.py#L3412)
The correct fix should be to use either six.text_type to convert it,
or format it into a string as is being done, but without forcing it to
be a unicode string. "%s" will end up being the correct type depending
on whether it is running under py2 or py3.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1763179/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list