)]}'
{"id":"openstack%2Fpython-cinderclient~602486","triplet_id":"openstack%2Fpython-cinderclient~master~I89809694ac3e4081ce83fd4f788f9355d6772f59","project":"openstack/python-cinderclient","branch":"master","topic":"bug/1784728","hashtags":[],"change_id":"I89809694ac3e4081ce83fd4f788f9355d6772f59","subject":"Fix encoding of query parameters","status":"MERGED","created":"2018-09-13 22:46:37.000000000","updated":"2018-10-03 17:54:19.000000000","submitted":"2018-10-03 17:54:19.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"602486-1538589259769-94bc9ba9","meta_rev_id":"268066ce7566c5ef931f0fb578236245ff9ec655","_number":602486,"virtual_id_number":602486,"owner":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"date":"2018-09-29 01:01:01.000000000","_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},{"value":0,"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},{"value":2,"date":"2018-10-03 17:54:19.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"all":[{"value":2,"date":"2018-10-03 16:05:59.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},{"value":0,"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2018-10-02 14:26:43.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"}],"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":{"approved":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"all":[{"value":1,"date":"2018-10-03 16:05:59.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},{"value":0,"date":"2018-09-20 20:52:14.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},{"value":0,"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2018-09-20 20:52:14.000000000","updated_by":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"reviewer":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"state":"REVIEWER"},{"updated":"2018-10-02 14:26:43.000000000","updated_by":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"reviewer":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"state":"REVIEWER"},{"updated":"2018-10-03 16:05:59.000000000","updated_by":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"reviewer":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"state":"REVIEWER"},{"updated":"2018-10-03 17:54:19.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"9ba8c3df258bc28d07095158031e9fa27f895bab","author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"date":"2018-09-13 22:46:37.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"9f2e0855c13e17b9b7e1e26955e11bada34e6409","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-09-14 00:18:36.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-pep8 http://logs.openstack.org/86/602486/1/check/openstack-tox-pep8/874ad5d/ : SUCCESS in 3m 23s\n- openstack-tox-py27 http://logs.openstack.org/86/602486/1/check/openstack-tox-py27/a02cb0d/ : FAILURE in 3m 38s\n- openstack-tox-py35 http://logs.openstack.org/86/602486/1/check/openstack-tox-py35/9d602fb/ : SUCCESS in 3m 12s\n- build-openstack-sphinx-docs http://logs.openstack.org/86/602486/1/check/build-openstack-sphinx-docs/eabdef5/html/ : SUCCESS in 3m 26s\n- legacy-tempest-dsvm-neutron-src http://logs.openstack.org/86/602486/1/check/legacy-tempest-dsvm-neutron-src/0c14660/ : SUCCESS in 1h 23m 46s\n- openstack-tox-pylint http://logs.openstack.org/86/602486/1/check/openstack-tox-pylint/7109d87/ : SUCCESS in 5m 41s (non-voting)\n- tempest-full-py3 http://logs.openstack.org/86/602486/1/check/tempest-full-py3/3c74118/ : SUCCESS in 1h 26m 31s\n- openstack-tox-cover http://logs.openstack.org/86/602486/1/check/openstack-tox-cover/bcd6a6d/ : FAILURE in 3m 24s\n- openstack-tox-lower-constraints http://logs.openstack.org/86/602486/1/check/openstack-tox-lower-constraints/bdc9a2e/ : FAILURE in 3m 40s\n- openstack-tox-py36 http://logs.openstack.org/86/602486/1/check/openstack-tox-py36/e06d25d/ : SUCCESS in 3m 09s\n- openstack-tox-docs http://logs.openstack.org/86/602486/1/check/openstack-tox-docs/90d7205/html/ : SUCCESS in 3m 52s\n- cinderclient-dsvm-functional http://logs.openstack.org/86/602486/1/check/cinderclient-dsvm-functional/ee09c6a/ : FAILURE in 26m 14s (non-voting)\n- cinderclient-dsvm-functional-identity-v3-only http://logs.openstack.org/86/602486/1/check/cinderclient-dsvm-functional-identity-v3-only/6824408/ : FAILURE in 29m 16s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"67a8bad0206702743a546abcab385a995bc94eff","author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"date":"2018-09-14 00:51:26.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"cbff638674e2572032547b38f36ef7acdfec11f5","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-09-14 02:29:51.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/86/602486/2/check/openstack-tox-pep8/d52a1f9/ : SUCCESS in 3m 02s\n- openstack-tox-py27 http://logs.openstack.org/86/602486/2/check/openstack-tox-py27/c3cd44d/ : SUCCESS in 3m 02s\n- openstack-tox-py35 http://logs.openstack.org/86/602486/2/check/openstack-tox-py35/4bb6305/ : SUCCESS in 4m 11s\n- build-openstack-sphinx-docs http://logs.openstack.org/86/602486/2/check/build-openstack-sphinx-docs/92095fc/html/ : SUCCESS in 3m 00s\n- legacy-tempest-dsvm-neutron-src http://logs.openstack.org/86/602486/2/check/legacy-tempest-dsvm-neutron-src/e8ab3c7/ : SUCCESS in 1h 32m 43s\n- openstack-tox-pylint http://logs.openstack.org/86/602486/2/check/openstack-tox-pylint/9915b07/ : SUCCESS in 5m 22s (non-voting)\n- tempest-full-py3 http://logs.openstack.org/86/602486/2/check/tempest-full-py3/73cc7d0/ : SUCCESS in 1h 23m 05s\n- openstack-tox-cover http://logs.openstack.org/86/602486/2/check/openstack-tox-cover/ae1d927/cover/ : SUCCESS in 3m 44s\n- openstack-tox-lower-constraints http://logs.openstack.org/86/602486/2/check/openstack-tox-lower-constraints/f5cafde/ : SUCCESS in 3m 05s\n- openstack-tox-py36 http://logs.openstack.org/86/602486/2/check/openstack-tox-py36/67085f0/ : SUCCESS in 3m 11s\n- openstack-tox-docs http://logs.openstack.org/86/602486/2/check/openstack-tox-docs/776ca73/html/ : SUCCESS in 2m 45s\n- cinderclient-dsvm-functional http://logs.openstack.org/86/602486/2/check/cinderclient-dsvm-functional/bab4135/ : FAILURE in 29m 56s (non-voting)\n- cinderclient-dsvm-functional-identity-v3-only http://logs.openstack.org/86/602486/2/check/cinderclient-dsvm-functional-identity-v3-only/621fc16/ : FAILURE in 30m 22s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"da5fcdac79ea9d683262bb256bf83138917ac862","author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"date":"2018-09-17 23:46:45.000000000","message":"Patch Set 2:\n\nFunctional test failure addressed here: https://review.openstack.org/#/c/602546","accounts_in_message":[],"_revision_number":2},{"id":"7219c00e0ea6b69679347efc88f5524d58d46f04","author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"date":"2018-09-20 21:45:36.000000000","message":"Patch Set 2:\n\nI lied, Functional test failures are being addressed here: https://review.openstack.org/#/c/601625","accounts_in_message":[],"_revision_number":2},{"id":"a28e9be6292782ecfd47e656db8b93d7c82d4248","author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"date":"2018-10-02 14:26:43.000000000","message":"Patch Set 2: Code-Review+2\n\nI think this looks ok.  Thanks.","accounts_in_message":[],"_revision_number":2},{"id":"5cbfa280844e753f0b8ae406a187c463c106efbf","author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"date":"2018-10-03 16:05:59.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"703e7a99b8cd0e49dacdf7a7dae04ac4220b0f23","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-10-03 16:06:11.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"b5e2f30fb961f54138c7c27abd2b82286cac7737","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-10-03 17:54:19.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":2},{"id":"b6eb491263d7a4f93987254d6444ee2548fab9c7","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-10-03 17:54:19.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- legacy-tempest-dsvm-neutron-src http://logs.openstack.org/86/602486/2/gate/legacy-tempest-dsvm-neutron-src/fa1445f/ : SUCCESS in 1h 34m 17s\n- tempest-full-py3 http://logs.openstack.org/86/602486/2/gate/tempest-full-py3/e4cd34e/ : SUCCESS in 1h 18m 28s\n- openstack-tox-lower-constraints http://logs.openstack.org/86/602486/2/gate/openstack-tox-lower-constraints/f481b58/ : SUCCESS in 6m 02s\n- openstack-tox-pep8 http://logs.openstack.org/86/602486/2/gate/openstack-tox-pep8/3af9917/ : SUCCESS in 4m 00s\n- openstack-tox-py27 http://logs.openstack.org/86/602486/2/gate/openstack-tox-py27/9076b6d/ : SUCCESS in 4m 49s\n- openstack-tox-py35 http://logs.openstack.org/86/602486/2/gate/openstack-tox-py35/7ddb705/ : SUCCESS in 4m 25s\n- openstack-tox-py36 http://logs.openstack.org/86/602486/2/gate/openstack-tox-py36/390848d/ : SUCCESS in 4m 47s\n- openstack-tox-docs http://logs.openstack.org/86/602486/2/gate/openstack-tox-docs/1d9fe54/html/ : SUCCESS in 3m 06s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"223d754f6162d87a305bcb2b041a5e73d5fae303","revisions":{"100dcd3c6778b85e893d5d9a41a57c57f261080b":{"kind":"REWORK","_number":1,"created":"2018-09-13 22:46:37.000000000","uploader":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"ref":"refs/changes/86/602486/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-cinderclient","ref":"refs/changes/86/602486/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-cinderclient refs/changes/86/602486/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-cinderclient refs/changes/86/602486/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-cinderclient refs/changes/86/602486/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-cinderclient refs/changes/86/602486/1"}}},"commit":{"parents":[{"commit":"64b2d5d83b384da1eddecdd4be31b61220080752","subject":"Merge \"Use templates for cover and lower-constraints\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-cinderclient/commit/64b2d5d83b384da1eddecdd4be31b61220080752"}]}],"author":{"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","date":"2018-09-13 22:45:45.000000000","tz":-360},"committer":{"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","date":"2018-09-13 22:46:36.000000000","tz":-360},"subject":"Fix encoding of query parameters","message":"Fix encoding of query parameters\n\nIETF RFC 3986 classifies \"~\" as a reserved character [1],\nhowever until python3.7 [2], python\u0027s url parsing\nused to encode this character.\n\nurllib has seen a lot of churn in various python\nreleases, and hence we were using a six wrapper\nto shield ourselves, however, this backwards-incompatible\nchange in encoding norms forces us to deal with\nthe problem at our end.\n\nCinder\u0027s API accepts \"~\" in both, its encoded\nor un-encoded forms. So, let\u0027s stop encoding it\nwithin cinderclient, regardless of the version\nof python running it.\n\n[1] https://tools.ietf.org/html/rfc3986.html\n[2] https://docs.python.org/3/library/urllib.parse.html#url-quoting\n\nChange-Id: I89809694ac3e4081ce83fd4f788f9355d6772f59\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-cinderclient/commit/100dcd3c6778b85e893d5d9a41a57c57f261080b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-cinderclient/commit/100dcd3c6778b85e893d5d9a41a57c57f261080b"}]},"branch":"refs/heads/master"},"223d754f6162d87a305bcb2b041a5e73d5fae303":{"kind":"REWORK","_number":2,"created":"2018-09-14 00:51:26.000000000","uploader":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"ref":"refs/changes/86/602486/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-cinderclient","ref":"refs/changes/86/602486/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-cinderclient refs/changes/86/602486/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-cinderclient refs/changes/86/602486/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-cinderclient refs/changes/86/602486/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-cinderclient refs/changes/86/602486/2"}}},"commit":{"parents":[{"commit":"64b2d5d83b384da1eddecdd4be31b61220080752","subject":"Merge \"Use templates for cover and lower-constraints\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-cinderclient/commit/64b2d5d83b384da1eddecdd4be31b61220080752"}]}],"author":{"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","date":"2018-09-13 22:45:45.000000000","tz":-360},"committer":{"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","date":"2018-09-14 00:51:17.000000000","tz":-360},"subject":"Fix encoding of query parameters","message":"Fix encoding of query parameters\n\nIETF RFC 3986 classifies \"~\" as a reserved character [1],\nhowever until python3.7 [2], python\u0027s url parsing\nused to encode this character.\n\nurllib has seen a lot of churn in various python\nreleases, and hence we were using a six wrapper\nto shield ourselves, however, this backwards-incompatible\nchange in encoding norms forces us to deal with\nthe problem at our end.\n\nCinder\u0027s API accepts \"~\" in both, its encoded\nor un-encoded forms. So, let\u0027s stop encoding it\nwithin cinderclient, regardless of the version\nof python running it.\n\nAlso fix an inconsitency around the use of the\ngeneric helper method in utils added in\nI3a3ae90cc6011d1aa0cc39db4329d9bc08801904\n(cinderclient/utils.py - build_query_param)\nto allow for False as a value in the query.\n\n[1] https://tools.ietf.org/html/rfc3986.html\n[2] https://docs.python.org/3/library/urllib.parse.html#url-quoting\n\nChange-Id: I89809694ac3e4081ce83fd4f788f9355d6772f59\nCloses-Bug: #1784728\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-cinderclient/commit/223d754f6162d87a305bcb2b041a5e73d5fae303"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-cinderclient/commit/223d754f6162d87a305bcb2b041a5e73d5fae303"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
