)]}'
{"id":"openstack%2Fpython-openstackclient~984535","triplet_id":"openstack%2Fpython-openstackclient~master~I535f10f1165fc4c0e2e21be066380290875ea489","project":"openstack/python-openstackclient","branch":"master","topic":"typing-alt","attention_set":{},"removed_from_attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-04-14 17:38:13.000000000","reason":"\u003cGERRIT_ACCOUNT_15334\u003e replied on the change","reason_account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}}},"hashtags":[],"change_id":"I535f10f1165fc4c0e2e21be066380290875ea489","subject":"typing: Fix for typed openstacksdk proxies","status":"MERGED","created":"2026-04-14 10:20:02.000000000","updated":"2026-04-15 01:53:48.000000000","submitted":"2026-04-15 01:51:58.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"984535-typing-alt","meta_rev_id":"415860ebcfc82ab124ca82eeac2e9a6f6c9fd716","_number":984535,"virtual_id_number":984535,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-15 01:51:58.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}],"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-04-14 23:02:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}],"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-04-14 23:02:07.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-14 11:50:42.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":"6694454a0b5b96673bb4fb157016168982971d1f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-14 10:20:02.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"95655e5e5f3c7279c515842aec13b21430f62863","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-14 10:27:13.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"9de0387d4d672d47e01062eb6eb1f0f38ceeaab4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-14 10:41:40.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"b80c567aa9e66cbf939768a9d04b03c3a3776990","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-14 11:50:42.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/24dfde353d56422889c0025f715ee0e6\n\n- openstackclient-check-plugins https://zuul.opendev.org/t/openstack/build/151a5898ddce4a09bcb41ae0a85f90c3 : SUCCESS in 5m 34s\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/b6f15738beb947edbd5b043b5f34aea5 : SUCCESS in 6m 02s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/15be9ed4727a437aab50db717dd52a3e : SUCCESS in 3m 08s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7e229b914398423dbd1526126c125ee8 : SUCCESS in 4m 54s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7dd64b944976443f8e435603e7372d3d : SUCCESS in 4m 07s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/8ab6bb245d704f07b321401fb6bd410d : SUCCESS in 3m 42s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/1c541ebe856e46f1b59696c312e2bd70 : SUCCESS in 3m 46s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/f4fdea599ca9471990ff59eb88bf5d81 : FAILURE in 6m 13s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a89014b112c34694ae5b604e259c2736 : SUCCESS in 6m 51s\n- requirements-check https://zuul.opendev.org/t/openstack/build/c1d0966836da4f8ca2bd80e9850f7ffd : SUCCESS in 3m 18s\n- osc-build-image https://zuul.opendev.org/t/openstack/build/e74a0e06230242d5bcdbc6d2f1200d05 : FAILURE in 6m 02s (non-voting)\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/99b32164ce6347f2ae5a1022282ddaea : SUCCESS in 1h 03m 35s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/edcfcdf85a9c44dc9246ce07fcc2187f : FAILURE in 1h 05m 55s","accounts_in_message":[],"_revision_number":2},{"id":"b947ad90b6126c908848b2d118777475d9793614","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-14 17:38:13.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"71181ebdeb52d0cb2363c82aa69366ea651a2923","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-14 23:02:07.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"568c97fd25f2c236d919c2252773a70eeaf0a891","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-15 00:24:25.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/885bdeab12a945989c63226d25a7b765\n\n- openstackclient-check-plugins https://zuul.opendev.org/t/openstack/build/ae68e7de5dbf4280a6a2be86deb8f902 : SUCCESS in 5m 48s\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/dca0ea3103ba4b3f91114c95ead856bb : SUCCESS in 2m 29s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/9143c648e69c40cc872c3237b572dc95 : SUCCESS in 5m 02s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5224fa3386304acd80992f26983e7187 : SUCCESS in 5m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ad02116f2711421badf78b2fb98706a6 : SUCCESS in 2m 24s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/71946f1222fc4a8b8044315bed6c02e2 : SUCCESS in 2m 53s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6cf962af20594b918566cdae2c8eb80f : SUCCESS in 4m 26s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/f46a4fe0829143d8815437c01148ea76 : FAILURE in 8m 23s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d8530b03cbbc44bca1af72ceb5e2da74 : SUCCESS in 6m 27s\n- requirements-check https://zuul.opendev.org/t/openstack/build/9a5bb45d4bee4a208a8d35dee8cfc820 : SUCCESS in 3m 08s\n- osc-build-image https://zuul.opendev.org/t/openstack/build/a3ca49c477f3460fbb964d210015dbc8 : FAILURE in 7m 05s (non-voting)\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/289900b020614707a2fc378f22058cca : SUCCESS in 1h 10m 45s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/9ab33942da414c32bab931eabd858e02 : SUCCESS in 1h 15m 45s","accounts_in_message":[],"_revision_number":2},{"id":"0199c320675d572bb1b3625975ceb23e37bc7d3f","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-15 00:25:11.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"9f2ddb83db884e20646c8b3e6d19fdf533a9154b","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-15 01:51:58.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/de6fbf1b38e843ac85b6d279f4ca62e0\n\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/d4504b596bfc421fbcec88c8be11525d : SUCCESS in 3m 50s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/0237d2f9b851437f8cbd1f1fb4dcf568 : SUCCESS in 4m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cf82d10313bb47319247ef2005f3e3d3 : SUCCESS in 5m 40s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/58125a0678a1489d9b66ca46fd135db8 : SUCCESS in 3m 26s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/08b9a1d9aa784a45bb586f7978de0f09 : SUCCESS in 3m 24s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/25fa15d366c14423b58c692c96b885f8 : SUCCESS in 5m 28s\n- requirements-check https://zuul.opendev.org/t/openstack/build/b5ab804368f04d5db7f31cfb6e805e74 : SUCCESS in 2m 22s\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/b23e33d9cf7445f6a45ba8268171e87b : SUCCESS in 1h 02m 37s","accounts_in_message":[],"_revision_number":2},{"id":"139a8195f313b5f751f2d0b8cc1dacd08cf785e4","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-15 01:51:58.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"415860ebcfc82ab124ca82eeac2e9a6f6c9fd716","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-15 01:53:48.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3e73728d027748c387b3c7945697597a\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f4f224ca857548a5905e79b1c6aff1fb : SUCCESS in 41s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"437914a3e219c7fe19a4ef7436c5c914ba8d03bf","revisions":{"c8ef4a5ed82d8f2eef28f637534d24ea80f269cb":{"kind":"REWORK","_number":1,"created":"2026-04-14 10:20:02.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/35/984535/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/35/984535/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/35/984535/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/35/984535/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/35/984535/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/35/984535/1"}}},"commit":{"parents":[{"commit":"177a6b3460713be02381d6d4cad1fdd2df15dc60","subject":"tests: Explicitly specify network agent fields for output","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/177a6b3460713be02381d6d4cad1fdd2df15dc60"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-04-14 08:58:20.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-04-14 10:18:55.000000000","tz":60},"subject":"typing: Fix for typed openstacksdk proxies","message":"typing: Fix for typed openstacksdk proxies\n\nopenstacksdk 4.11.0 add hints for various proxy attributes of the\nConnection object. Since some services provided multiple proxy\nimplementations for different API major versions and since these are\nruntime configurable, we need to add runtime assertions to verify the\nversion of a given proxy that is in use. This is achieved using the new\n`openstack.utils.ensure_service_version` helper in places where the\ncalled method is potentially confusing.\n\nNote that fixing this issue also highlights a few small bugs, including\none where we were passing a proxy instance rather than a connection\ninstance to a helper and another few where we were passing parameters to\nSDK that were not supported. All are fixed here to keep mypy happy.\n\nChange-Id: I535f10f1165fc4c0e2e21be066380290875ea489\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/c8ef4a5ed82d8f2eef28f637534d24ea80f269cb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/c8ef4a5ed82d8f2eef28f637534d24ea80f269cb"}]},"branch":"refs/heads/master"},"437914a3e219c7fe19a4ef7436c5c914ba8d03bf":{"kind":"REWORK","_number":2,"created":"2026-04-14 10:41:40.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/35/984535/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/35/984535/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/35/984535/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/35/984535/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/35/984535/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/35/984535/2"}}},"commit":{"parents":[{"commit":"177a6b3460713be02381d6d4cad1fdd2df15dc60","subject":"tests: Explicitly specify network agent fields for output","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/177a6b3460713be02381d6d4cad1fdd2df15dc60"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-04-14 08:58:20.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-04-14 10:41:12.000000000","tz":60},"subject":"typing: Fix for typed openstacksdk proxies","message":"typing: Fix for typed openstacksdk proxies\n\nopenstacksdk 4.11.0 add hints for various proxy attributes of the\nConnection object. Since some services provided multiple proxy\nimplementations for different API major versions and since these are\nruntime configurable, we need to add runtime assertions to verify the\nversion of a given proxy that is in use. This is achieved using the new\n`openstack.utils.ensure_service_version` helper in places where the\ncalled method is potentially confusing.\n\nNote that fixing a few small issues where we were passing parameters to\nSDK that were not supported. All are fixed here to keep mypy happy. Also\nnote that we change the types passed to some `get_user_id` calls from\nthe identity proxy to session. These should not be necessary since the\ncall is clearly happy with an adapter as well as a session, but it\u0027s not\nharm and avoids changes to keystoneauth so...\n\nChange-Id: I535f10f1165fc4c0e2e21be066380290875ea489\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/437914a3e219c7fe19a4ef7436c5c914ba8d03bf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/437914a3e219c7fe19a4ef7436c5c914ba8d03bf"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
