)]}'
{"id":"openstack%2Fpython-swiftclient~178793","triplet_id":"openstack%2Fpython-swiftclient~master~Ibc62d7bf52755b97c707c2cb4dd0f4ea41a7281e","project":"openstack/python-swiftclient","branch":"master","topic":"python3-json-support","hashtags":[],"change_id":"Ibc62d7bf52755b97c707c2cb4dd0f4ea41a7281e","subject":"Actually function under python 3","status":"ABANDONED","created":"2015-04-29 18:26:37.000000000","updated":"2015-05-12 21:44:10.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"7252b5389ae0a936537e6b7b7ef3e221c3e7b83c","_number":178793,"virtual_id_number":178793,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":1,"date":"2015-04-30 20:09:01.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":{"disliked":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":-1,"date":"2015-05-12 05:20:28.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":1,"date":"2015-05-07 16:55:25.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":-1,"date":"2015-05-12 17:41:22.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":"","value":-1,"default_value":0,"optional":true},"Workflow":{"rejected":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":-1,"date":"2015-05-12 17:41:22.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-04-30 20:09:01.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2015-05-07 16:55:25.000000000","updated_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"REVIEWER"},{"updated":"2015-05-12 05:20:28.000000000","updated_by":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"reviewer":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"state":"REVIEWER"}],"messages":[{"id":"f2543b19cd5ecf81d2a655601bc7f23704b1da20","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-04-29 18:26:37.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"426df55cc2e0f58052432942674d77a661186f84","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-04-29 19:31:25.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/93/178793/1/check/gate-python-swiftclient-python26/e9c986a/ : SUCCESS in 55s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/93/178793/1/check/gate-python-swiftclient-pep8/3b4b969/ : SUCCESS in 48s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/93/178793/1/check/gate-python-swiftclient-docs/92914f0//doc/build/html/ : SUCCESS in 51s\n- gate-python-swiftclient-python27 http://logs.openstack.org/93/178793/1/check/gate-python-swiftclient-python27/c10a656/ : SUCCESS in 1m 02s\n- gate-python-swiftclient-python34 http://logs.openstack.org/93/178793/1/check/gate-python-swiftclient-python34/4ceb84f/ : SUCCESS in 3m 06s\n- gate-python-swiftclient-pypy http://logs.openstack.org/93/178793/1/check/gate-python-swiftclient-pypy/fcc8811/ : SUCCESS in 1m 47s\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/93/178793/1/check/gate-tempest-dsvm-neutron-src-python-swiftclient/a20ce1d/ : SUCCESS in 1h 04m 31s\n- check-swift-dsvm-functional http://logs.openstack.org/93/178793/1/check/check-swift-dsvm-functional/bef692e/ : SUCCESS in 30m 55s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/93/178793/1/check/check-swiftclient-dsvm-functional/9663dae/ : FAILURE in 11m 21s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"a9a5eb99c7c314252edb89a28b2973a18c48b160","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-04-30 18:50:48.000000000","message":"Patch Set 1: 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":1},{"id":"5242c115ed50dae4d877d05ceae954fc0e891c7d","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-04-30 19:18:52.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"e6908264b13e88e58127cb52a07c78f9c175d923","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-04-30 20:09:01.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/93/178793/2/check/gate-python-swiftclient-python26/e54f5ff/ : SUCCESS in 1m 23s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/93/178793/2/check/gate-python-swiftclient-pep8/67fd87c/ : SUCCESS in 50s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/93/178793/2/check/gate-python-swiftclient-docs/6e1c1ee//doc/build/html/ : SUCCESS in 59s\n- gate-python-swiftclient-python27 http://logs.openstack.org/93/178793/2/check/gate-python-swiftclient-python27/15d688d/ : SUCCESS in 59s\n- gate-python-swiftclient-python34 http://logs.openstack.org/93/178793/2/check/gate-python-swiftclient-python34/04a6579/ : SUCCESS in 4m 33s\n- gate-python-swiftclient-pypy http://logs.openstack.org/93/178793/2/check/gate-python-swiftclient-pypy/84aace3/ : SUCCESS in 1m 26s\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/93/178793/2/check/gate-tempest-dsvm-neutron-src-python-swiftclient/5a065ad/ : SUCCESS in 50m 02s\n- check-swift-dsvm-functional http://logs.openstack.org/93/178793/2/check/check-swift-dsvm-functional/a086b4a/ : SUCCESS in 19m 25s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/93/178793/2/check/check-swiftclient-dsvm-functional/4b27276/ : SUCCESS in 17m 11s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"299570a4fb7df690fe288f56e345124433bf190f","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2015-05-07 16:55:25.000000000","message":"Patch Set 2: Code-Review+1\n\nTook me a while to reproduce the bug - it does not manifest with simplejson which is the \u0027preferred\u0027 import!!\n\nMakes sense, +1 for now because I could do with some reassurance that we are not undoing the fix applied in https://review.openstack.org/#/c/149043/ by bypassing read() and calling text. I don\u0027t *think* there is a problem because text consumes all of the raw underlying response content and comments suggest that raw then closes its connection.\n\nI also need to work through the tests with a non-simplejson py3 env just to be sure - I think upstream jenkins does install simplejson.\n\nIDK if we need to somehow make our tests run with and without simplejson??","accounts_in_message":[],"_revision_number":2},{"id":"4d77db189de0afdc7247a97645bbaf0f4b93645d","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2015-05-12 05:20:28.000000000","message":"Patch Set 2: Code-Review-1\n\nYeah but see, the problem is not with the raw closing the socket, it\u0027s with the urllib3\u0027s pool. In any case, something doesn\u0027t add up here. Tim decided not to change head_account and head_container here for some reason, and the log message suggests that he missed that we substitute read(), where it says \"mocking the response\".","accounts_in_message":[],"_revision_number":2},{"id":"847c90b26c914bdf15a21040c3ac5be761e74584","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-05-12 17:41:22.000000000","message":"Patch Set 2: Code-Review-1 Workflow-1\n\n*facepalm*\n\nThat\u0027s what I get for playing around with python3 without doing `pip3 install python-swiftclient`... actually installing requirements for python3 resolved it. Never mind.","accounts_in_message":[],"_revision_number":2},{"id":"0e82d528fce6db04a6f0fdaa85a52b965b224311","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-05-12 17:42:30.000000000","message":"Abandoned\n\n*facepalm*\n\nThat\u0027s what I get for playing around with python3 without doing `pip3 install python-swiftclient`... actually installing requirements for python3 resolved it. Never mind.","accounts_in_message":[],"_revision_number":2},{"id":"0c9197f5bce000e3d7fd80332cda73bc11a164ac","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2015-05-12 21:44:10.000000000","message":"Patch Set 2:\n\nDon\u0027t let it deter you though, we\u0027re fully onboard with supporting py3.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"8fa895798dc370981f30c8cd75e9ed4c6bda679e","revisions":{"c0045666c52c64c2a9a3ca0ca3b969202140de8d":{"kind":"REWORK","_number":1,"created":"2015-04-29 18:26:37.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/93/178793/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/93/178793/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/93/178793/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/93/178793/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/93/178793/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/93/178793/1"}}},"commit":{"parents":[{"commit":"ea6d2bf74d8cf7f5faeff3d3052265db717db99e","subject":"Merge \"Add socket-level read timeout parameter\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ea6d2bf74d8cf7f5faeff3d3052265db717db99e"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2015-04-29 17:25:33.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2015-04-29 18:24:18.000000000","tz":-420},"subject":"Actually function under python 3","message":"Actually function under python 3\n\nPreviously, we would pass raw bytes to json.loads, causing a TypeError\nunder python 3. This would prevent getting server capabilities, listing\naccounts, listing containers, and cleaning up SLOs on overwrites.\nAdditionally, our tests missed the error by improperly mocking the\nrequests library.\n\nNow, when calling json.loads, we\u0027ll either:\n * let the requests library detect and decode the body for us, by using\n   Response.text, or\n * for SLO manifests, decode the response body ourselves. We do this\n   because get_object *should* return a byte stream, and we know the\n   server used UTF-8.\n\nFurther, the tests are cleaned up such that fake responses have bodies\nthat are always bytes and a text property that will decode those bytes\nas UTF-8.\n\nChange-Id: Ibc62d7bf52755b97c707c2cb4dd0f4ea41a7281e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/c0045666c52c64c2a9a3ca0ca3b969202140de8d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/c0045666c52c64c2a9a3ca0ca3b969202140de8d"}]},"branch":"refs/heads/master"},"8fa895798dc370981f30c8cd75e9ed4c6bda679e":{"kind":"REWORK","_number":2,"created":"2015-04-30 19:18:52.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/93/178793/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/93/178793/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/93/178793/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/93/178793/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/93/178793/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/93/178793/2"}}},"commit":{"parents":[{"commit":"766cf73247678509a5da74add5d746c3ce5d097b","subject":"Merge \"Compare each chunk of large objects when uploading\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/766cf73247678509a5da74add5d746c3ce5d097b"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2015-04-29 17:25:33.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2015-04-30 19:15:39.000000000","tz":-420},"subject":"Actually function under python 3","message":"Actually function under python 3\n\nPreviously, we would pass raw bytes to json.loads, causing a TypeError\nunder python 3. This would prevent getting server capabilities, listing\naccounts, listing containers, cleaning up SLOs on overwrites, and\nuploading with --skip-identical to an existing SLO.  Additionally, our\ntests missed the error by improperly mocking the requests library.\n\nNow, when calling json.loads, we\u0027ll either:\n * let the requests library detect and decode the body for us, by using\n   Response.text, or\n * for SLO manifests, decode the response body ourselves. We do this\n   because get_object *should* return a byte stream, and we know the\n   server used UTF-8.\n\nFurther, the tests are cleaned up such that fake responses have bodies\nthat are always bytes and a text property that will decode those bytes\nas UTF-8.\n\nChange-Id: Ibc62d7bf52755b97c707c2cb4dd0f4ea41a7281e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/8fa895798dc370981f30c8cd75e9ed4c6bda679e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/8fa895798dc370981f30c8cd75e9ed4c6bda679e"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
