)]}'
{"id":"openstack%2Fpython-glanceclient~1007655","triplet_id":"openstack%2Fpython-glanceclient~master~I5dea9ac25627b294115b48b2c701d6c6074c7fb1","project":"openstack/python-glanceclient","branch":"master","topic":"drop-pyopenssl","hashtags":[],"change_id":"I5dea9ac25627b294115b48b2c701d6c6074c7fb1","subject":"Drop the pyOpenSSL dependency","status":"NEW","created":"2026-09-28 07:03:06.000000000","updated":"2026-10-01 03:58:48.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"82afca5a22dbe28a00fdca78ec8e29d7ab7a0b58","_number":1007655,"virtual_id_number":1007655,"owner":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-28 08:44:53.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-28 08:44:53.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":"cd4d0921c405be09278840c0db9b0ab979a8e1bc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"date":"2026-09-28 07:03:06.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"80ff0a7ab29f70a6ef2062e5a8cc1e561ddc1b9d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-28 08:44:53.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fb6a7bce3a7d4040becf29ad64b4752f\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/5f9a189e2a1a4206ae69f521e26686b5 : SUCCESS in 1m 39s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/b9a9e1dd8e36469a836039877890c126 : SUCCESS in 1h 34m 35s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/fb091c0d9b244f489ee1997248dbb7ad : SUCCESS in 3m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fea5e3b4f7eb4cc9adaae95f2df6cddc : SUCCESS in 5m 18s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/678547463b3942c3b1acb3923df10981 : SUCCESS in 4m 34s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/c29ef662ec624d149eeef3eba11dae2b : SUCCESS in 5m 34s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/271e6b28b2384f32bc7d0539c8ff5ff9 : SUCCESS in 3m 26s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b6b8d052c32243de95665578f7d849b1 : SUCCESS in 5m 06s\n- glanceclient-dsvm-functional https://zuul.opendev.org/t/openstack/build/1008cdef23094a52a43e4dc02dafbb64 : SUCCESS in 15m 35s","accounts_in_message":[],"_revision_number":1},{"id":"82afca5a22dbe28a00fdca78ec8e29d7ab7a0b58","author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"date":"2026-10-01 03:58:48.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"dc03e54ab4643e375cd4e18d393268a48df56b2c","revisions":{"dc03e54ab4643e375cd4e18d393268a48df56b2c":{"kind":"REWORK","_number":1,"created":"2026-09-28 07:03:06.000000000","uploader":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"ref":"refs/changes/55/1007655/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-glanceclient","ref":"refs/changes/55/1007655/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/55/1007655/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/55/1007655/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/55/1007655/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-glanceclient refs/changes/55/1007655/1"}}},"commit":{"parents":[{"commit":"49008a93872ded4fa75ba11197fa6f3f47438ffd","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/49008a93872ded4fa75ba11197fa6f3f47438ffd"}]}],"author":{"name":"Thomas Bechtold","email":"thomasbechtold@jpberlin.de","date":"2026-09-28 07:02:41.000000000","tz":120},"committer":{"name":"Thomas Bechtold","email":"thomasbechtold@jpberlin.de","date":"2026-09-28 07:02:41.000000000","tz":120},"subject":"Drop the pyOpenSSL dependency","message":"Drop the pyOpenSSL dependency\n\npyOpenSSL was only used for an \"except OpenSSL.SSL.Error\" clause in\nHTTPClient._request(), added when the removed glanceclient/common/https.py\nstill used pyOpenSSL directly.\n\nThat clause can no longer run. requests only switches urllib3 to\npyOpenSSL when the ssl module lacks SNI support, which never happens on\na supported Python. Even then, urllib3 converts every OpenSSL.SSL.Error\ninto ssl.SSLError, which requests raises as requests.exceptions.SSLError.\nThat is a subclass of ConnectionError, so SSL failures were already\nreported through the ConnectionError branch, with a misleading \"Error\nfinding address for\" message.\n\nCatch requests.exceptions.SSLError before ConnectionError instead. This\nkeeps the \"SSL Error communicating with\" message the removed clause\nintended, and callers still get a CommunicationError.\n\nDropping the requirement removes pyOpenSSL from most service images,\nwhere python-glanceclient was often the only thing pulling it in. The\ncinder DS8K driver relied on that and is ported to cryptography in the\nchange this depends on.\n\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1007652\nAssisted-By: Claude Code claude-opus-5-5\nSigned-off-by: Thomas Bechtold \u003cthomasbechtold@jpberlin.de\u003e\nChange-Id: I5dea9ac25627b294115b48b2c701d6c6074c7fb1\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/dc03e54ab4643e375cd4e18d393268a48df56b2c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/dc03e54ab4643e375cd4e18d393268a48df56b2c"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{"label:Review-Priority\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
