)]}'
{"id":"openstack%2Fpython-glanceclient~24916","triplet_id":"openstack%2Fpython-glanceclient~master~I187b69f75b8bcfe16facd41e69b1cd0490dae605","project":"openstack/python-glanceclient","branch":"master","topic":"bug/1157864","hashtags":[],"change_id":"I187b69f75b8bcfe16facd41e69b1cd0490dae605","subject":"Prevent WantReadError when using https","status":"MERGED","created":"2013-03-20 18:04:25.000000000","updated":"2013-04-24 19:07:03.000000000","submitted":"2013-04-24 19:07:03.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":7,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"15eed3bef626cdc40d55dfa98c6a7e1b8916d815","_number":24916,"virtual_id_number":24916,"owner":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":2,"date":"2013-04-24 19:07:03.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"value":0,"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},{"value":0,"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},{"value":0,"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"}],"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":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"value":2,"date":"2013-04-24 16:57:15.000000000","_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},{"value":0,"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},{"value":2,"date":"2013-04-24 18:21:20.000000000","_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"}],"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":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"value":0,"date":"2013-04-24 16:57:15.000000000","_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},{"value":0,"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},{"value":1,"date":"2013-04-24 18:21:20.000000000","_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"value":0,"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},{"value":0,"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},{"value":0,"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Top Priority / Holds Gate"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2013-03-20 19:08:46.000000000","updated_by":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"reviewer":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"state":"REVIEWER"},{"updated":"2013-04-24 16:57:15.000000000","updated_by":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"reviewer":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"state":"REVIEWER"},{"updated":"2013-04-24 18:21:20.000000000","updated_by":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"reviewer":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"state":"REVIEWER"},{"updated":"2013-04-24 19:07:03.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"f4fa270e4e67346494a216c34055899fe5c4c2ca","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-03-20 18:43:05.000000000","message":"Patch Set 1: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/24916/1/check/gate-python-glanceclient-pep8/628 : SUCCESS\n- http://logs.openstack.org/24916/1/check/gate-python-glanceclient-docs/560 : SUCCESS\n- http://logs.openstack.org/24916/1/check/gate-python-glanceclient-python26/623 : SUCCESS\n- http://logs.openstack.org/24916/1/check/gate-python-glanceclient-python27/622 : SUCCESS\n- http://logs.openstack.org/24916/1/check/gate-tempest-devstack-vm-full/9727 : SUCCESS\n- http://logs.openstack.org/24916/1/check/gate-tempest-devstack-vm-postgres-full/9442 : SUCCESS\n- http://logs.openstack.org/24916/1/check/gate-tempest-devstack-vm-quantum/15141 : SUCCESS\n","accounts_in_message":[],"_revision_number":1},{"id":"0fd7b75e89cd5f5bdcfe6082b58d022f5dc3733c","author":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"date":"2013-03-20 19:08:46.000000000","message":"Patch Set 1: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":1},{"id":"0d896e9164a493408c693d6b034664fa8578ea0b","author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"date":"2013-03-20 21:20:28.000000000","message":"Patch Set 1: I would prefer that you didn\u0027t merge this\n\n(1 inline comment)\n\n","accounts_in_message":[],"_revision_number":1},{"id":"04a8b37a8f2e9a74dc5a8ec3d6a214b1b41b4db5","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-03-21 10:17:11.000000000","message":"Patch Set 1: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":1},{"id":"1bf22ee2748624bf6b71d2f8f6595e75418bed97","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-03-21 10:20:35.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"68c03135c3c4d7e12d6dbb9939076c79a73e676b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-03-21 10:57:47.000000000","message":"Patch Set 2: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/24916/2/check/gate-python-glanceclient-pep8/630 : SUCCESS\n- http://logs.openstack.org/24916/2/check/gate-python-glanceclient-docs/562 : SUCCESS\n- http://logs.openstack.org/24916/2/check/gate-python-glanceclient-python26/625 : SUCCESS\n- http://logs.openstack.org/24916/2/check/gate-python-glanceclient-python27/624 : SUCCESS\n- http://logs.openstack.org/24916/2/check/gate-tempest-devstack-vm-full/9854 : SUCCESS\n- http://logs.openstack.org/24916/2/check/gate-tempest-devstack-vm-postgres-full/9569 : SUCCESS\n- http://logs.openstack.org/24916/2/check/gate-tempest-devstack-vm-quantum/15290 : SUCCESS\n","accounts_in_message":[],"_revision_number":2},{"id":"5f3a4f5f8517f0c7b966c5c1066d6a33d4b088b7","author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"date":"2013-03-21 17:23:12.000000000","message":"Patch Set 2: I would prefer that you didn\u0027t merge this\n\nThanks for this fix. I have a question below.\n\nIt seems a bit odd to me that the eventlet SSL library wouldn\u0027t accept an eventlet socket.\n\nCould this be fixed by having the glanceclient library calling code also monkeypatch SSL?\n\nIt feels like a last resort to bend over backwards just because the code that is using the glanceclient library is breaking the interface of standard library objects.","accounts_in_message":[],"_revision_number":2},{"id":"49ad0217295c56ae8222a6eb21b54d8e62b1ec5d","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-03-25 16:14:30.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"134c627d03f4ca34fda65a725a6bc3c09768ceec","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-03-25 16:21:12.000000000","message":"Patch Set 3:\n\nHi Mark, I hope this is cleaner. (The getsockopt function is a wart, but can go once the relevant upstream eventlet bug gets packaged.)","accounts_in_message":[],"_revision_number":3},{"id":"e0efa5ae0f1cd9fc8b3c671782ea32afa2d9e902","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-03-25 16:53:08.000000000","message":"Patch Set 3: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGithub#Test_Failures\n\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-pep8/635 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-docs/567 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-python26/630 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-python26-rhel6/1 : SUCCESS (non-voting)\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-python27/629 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-tempest-devstack-vm-full/10332 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-tempest-devstack-vm-postgres-full/10048 : FAILURE\n- http://logs.openstack.org/24916/3/check/gate-tempest-devstack-vm-quantum/15854 : SUCCESS\n","accounts_in_message":[],"_revision_number":3},{"id":"d44abdc60f8c58eb9f973e1e297a90748f6669c1","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-03-25 17:29:46.000000000","message":"Patch Set 3:\n\nrecheck","accounts_in_message":[],"_revision_number":3},{"id":"1542075e7aadbf0cb304db00cc21f430f2f472fa","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-03-25 18:07:22.000000000","message":"Patch Set 3:\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGithub#Test_Failures\n\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-pep8/636 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-docs/568 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-python26/631 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-python26-rhel6/2 : SUCCESS (non-voting)\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-python27/630 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-tempest-devstack-vm-full/10360 : FAILURE\n- http://logs.openstack.org/24916/3/check/gate-tempest-devstack-vm-postgres-full/10076 : FAILURE\n- http://logs.openstack.org/24916/3/check/gate-tempest-devstack-vm-quantum/15883 : SUCCESS\n","accounts_in_message":[],"_revision_number":3},{"id":"e9cfa4cef0f7a78ac54a0af90d0ef7055e57c31f","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-03-25 18:36:42.000000000","message":"Patch Set 3:\n\nrecheck","accounts_in_message":[],"_revision_number":3},{"id":"193fb32359661e4fcd715b5790b1fbb6af7c33cb","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-03-25 19:20:06.000000000","message":"Patch Set 3: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-pep8/637 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-docs/569 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-python26/632 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-python26-rhel6/3 : SUCCESS (non-voting)\n- http://logs.openstack.org/24916/3/check/gate-python-glanceclient-python27/631 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-tempest-devstack-vm-full/10386 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-tempest-devstack-vm-postgres-full/10102 : SUCCESS\n- http://logs.openstack.org/24916/3/check/gate-tempest-devstack-vm-quantum/15915 : SUCCESS\n","accounts_in_message":[],"_revision_number":3},{"id":"a346e20f606cd68192e871554ddb362676a5e36c","author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"date":"2013-03-29 08:47:14.000000000","message":"Patch Set 3: I would prefer that you didn\u0027t merge this\n\n(2 inline comments)\n\n","accounts_in_message":[],"_revision_number":3},{"id":"261a343f27ba4bd4118df27d4241df843f9f73b4","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-03-29 16:58:03.000000000","message":"Patch Set 3: (2 inline comments)\n\n","accounts_in_message":[],"_revision_number":3},{"id":"c9c1f1673148b6d69b444232b6b548e2ce1e7703","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-03-29 17:00:16.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"89cf603dfc226f9abdca4805e1ecbec18eac1cfc","author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"date":"2013-03-29 17:14:22.000000000","message":"Patch Set 3: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":3},{"id":"44b8ca606e98288044e39f2861ff0d5ffccdee14","author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"date":"2013-03-29 17:14:27.000000000","message":"Patch Set 4: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":4},{"id":"b8946d9c268864a91e33a6abfaf9b71a07c7a658","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-03-29 17:41:34.000000000","message":"Patch Set 4: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/24916/4/check/gate-python-glanceclient-pep8/640 : SUCCESS\n- http://logs.openstack.org/24916/4/check/gate-python-glanceclient-docs/572 : SUCCESS\n- http://logs.openstack.org/24916/4/check/gate-python-glanceclient-python26/635 : SUCCESS\n- http://logs.openstack.org/24916/4/check/gate-python-glanceclient-python26-rhel6/6 : SUCCESS (non-voting)\n- http://logs.openstack.org/24916/4/check/gate-python-glanceclient-python27/634 : SUCCESS\n- http://logs.openstack.org/24916/4/check/gate-tempest-devstack-vm-full/11016 : SUCCESS\n- http://logs.openstack.org/24916/4/check/gate-tempest-devstack-vm-postgres-full/10732 : SUCCESS\n- http://logs.openstack.org/24916/4/check/gate-tempest-devstack-vm-quantum/16640 : SUCCESS\n","accounts_in_message":[],"_revision_number":4},{"id":"06c446016f9124db7a03d0b0d2a1b326b20358ba","author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"date":"2013-04-02 22:54:02.000000000","message":"Patch Set 4: I would prefer that you didn\u0027t merge this\n\nI would really prefer that the calling libraries (the ones that actually call eventlet.monkey_patch()) do this fixup. If it helps, maybe glanceclient can expose a top level function \"fix_eventlet_monkeypatching()\" that will let nova and cinder fix this bug more easily and with less duplication.\n\nAlso, I wonder if the switch from httplib to requests would resolve this issue?","accounts_in_message":[],"_revision_number":4},{"id":"159913e0b5d20cbbd63e3b48ea5d16c4bad9579b","author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"date":"2013-04-03 09:17:32.000000000","message":"Patch Set 4: I would prefer that you didn\u0027t merge this\n\nHey,\n\nI\u0027m with Mark here. It doesn\u0027t feel right to fix this inside glanceclient and It seems to me that this issue might happen in other clients as well (since most / all clients use sync requests based on python-requests).\n\nTBH, I don\u0027t think python-requests migration will fix this since it still uses socket and httplib under the hood. \n\nHere\u0027s my 0.02$: \n\nWhat about adding this fixes to oslo-incubator and make them available to other projects?\n\nI\u0027m thinking about something like:\n\nfrom openstack.common import http \nhttp.HttpConnection (which could be either the eventlet one or the httplib one)\n\nThis may be needed even for the migration to python-requests so, I would do it anyway.\n\nThoughts?","accounts_in_message":[],"_revision_number":4},{"id":"eea8f47863871999487871f64f9c810ddbdbf39e","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-04-03 14:25:00.000000000","message":"Patch Set 4:\n\nMark, Flavio,\n\nI (and some others I\u0027ve chatted to) really believe this is the best fix here.\n\n\u003e I would really prefer that the calling libraries (the ones that actually call\n\u003e eventlet.monkey_patch()) do this fixup.\n\nIts not obvious to me why this is desirable. (Though I could be missing something.) What is the advantage in makeing cinder/nova/\u003csome previously working customer application\u003e do something special to use the glanceclient library? Isn\u0027t it preferable that glanceclient \u0027just works\u0027 with both monkey patched and non-monkey patched applications, in the same way as other openstack clients currently do? This has been the case up until now with glanceclient, and is what I\u0027m trying to achieve with this patch. (There\u0027s also the practical consideration of trying to make the required changes to cinder/nova at this point in the release cycle.)\n\nOnce the eventlet fix lands this change will simply be:\n\n try:\n     from eventlet.green.httplib import HTTPSConnection\n     from eventlet.green.OpenSSL.SSL import GreenConnection as ConnectionType\n except ImportError:\n     from httplib import HTTPSConnection\n     from OpenSSL.SSL import Connection as ConnectionType\n\nWhich is seems to be analagous (except using OpenSSL) to what\u0027s currently in swiftclient:\n\n try:\n     from eventlet.green.httplib import HTTPException, HTTPSConnection\n except ImportError:\n     from httplib import HTTPException, HTTPSConnection\n\n try:\n     from swift.common.bufferedhttp \\\n         import BufferedHTTPConnection as HTTPConnection\n except ImportError:\n     try:\n         from eventlet.green.httplib import HTTPConnection\n     except ImportError:\n         from httplib import HTTPConnection\n\nNote that this fix is specific to glanceclient. The other clients do not suffer from\nWantReadError exceptions. It is required to fix a side effect of the support for disabling ssl compression which can give up to a 5x performance improvement when using https (ie this is the purpose of the OpenSSLDelegator).\n\nBearing the user of glanceclient in mind, its worth remembering that because of this issue,\naccessing glance using https from cinder/nova does not currently work.","accounts_in_message":[],"_revision_number":4},{"id":"c6e3a4e10585d32845e774e79f763856af0b3db3","author":{"_account_id":9,"name":"LaunchpadSync","username":"launchpadsync"},"date":"2013-04-11 06:03:06.000000000","message":"Patch Set 4: Abandoned\n\ncode review expired after 1 week of no activity after a negative review, it can be restored using the `Restore Change` button under the Patch Set on the web interface","accounts_in_message":[],"_revision_number":4},{"id":"e63dd0754ab2d1093492e47a3e8258faaf23b7ca","author":{"_account_id":9,"name":"LaunchpadSync","username":"launchpadsync"},"date":"2013-04-11 06:03:06.000000000","message":"Patch Set 4:\n\ncode review expired after 1 week of no activity after a negative review, it can be restored using the `Restore Change` button under the Patch Set on the web interface","accounts_in_message":[],"_revision_number":4},{"id":"13ed370afa496cb104c366006b42b19a8e978fb1","author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"date":"2013-04-19 12:28:34.000000000","message":"Patch Set 4:\n\nHi Stuart,\n\nSorry for the delay in the review of this patch.\n\nHave you had a chance to see why this doesn\u0027t happen in other clients? I\u0027m curious because, AFAIK, most of the other clients use requests, whereas glanceclient doesn\u0027t. \n\nI did a small test (pls, let me know if it is valid) and it seems that requests does fix this issue:\n\n  \u003e\u003e\u003e import eventlet\n  \u003e\u003e\u003e eventlet.monkey_patch()\n  \u003e\u003e\u003e import requests\n  \u003e\u003e\u003e r \u003d requests.get(\u0027https://api.github.com\u0027, auth\u003d(\u0027flaper87\u0027, \u0027MYSUPERPASSWORD\u0027))\n  \u003e\u003e\u003e r.status_code\n  200\n  \u003e\u003e\u003e r.content\n  ......\n\nRequests wraps ssl sockets before sending the request, so, that might be the reason:\n\nhttps://github.com/kennethreitz/requests/blob/master/requests/packages/urllib3/util.py#L345\n\nCheers,\nFF","accounts_in_message":[],"_revision_number":4},{"id":"923412ed8e774fe42fc37aa8658a425120b78b51","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-04-22 14:37:47.000000000","message":"Patch Set 4:\n\nMark and I had a great chat at the summit and quickly agreed a way forward (tweak the patch to only use eventlet if socket has actually been monkey patched). I hope to push up a new patch real soon.","accounts_in_message":[],"_revision_number":4},{"id":"905b21f7f1f96a96d47b51102c30580df57c416d","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-04-23 13:54:08.000000000","message":"Patch Set 4: Restored\n\nRestoring so I can push up a new patch set.","accounts_in_message":[],"_revision_number":4},{"id":"515cafea0addf04fbb49c499c297bda185872bd0","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2013-04-23 13:54:25.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"e489b1df2996254dc5a8adce1f5505fc1a61244a","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-23 14:39:53.000000000","message":"Patch Set 5: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/24916/5/check/gate-python-glanceclient-pep8/702 : SUCCESS\n- http://docs-draft.openstack.org/24916/5/check/gate-python-glanceclient-docs/634/doc/build/html/ : SUCCESS\n- http://logs.openstack.org/24916/5/check/gate-python-glanceclient-python26/697 : SUCCESS\n- http://logs.openstack.org/24916/5/check/gate-python-glanceclient-python26-rhel6/47 : SUCCESS (non-voting)\n- http://logs.openstack.org/24916/5/check/gate-python-glanceclient-python27/695 : SUCCESS\n- http://logs.openstack.org/24916/5/check/gate-tempest-devstack-vm-full/13318 : SUCCESS\n- http://logs.openstack.org/24916/5/check/gate-tempest-devstack-vm-postgres-full/13033 : SUCCESS\n- http://logs.openstack.org/24916/5/check/gate-tempest-devstack-vm-quantum/19247 : SUCCESS\n- http://logs.openstack.org/24916/5/check/gate-grenade-devstack-vm/1198 : FAILURE (non-voting)\n","accounts_in_message":[],"_revision_number":5},{"id":"7e1c61f46ee957a80e671356b777afbca4344a5d","author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"date":"2013-04-24 16:57:15.000000000","message":"Patch Set 5: Looks good to me (core reviewer)\n\n","accounts_in_message":[],"_revision_number":5},{"id":"4b01ae5ff6fc811fe763d34716ed9d91866d5dca","author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"date":"2013-04-24 18:21:20.000000000","message":"Patch Set 5: Looks good to me (core reviewer); Approved\n\nLet\u0027s make sure we track that eventlet bug... :)\n\nthanks!","accounts_in_message":[],"_revision_number":5},{"id":"1b06c862f149a284752ad0111bfe223f637ad15f","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-24 18:21:58.000000000","message":"Patch Set 5: No score\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":5},{"id":"40e940190218766bce6ac2ec96306df89ef56d81","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-24 19:07:03.000000000","message":"Patch Set 5: Verified\n\nBuild succeeded.\n\n- http://docs-draft.openstack.org/24916/5/gate/gate-python-glanceclient-docs/638/doc/build/html/ : SUCCESS\n- http://logs.openstack.org/24916/5/gate/gate-python-glanceclient-pep8/706 : SUCCESS\n- http://logs.openstack.org/24916/5/gate/gate-python-glanceclient-python26/701 : SUCCESS\n- http://logs.openstack.org/24916/5/gate/gate-python-glanceclient-python27/699 : SUCCESS\n- http://logs.openstack.org/24916/5/gate/gate-tempest-devstack-vm-full/13491 : SUCCESS\n- http://logs.openstack.org/24916/5/gate/gate-tempest-devstack-vm-postgres-full/13206 : FAILURE (non-voting)\n- http://logs.openstack.org/24916/5/gate/gate-tempest-devstack-vm-quantum/19440 : SUCCESS\n- http://logs.openstack.org/24916/5/gate/gate-grenade-devstack-vm/1365 : FAILURE (non-voting)\n","accounts_in_message":[],"_revision_number":5},{"id":"a9ade4e20cbbe27b903743b49a62ee55457d1c7e","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-24 19:07:03.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"2f33f5f283d921ce1db595a89c36eefb8b8fcd29","revisions":{"4c4e0f43563ee6099ab41f0b578eb5c6d075c428":{"kind":"REWORK","_number":1,"created":"2013-03-20 18:04:25.000000000","uploader":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"ref":"refs/changes/16/24916/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-glanceclient","ref":"refs/changes/16/24916/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/1"}}},"commit":{"parents":[{"commit":"c7c8e92e3c64b0f81c380548deb48f92adc2e7d4","subject":"Merge \"Implements filters: visibility, owner, member_status. Includes tests.\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/c7c8e92e3c64b0f81c380548deb48f92adc2e7d4"}]}],"author":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2013-03-20 18:00:39.000000000","tz":0},"committer":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2013-03-20 18:01:49.000000000","tz":0},"subject":"Prevent WantReadError when using https","message":"Prevent WantReadError when using https\n\nIf the glance client is instantiated when the socket module has been\nmonkey patched requests to the server can yield a WantReadError because\nthe socket has been set to non-blocking but this is not being handled\ncorrectly.\n\nThis change also means that eventlet\u0027s httplib will be used where\navailable (as is the case with python-swiftclient).\n\nFixes bug 1157864.\n\nChange-Id: I187b69f75b8bcfe16facd41e69b1cd0490dae605\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/4c4e0f43563ee6099ab41f0b578eb5c6d075c428"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/4c4e0f43563ee6099ab41f0b578eb5c6d075c428"}]},"branch":"refs/heads/master"},"95c3714aece0de8e5f492d9d18a76ed2728961e6":{"kind":"REWORK","_number":2,"created":"2013-03-21 10:20:35.000000000","uploader":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"ref":"refs/changes/16/24916/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-glanceclient","ref":"refs/changes/16/24916/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/2"}}},"commit":{"parents":[{"commit":"c7c8e92e3c64b0f81c380548deb48f92adc2e7d4","subject":"Merge \"Implements filters: visibility, owner, member_status. Includes tests.\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/c7c8e92e3c64b0f81c380548deb48f92adc2e7d4"}]}],"author":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2013-03-20 18:00:39.000000000","tz":0},"committer":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2013-03-21 10:20:24.000000000","tz":0},"subject":"Prevent WantReadError when using https","message":"Prevent WantReadError when using https\n\nIf the glance client is instantiated when the socket module has been\nmonkey patched requests to the server can yield a WantReadError because\nthe socket has been set to non-blocking but this is not being handled\ncorrectly.\n\nThis change also means that eventlet\u0027s httplib will be used where\navailable (as is the case with python-swiftclient).\n\nFixes bug 1157864.\n\nChange-Id: I187b69f75b8bcfe16facd41e69b1cd0490dae605\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/95c3714aece0de8e5f492d9d18a76ed2728961e6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/95c3714aece0de8e5f492d9d18a76ed2728961e6"}]},"branch":"refs/heads/master"},"276fe250516450746e0718952f95fe4cc35e8e4d":{"kind":"REWORK","_number":3,"created":"2013-03-25 16:14:30.000000000","uploader":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"ref":"refs/changes/16/24916/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-glanceclient","ref":"refs/changes/16/24916/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/3"}}},"commit":{"parents":[{"commit":"16208485bbab13e5869f7a8e5048c62315315dc7","subject":"Merge \"Allow for prettytable 0.7.x as well\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/16208485bbab13e5869f7a8e5048c62315315dc7"}]}],"author":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2013-03-20 18:00:39.000000000","tz":0},"committer":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2013-03-25 16:14:27.000000000","tz":0},"subject":"Prevent WantReadError when using https","message":"Prevent WantReadError when using https\n\nIf the glance client is instantiated when the socket module has been\nmonkey patched requests to the server can yield a WantReadError because\nthe socket has been set to non-blocking but this is not being handled\ncorrectly.\n\nUse eventlet\u0027s GreenConnection which handles non-blocking sockets\ncorrectly.\n\nAlso, for now, add a required getsockopt method to GreenConnection.\nThis can be removed once the eventlet fix\n(https://bitbucket.org/eventlet/eventlet/commits/609f230) lands.\n\nThis change also means that eventlet\u0027s httplib will be used for https\nconnections, when available (as is the case with python-swiftclient).\n\nFixes bug 1157864.\n\nChange-Id: I187b69f75b8bcfe16facd41e69b1cd0490dae605\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/276fe250516450746e0718952f95fe4cc35e8e4d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/276fe250516450746e0718952f95fe4cc35e8e4d"}]},"branch":"refs/heads/master"},"ba66856f02df7a0c88f427e10cda5f19b02a42b3":{"kind":"REWORK","_number":4,"created":"2013-03-29 17:00:16.000000000","uploader":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"ref":"refs/changes/16/24916/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-glanceclient","ref":"refs/changes/16/24916/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/4"}}},"commit":{"parents":[{"commit":"16208485bbab13e5869f7a8e5048c62315315dc7","subject":"Merge \"Allow for prettytable 0.7.x as well\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/16208485bbab13e5869f7a8e5048c62315315dc7"}]}],"author":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2013-03-20 18:00:39.000000000","tz":0},"committer":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2013-03-29 17:00:06.000000000","tz":0},"subject":"Prevent WantReadError when using https","message":"Prevent WantReadError when using https\n\nIf the glance client is instantiated when the socket module has been\nmonkey patched requests to the server can yield a WantReadError because\nthe socket has been set to non-blocking but this is not being handled\ncorrectly.\n\nUse eventlet\u0027s GreenConnection which handles non-blocking sockets\ncorrectly.\n\nAlso, for now, add a required getsockopt method to GreenConnection.\nThis can be removed once the eventlet fix\n(https://bitbucket.org/eventlet/eventlet/commits/609f230) lands.\n\nThis change also means that eventlet\u0027s httplib will be used for https\nconnections, when available (as is the case with python-swiftclient).\n\nFixes bug 1157864.\n\nChange-Id: I187b69f75b8bcfe16facd41e69b1cd0490dae605\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/ba66856f02df7a0c88f427e10cda5f19b02a42b3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/ba66856f02df7a0c88f427e10cda5f19b02a42b3"}]},"branch":"refs/heads/master"},"2f33f5f283d921ce1db595a89c36eefb8b8fcd29":{"kind":"REWORK","_number":5,"created":"2013-04-23 13:54:25.000000000","uploader":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"ref":"refs/changes/16/24916/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-glanceclient","ref":"refs/changes/16/24916/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-glanceclient refs/changes/16/24916/5"}}},"commit":{"parents":[{"commit":"42757e8a3cea2cdad3f44c6901ed50586455d81e","subject":"Merge \"Test that copy_from is used properly in old API\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/42757e8a3cea2cdad3f44c6901ed50586455d81e"}]}],"author":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2013-03-20 18:00:39.000000000","tz":0},"committer":{"name":"Stuart McLaren","email":"stuart.mclaren@hp.com","date":"2013-04-23 13:48:10.000000000","tz":0},"subject":"Prevent WantReadError when using https","message":"Prevent WantReadError when using https\n\nIf the glance client is instantiated when the socket module has been\nmonkey patched requests to the server can yield a WantReadError because\nthe socket has been set to non-blocking but this is not being handled\ncorrectly. When this is the case use eventlet\u0027s GreenConnection which\nhandles non-blocking sockets correctly.\n\nAlso, for now, add a required getsockopt method to GreenConnection.\nThis can be removed once the eventlet fix\n(https://bitbucket.org/eventlet/eventlet/commits/609f230) lands.\n\nFixes bug 1157864.\n\nChange-Id: I187b69f75b8bcfe16facd41e69b1cd0490dae605\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/2f33f5f283d921ce1db595a89c36eefb8b8fcd29"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/2f33f5f283d921ce1db595a89c36eefb8b8fcd29"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
