)]}'
{"id":"openstack%2Fpython-swiftclient~326475","triplet_id":"openstack%2Fpython-swiftclient~master~Ie06adf4cf17ea4592b5bbd7bbde9828e5e134e3e","project":"openstack/python-swiftclient","branch":"master","topic":"bug/1589926","hashtags":[],"change_id":"Ie06adf4cf17ea4592b5bbd7bbde9828e5e134e3e","subject":"client: renew token on 401 even if retries is 0","status":"MERGED","created":"2016-06-07 13:52:18.000000000","updated":"2016-08-26 17:37:41.000000000","submitted":"2016-08-26 17:37:41.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"ecaf04440decc64f907efebc39f1545b718b3545","_number":326475,"virtual_id_number":326475,"owner":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":2,"date":"2016-08-26 17:37:41.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"}],"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":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"all":[{"value":2,"date":"2016-08-26 16:37:22.000000000","_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":2,"date":"2016-06-08 08:34:36.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":1,"date":"2016-06-09 18:01:35.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"}],"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":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"all":[{"value":1,"date":"2016-08-26 16:37:22.000000000","_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"}],"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":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-06-08 08:34:36.000000000","updated_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"reviewer":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"state":"REVIEWER"},{"updated":"2016-06-09 18:01:35.000000000","updated_by":{"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"},"reviewer":{"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"},"state":"REVIEWER"},{"updated":"2016-08-26 16:37:22.000000000","updated_by":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"reviewer":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"state":"REVIEWER"},{"updated":"2016-08-26 17:37:41.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"21eca083cc53d3f0993eb2da331580aabf887838","author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"date":"2016-06-07 13:52:18.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e7d3961c0e203da1d6150421c073f8193340f428","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2016-06-07 14:53:53.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)\n\nLGTM and makes sense.\n\nI\u0027d like to see a check to ensure this is not an infinite loop (for example due to some regression later). Pls see my inline comment.","accounts_in_message":[],"_revision_number":1},{"id":"a237aacd05ef06972e3bb1dca5857941b9625624","author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"date":"2016-06-07 14:58:34.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nsure :)","accounts_in_message":[],"_revision_number":1},{"id":"b8afb34da6e28708ad9e77369dab2532f2f7b5e6","author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"date":"2016-06-07 14:58:40.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"417c4ff8f64a3e54ed33fffbabf06bbcfacedc32","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-06-07 17:06:08.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/75/326475/2/check/gate-python-swiftclient-docs/c68bdaf//doc/build/html/ : SUCCESS in 4m 30s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/75/326475/2/check/gate-python-swiftclient-pep8/6e48dc5/ : SUCCESS in 3m 48s\n- gate-python-swiftclient-python27 http://logs.openstack.org/75/326475/2/check/gate-python-swiftclient-python27/cf2e63d/ : SUCCESS in 2m 05s\n- gate-python-swiftclient-python34 http://logs.openstack.org/75/326475/2/check/gate-python-swiftclient-python34/855a72c/ : SUCCESS in 3m 51s\n- gate-python-swiftclient-pypy http://logs.openstack.org/75/326475/2/check/gate-python-swiftclient-pypy/f53bdec/ : SUCCESS in 2m 40s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/75/326475/2/check/gate-tempest-dsvm-neutron-src-python-swiftclient/f1e74aa/ : SUCCESS in 56m 54s\n- gate-swift-dsvm-functional http://logs.openstack.org/75/326475/2/check/gate-swift-dsvm-functional/416a946/ : SUCCESS in 24m 51s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/75/326475/2/check/gate-swiftclient-dsvm-functional/cbb7d8b/ : SUCCESS in 16m 42s","accounts_in_message":[],"_revision_number":2},{"id":"f5d00924e714d50d0fe930e7056dfe2aa438adb0","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2016-06-08 08:34:36.000000000","message":"Patch Set 2: Code-Review+2\n\nLGTM!","accounts_in_message":[],"_revision_number":2},{"id":"20e9a241b21427cc664bd0d837edab855d5e9907","author":{"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"},"date":"2016-06-09 18:01:35.000000000","message":"Patch Set 2: Code-Review+1\n\nLooks good, the commit message should probably mention that it always retries, but only twice, if the response code is 401.","accounts_in_message":[],"_revision_number":2},{"id":"903b01c122d7315c25e53a9451e5b98ebf039b9a","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2016-08-26 16:37:22.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\nThis looks good to me.","accounts_in_message":[],"_revision_number":2},{"id":"22619508b7582c653aeafbc160ff502cd1ee2a4f","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-08-26 16:37:33.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"56b491f365b3877de9609a0d3d89b12eb2179b9b","date":"2016-08-26 17:37:41.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":2},{"id":"6ab04550303a4d308b340641cecd89e90a9a8e69","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-08-26 17:37:41.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-swiftclient-docs-ubuntu-xenial http://docs-draft.openstack.org/75/326475/2/gate/gate-python-swiftclient-docs-ubuntu-xenial/55f957b//doc/build/html/ : SUCCESS in 2m 46s\n- gate-python-swiftclient-pep8-ubuntu-xenial http://logs.openstack.org/75/326475/2/gate/gate-python-swiftclient-pep8-ubuntu-xenial/b68d832/ : SUCCESS in 3m 11s\n- gate-python-swiftclient-python27-ubuntu-xenial http://logs.openstack.org/75/326475/2/gate/gate-python-swiftclient-python27-ubuntu-xenial/5f86fb6/ : SUCCESS in 4m 17s\n- gate-python-swiftclient-python34 http://logs.openstack.org/75/326475/2/gate/gate-python-swiftclient-python34/78d8bb0/ : SUCCESS in 2m 44s\n- gate-python-swiftclient-python35 http://logs.openstack.org/75/326475/2/gate/gate-python-swiftclient-python35/2e66cd4/ : SUCCESS in 3m 58s\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/75/326475/2/gate/gate-tempest-dsvm-neutron-src-python-swiftclient/4ac62f7/ : SUCCESS in 59m 28s\n- gate-swift-dsvm-functional http://logs.openstack.org/75/326475/2/gate/gate-swift-dsvm-functional/91545d4/ : SUCCESS in 21m 06s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/75/326475/2/gate/gate-swiftclient-dsvm-functional/434325b/ : SUCCESS in 32m 06s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"a62b7ee06c1a300c73d9a01b2c9bc05028f1fabd","revisions":{"387f7398d73d9eee368e32bd9448592a912de68e":{"kind":"REWORK","_number":1,"created":"2016-06-07 13:52:18.000000000","uploader":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"ref":"refs/changes/75/326475/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/75/326475/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/75/326475/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/75/326475/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/75/326475/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/75/326475/1"}}},"commit":{"parents":[{"commit":"c91c8d575e86b480270f8dfb7df49355dd38ee54","subject":"Merge \"Add an option: disable etag check on downloads\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/c91c8d575e86b480270f8dfb7df49355dd38ee54"}]}],"author":{"name":"Julien Danjou","email":"julien@danjou.info","date":"2016-06-07 13:49:32.000000000","tz":120},"committer":{"name":"Julien Danjou","email":"julien@danjou.info","date":"2016-06-07 13:52:03.000000000","tz":120},"subject":"client: renew token on 401 even if retries is 0","message":"client: renew token on 401 even if retries is 0\n\nGnocchi uses a client with retries\u003d0 to maximize throughtput and not retry N\ntimes on e.g. 404 when checking existence of an object. However, this as the\nside effect of never renewing the token since there\u0027 no retry on 401 either.\n\nThis patches change the behavior so that 401 errors are always retried,\nwhatever the retries value is.\n\nCloses-Bug: #1589926\nChange-Id: Ie06adf4cf17ea4592b5bbd7bbde9828e5e134e3e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/387f7398d73d9eee368e32bd9448592a912de68e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/387f7398d73d9eee368e32bd9448592a912de68e"}]},"branch":"refs/heads/master"},"a62b7ee06c1a300c73d9a01b2c9bc05028f1fabd":{"kind":"REWORK","_number":2,"created":"2016-06-07 14:58:40.000000000","uploader":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"ref":"refs/changes/75/326475/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/75/326475/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/75/326475/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/75/326475/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/75/326475/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/75/326475/2"}}},"commit":{"parents":[{"commit":"c91c8d575e86b480270f8dfb7df49355dd38ee54","subject":"Merge \"Add an option: disable etag check on downloads\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/c91c8d575e86b480270f8dfb7df49355dd38ee54"}]}],"author":{"name":"Julien Danjou","email":"julien@danjou.info","date":"2016-06-07 13:49:32.000000000","tz":120},"committer":{"name":"Julien Danjou","email":"julien@danjou.info","date":"2016-06-07 14:58:26.000000000","tz":120},"subject":"client: renew token on 401 even if retries is 0","message":"client: renew token on 401 even if retries is 0\n\nGnocchi uses a client with retries\u003d0 to maximize throughtput and not retry N\ntimes on e.g. 404 when checking existence of an object. However, this as the\nside effect of never renewing the token since there\u0027 no retry on 401 either.\n\nThis patches change the behavior so that 401 errors are always retried,\nwhatever the retries value is.\n\nCloses-Bug: #1589926\nChange-Id: Ie06adf4cf17ea4592b5bbd7bbde9828e5e134e3e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/a62b7ee06c1a300c73d9a01b2c9bc05028f1fabd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/a62b7ee06c1a300c73d9a01b2c9bc05028f1fabd"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
