)]}'
{"id":"openstack%2Fpython-keystoneclient~161762","triplet_id":"openstack%2Fpython-keystoneclient~master~Ib7fdf60f8369ea9546fcd92f1ac385c777478d10","project":"openstack/python-keystoneclient","branch":"master","topic":"bug/1428706","hashtags":[],"change_id":"Ib7fdf60f8369ea9546fcd92f1ac385c777478d10","subject":"Prevent a UnicodeDecodeError in the s3token middleware","status":"ABANDONED","created":"2015-03-05 16:16:39.000000000","updated":"2015-05-04 13:30:42.000000000","total_comment_count":14,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"39ae2a6a0c35a837b5d6b73d24630d806b96bb3a","_number":161762,"virtual_id_number":161762,"owner":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":-1,"date":"2015-04-14 17:17:24.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"date":"2015-03-26 16:03:34.000000000","_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"date":"2015-03-25 16:42:21.000000000","_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-03-05 16:17:00.000000000","updated_by":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"reviewer":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"state":"REVIEWER"},{"updated":"2015-03-16 10:46:03.000000000","updated_by":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"reviewer":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"state":"REVIEWER"},{"updated":"2015-03-26 16:03:34.000000000","updated_by":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"reviewer":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"state":"REVIEWER"},{"updated":"2015-04-14 17:17:24.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"0d5933a5cf05a0429c41a08ee982e9adfbd8fc93","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2015-03-05 16:16:39.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"9a1e865ca0527f9309ae29f68962f3f8012cc8be","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-03-05 17:19:58.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-keystoneclient-python26 http://logs.openstack.org/62/161762/1/check/gate-python-keystoneclient-python26/3289b21/ : SUCCESS in 2m 05s\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/62/161762/1/check/gate-python-keystoneclient-pep8/7152ef7/ : SUCCESS in 1m 41s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/62/161762/1/check/gate-python-keystoneclient-docs/0e456f0//doc/build/html/ : SUCCESS in 2m 18s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/62/161762/1/check/gate-python-keystoneclient-python27/b4104a5/ : SUCCESS in 3m 01s\n- gate-python-keystoneclient-python34 http://logs.openstack.org/62/161762/1/check/gate-python-keystoneclient-python34/7f11c92/ : SUCCESS in 3m 34s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient-juno http://logs.openstack.org/62/161762/1/check/gate-tempest-dsvm-neutron-src-python-keystoneclient-juno/f03ac38/ : SUCCESS in 48m 24s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient http://logs.openstack.org/62/161762/1/check/gate-tempest-dsvm-neutron-src-python-keystoneclient/e22da50/ : FAILURE in 53m 15s\n- check-keystoneclient-dsvm-functional http://logs.openstack.org/62/161762/1/check/check-keystoneclient-dsvm-functional/9deee1d/ : SUCCESS in 20m 49s","accounts_in_message":[],"_revision_number":1},{"id":"135918328951837e6b71cc4f42c4477d5161cedd","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2015-03-09 09:53:03.000000000","message":"Patch Set 1:\n\nrecheck no bug","accounts_in_message":[],"_revision_number":1},{"id":"5a7739dc057cab9a25e3e8f8163db752524d1d9f","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-03-09 10:49:53.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-keystoneclient-python26 http://logs.openstack.org/62/161762/1/check/gate-python-keystoneclient-python26/76c0649/ : SUCCESS in 2m 01s\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/62/161762/1/check/gate-python-keystoneclient-pep8/92920df/ : SUCCESS in 1m 51s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/62/161762/1/check/gate-python-keystoneclient-docs/4c179d8//doc/build/html/ : SUCCESS in 2m 13s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/62/161762/1/check/gate-python-keystoneclient-python27/dfd65ed/ : SUCCESS in 2m 44s\n- gate-python-keystoneclient-python34 http://logs.openstack.org/62/161762/1/check/gate-python-keystoneclient-python34/05b0345/ : SUCCESS in 4m 48s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient-juno http://logs.openstack.org/62/161762/1/check/gate-tempest-dsvm-neutron-src-python-keystoneclient-juno/8ce9f0c/ : SUCCESS in 52m 42s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient http://logs.openstack.org/62/161762/1/check/gate-tempest-dsvm-neutron-src-python-keystoneclient/ccb0920/ : SUCCESS in 56m 48s\n- check-keystoneclient-dsvm-functional http://logs.openstack.org/62/161762/1/check/check-keystoneclient-dsvm-functional/fd76c5f/ : SUCCESS in 18m 39s","accounts_in_message":[],"_revision_number":1},{"id":"a25344b6492649c8391c658b71574516aa2e7cb9","author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"date":"2015-03-11 14:03:47.000000000","message":"Patch Set 1: Code-Review-1\n\n(2 comments)\n\nPlease elaborate the changelog.","accounts_in_message":[],"_revision_number":1},{"id":"0d159820978b76b48ba5ec0eab14acf5efd6aea6","author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"date":"2015-03-11 14:11:20.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"a332cc50713d68358c0d41ab2f8adc07ad662cd5","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2015-03-11 14:36:42.000000000","message":"Patch Set 1:\n\n(3 comments)","accounts_in_message":[],"_revision_number":1},{"id":"f20a6da16ee81a42be0c3ad64bb59ccb50716f87","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2015-03-16 10:46:03.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"d63e6afe3d1b40bdaa7fa42910187d36f0c0ebed","author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"date":"2015-03-16 13:11:13.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"cca4b9deff827be2813a6a1fc0c711240e9daf23","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2015-03-25 16:41:31.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"265aed950ab0e2cfa8dae591368df7aa1c8bf16f","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2015-03-25 16:42:21.000000000","message":"Patch Set 2:\n\n@Victor, I reused a large chunk of your comment on my commit log :)\n\n@Jamie: most of your questions on patchset #1 were answered by Victor.","accounts_in_message":[],"_revision_number":2},{"id":"21662d2baebda350e2450c5fe09ce0f836599441","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-03-25 17:58:30.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-keystoneclient-python26 http://logs.openstack.org/62/161762/2/check/gate-python-keystoneclient-python26/a51b254/ : SUCCESS in 2m 02s\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/62/161762/2/check/gate-python-keystoneclient-pep8/fdd73ca/ : SUCCESS in 2m 22s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/62/161762/2/check/gate-python-keystoneclient-docs/6396706//doc/build/html/ : SUCCESS in 2m 21s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/62/161762/2/check/gate-python-keystoneclient-python27/fe2897f/ : SUCCESS in 2m 40s\n- gate-python-keystoneclient-python34 http://logs.openstack.org/62/161762/2/check/gate-python-keystoneclient-python34/44e1e71/ : SUCCESS in 3m 39s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient-juno http://logs.openstack.org/62/161762/2/check/gate-tempest-dsvm-neutron-src-python-keystoneclient-juno/d68e538/ : SUCCESS in 51m 29s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient http://logs.openstack.org/62/161762/2/check/gate-tempest-dsvm-neutron-src-python-keystoneclient/266d894/ : SUCCESS in 56m 21s\n- check-keystoneclient-dsvm-functional http://logs.openstack.org/62/161762/2/check/check-keystoneclient-dsvm-functional/2c175d1/ : SUCCESS in 19m 02s","accounts_in_message":[],"_revision_number":2},{"id":"081c8fe474b4635822bf88f690a7780481b22ec6","author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"date":"2015-03-26 16:03:34.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"38756d2904d28a755249dac4d2c591388a513b40","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2015-03-26 16:10:56.000000000","message":"Patch Set 2:\n\n(2 comments)\n\nThanks for your comments :)","accounts_in_message":[],"_revision_number":2},{"id":"b3ac4784c5f23c0f0276a892625bf37733737db0","author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"date":"2015-03-26 17:10:30.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"0e7c606094f92a05e60dfac78c4c3ced3f8fb294","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-04-14 17:17:24.000000000","message":"Patch Set 2: Verified-1\n\nMerge Failed.\n\nThis change was unable to be automatically merged with the current state of the repository. Please rebase your change and upload a new patchset.","accounts_in_message":[],"_revision_number":2},{"id":"f8bb5db39e2baaed03e9f3cb796abe1116289caa","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2015-04-20 17:03:07.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"38149ed1afbfa1fa0648bfbe79b16f2ef2b2a41a","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2015-05-04 13:30:42.000000000","message":"Abandoned\n\nThe relevant code is now part of keystonemiddleware.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"b965751ccdd9b4399b8148b1639712bc5577dd12","revisions":{"a53fd7785a29985e9b0e6be9a577a7f96095a0e9":{"kind":"REWORK","_number":1,"created":"2015-03-05 16:16:39.000000000","uploader":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"ref":"refs/changes/62/161762/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/62/161762/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/62/161762/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/62/161762/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/62/161762/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/62/161762/1"}}},"commit":{"parents":[{"commit":"94e01e20d1f27a44b0543734f3125077cd06fc88","subject":"Merge \"Import functional CLI tests from tempest\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/94e01e20d1f27a44b0543734f3125077cd06fc88"}]}],"author":{"name":"Cyril Roelandt","email":"cyril.roelandt@enovance.com","date":"2015-03-05 15:48:18.000000000","tz":60},"committer":{"name":"Cyril Roelandt","email":"cyril.roelandt@enovance.com","date":"2015-03-05 16:02:13.000000000","tz":60},"subject":"Prevent a UnicodeDecodeError in the s3token middleware","message":"Prevent a UnicodeDecodeError in the s3token middleware\n\nMixing \"str\" and \"unicode\" can lead to a UnicodeDecodeError. We encode unicode\nvalues before using them with text strings.\n\nChange-Id: Ib7fdf60f8369ea9546fcd92f1ac385c777478d10\nCloses-Bug: #1428706\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/a53fd7785a29985e9b0e6be9a577a7f96095a0e9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/a53fd7785a29985e9b0e6be9a577a7f96095a0e9"}]},"branch":"refs/heads/master"},"b965751ccdd9b4399b8148b1639712bc5577dd12":{"kind":"REWORK","_number":2,"created":"2015-03-25 16:41:31.000000000","uploader":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"ref":"refs/changes/62/161762/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/62/161762/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/62/161762/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/62/161762/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/62/161762/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/62/161762/2"}}},"commit":{"parents":[{"commit":"a84b5ac115dd5775f7380a204811aa939fd5c242","subject":"Merge \"Add a FederatedBase v3 plugin\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/a84b5ac115dd5775f7380a204811aa939fd5c242"}]}],"author":{"name":"Cyril Roelandt","email":"cyril.roelandt@enovance.com","date":"2015-03-05 15:48:18.000000000","tz":60},"committer":{"name":"Cyril Roelandt","email":"cyril.roelandt@enovance.com","date":"2015-03-25 16:35:07.000000000","tz":60},"subject":"Prevent a UnicodeDecodeError in the s3token middleware","message":"Prevent a UnicodeDecodeError in the s3token middleware\n\nMixing \"str\" and \"unicode\" can lead to a UnicodeDecodeError. We encode unicode\nvalues before using them with text strings.\n\nThe bug occurs if the URL contains a non-ASCII character in the tenant id:\n\"hého\" in \"/v1/AUTH_cfa/c/hého\" (\"/v1/AUTH_cfa/c/h\\xc3\\xa9ho\" in UTF-8) for\nexample.\n\nThe bug occurs on Python 2 in s3_token.py because the tenant id is retrieved\nfrom identity_info[\u0027access\u0027][\u0027token\u0027][\u0027tenant\u0027] and identity_info comes from\nresp.json().\n\nThe problem is that in Python, the JSON decoder always create Unicode strings.\nExample in Python 2:\n\n\u003e\u003e\u003e json.loads(\u0027{\"key\": \"value\"}\u0027) {u\u0027key\u0027: u\u0027value\u0027}\n\nThere is no issue in Python 3, since all text strings are Unicode.\n\nChange-Id: Ib7fdf60f8369ea9546fcd92f1ac385c777478d10\nCloses-Bug: #1428706\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/b965751ccdd9b4399b8148b1639712bc5577dd12"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/b965751ccdd9b4399b8148b1639712bc5577dd12"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
