)]}'
{"id":"openstack%2Fpython-openstackclient~984455","triplet_id":"openstack%2Fpython-openstackclient~master~I0e1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a","project":"openstack/python-openstackclient","branch":"master","attention_set":{},"removed_from_attention_set":{"10342":{"account":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"last_update":"2026-04-15 01:52:25.000000000","reason":"Change was submitted"},"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-04-14 10:42:12.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":"I0e1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a","subject":"tests: Fix test_module for Python 3.14","status":"MERGED","created":"2026-04-13 19:27:40.000000000","updated":"2026-04-15 09:09:19.000000000","submitted":"2026-04-15 01:52:25.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"984455","meta_rev_id":"967bf58c8cdab7b0f573d9152bce5961bc894bc6","_number":984455,"virtual_id_number":984455,"owner":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"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:52:24.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},{"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"},"recommended":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-04-15 09:09:19.000000000","post_submit":true,"permitted_voting_range":{"min":1,"max":1},"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},{"value":2,"date":"2026-04-14 10:42:12.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":"","value":1,"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":0,"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},{"value":1,"date":"2026-04-14 10:42:12.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"]},{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-13 20:44:19.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"},{"updated":"2026-04-14 10:24:23.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"},{"updated":"2026-04-15 09:09:19.000000000","updated_by":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"reviewer":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"state":"REVIEWER"}],"messages":[{"id":"8dd9bb7db6199876994b894d1d60484d42beb7d2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2026-04-13 19:27:40.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"5176e66083f6a8a446da00595a6cb996e965a6c6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-13 20:44:19.000000000","message":"Patch Set 1: 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/68dab61de0a84a2d809a301a9e412858\n\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/09cccf92ff1b4ade89db38d44f60a100 : SUCCESS in 4m 26s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/5d92bbe6603c49dab2d1004b082b1024 : SUCCESS in 4m 33s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/61bd7a30615249f5a009adb65a43bb58 : SUCCESS in 4m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ac2a04db4a1440e3a8e91df7379bfc76 : FAILURE in 4m 22s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/1077fcf71d3047cc85bb7a23600864be : SUCCESS in 4m 40s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/233c3200b93b4d40b33a8ab3f702f237 : SUCCESS in 3m 16s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/7338045cdf914211bb3cf4dda9762fbb : SUCCESS in 7m 10s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9203a5660d1745d08a7db5beeb6dc616 : SUCCESS in 5m 18s\n- osc-build-image https://zuul.opendev.org/t/openstack/build/051b6f5a7dc741e98477fa36a3e5a795 : FAILURE in 4m 46s (non-voting)\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/f1622632ef2f41fa9b8eb55e431a4690 : SUCCESS in 1h 10m 47s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/7459daad6c0746b9a59ba11464cb2a5a : FAILURE in 1h 11m 30s\n\nWarning:\n  Comments left for invalid file openstackclient/common/availability_zone.py\n  Comments left for invalid file openstackclient/common/project_cleanup.py\n  Comments left for invalid file openstackclient/common/quota.py\n  Comments left for invalid file openstackclient/compute/v2/keypair.py\n  Comments left for invalid file openstackclient/identity/v3/access_rule.py\n  Comments left for invalid file openstackclient/identity/v3/application_credential.py\n  Comments left for invalid file openstackclient/identity/v3/credential.py\n  Comments left for invalid file openstackclient/identity/v3/domain.py\n  Comments left for invalid file openstackclient/identity/v3/endpoint.py\n  Comments left for invalid file openstackclient/identity/v3/federation_protocol.py\n  Comments left for invalid file openstackclient/identity/v3/group.py\n  Comments left for invalid file openstackclient/identity/v3/limit.py\n  Comments left for invalid file openstackclient/identity/v3/project.py\n  Comments left for invalid file openstackclient/identity/v3/region.py\n  Comments left for invalid file openstackclient/identity/v3/registered_limit.py\n  Comments left for invalid file openstackclient/identity/v3/role.py\n  Comments left for invalid file openstackclient/identity/v3/role_assignment.py\n  Comments left for invalid file openstackclient/identity/v3/service.py\n  Comments left for invalid file openstackclient/identity/v3/service_provider.py\n  Comments left for invalid file openstackclient/identity/v3/trust.py\n  Comments left for invalid file openstackclient/identity/v3/user.py\n  Comments left for invalid file openstackclient/image/v2/image.py\n  Comments left for invalid file openstackclient/volume/v2/volume_snapshot.py\n  Comments left for invalid file openstackclient/volume/v3/block_storage_log_level.py\n  Comments left for invalid file openstackclient/volume/v3/block_storage_resource_filter.py\n  Comments left for invalid file openstackclient/volume/v3/volume.py\n  Comments left for invalid file openstackclient/volume/v3/volume_attachment.py\n  Comments left for invalid file openstackclient/volume/v3/volume_backup.py\n  Comments left for invalid file openstackclient/volume/v3/volume_group_snapshot.py\n  Comments left for invalid file openstackclient/volume/v3/volume_snapshot.py","accounts_in_message":[],"_revision_number":1},{"id":"52405e0d3e0eb54b0996ca5e79f2491dad25e029","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-14 10:24:19.000000000","message":"Patch Set 2: Patch Set 1 was rebased on behalf of \u003cGERRIT_ACCOUNT_10342\u003e\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}],"_revision_number":2},{"id":"78e4f06d5619ac01e97b49803f61e680c040478e","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-14 10:24:23.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"cd1c66e0df3b68c01c9eab2867ce825134f38b36","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-14 10:42:08.000000000","message":"Patch Set 3: Patch Set 2 was rebased on behalf of \u003cGERRIT_ACCOUNT_10342\u003e\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Workflow+1 (copy condition: \"NEVER\")\n","accounts_in_message":[{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}],"_revision_number":3},{"id":"3c5d7c41cef363dd5276f79bad4258da796743f6","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-14 10:42:12.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"c211476271c0278b351dc373daaf3b1618bc364d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-14 12:16:05.000000000","message":"Patch Set 3: 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/bc39aedcb743424b9557f00051f66daf\n\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/205c550c043547b5bd2c6bfddc02fc32 : SUCCESS in 2m 49s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/8b4974dbb0b641d5964457f5701a0bf3 : SUCCESS in 6m 40s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e6855c82fb5544ad97555d5c1c09d08b : SUCCESS in 4m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f8ce0fb6b1b04beca25a79b9f752a13d : SUCCESS in 4m 39s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/7ba7a2d7f3fe4d3fb8b82bf9936c00f0 : SUCCESS in 2m 41s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d27239bc8ae743699d48afdf796d2695 : SUCCESS in 3m 54s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/92035408488940469d5665227892f360 : SUCCESS in 6m 45s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5bdd2d1909a8431c80069271df2790bb : SUCCESS in 3m 39s\n- osc-build-image https://zuul.opendev.org/t/openstack/build/e08a001947cb453887f2bf22d282d86c : FAILURE in 4m 45s (non-voting)\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/47b290d6a10b4415abc58e382a84e47a : SUCCESS in 1h 10m 14s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/5f4ca032ed4e4ee28de835b36c287153 : FAILURE in 1h 26m 37s","accounts_in_message":[],"_revision_number":3},{"id":"1c6c9ed98c49c5ef214a162f3654358c97af32f9","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-14 23:02:21.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"3da2d227d586a9ab922b558214dc1d8f056cef39","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-14 23:51:27.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/325cf483ab394244aa03ba1246a875ad\n\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/0c66c67522f64b14ba23c926683161e7 : SUCCESS in 2m 55s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/8a410f8e20e144c290ebd6039f09dd7e : SUCCESS in 4m 49s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/dc292b10310e436194b59a8b7295b0b1 : SUCCESS in 2m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bcdf078de8ec49458181c08a977f0978 : SUCCESS in 5m 01s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/6375a40c2acd433b8ae122bee3ef6c37 : SUCCESS in 4m 55s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/45a1f2fc51d64aeab00c2545b5f9ccf9 : SUCCESS in 3m 09s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/09b284b0c76a46218f9e1261d9ee3aa8 : SUCCESS in 6m 23s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e5d4835530944ecc9bf8ce8c1f2e75e4 : SUCCESS in 6m 37s\n- osc-build-image https://zuul.opendev.org/t/openstack/build/9ed46da8957742f9b0923f3329bf07d0 : FAILURE in 6m 43s (non-voting)\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/fce89d488d1e471592baf101aee83fe8 : SUCCESS in 47m 49s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/a044d4ad3bf24d90b0aa823684e6df22 : SUCCESS in 47m 35s","accounts_in_message":[],"_revision_number":3},{"id":"ee283d7a4cd5469fa45b73e8e71678f611ffae93","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 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"f1cb06ac99c436e2ca12d55895cd787c8f1f8c0e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-15 01:52:24.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/588298b6c8934210b96a6cb5cf4e1c77\n\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/1f10c7cad551414f9c6e483d5d7680f9 : SUCCESS in 4m 28s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/8387ed8a096d43c6902ba6994b6286b0 : SUCCESS in 4m 59s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c5e3845405b141d9bf9c6c695199c6a0 : SUCCESS in 4m 06s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/ad89fda6d67442adb73832d61ff861d0 : SUCCESS in 3m 12s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7dd77f0f200d400aa07758d91165a1d8 : SUCCESS in 5m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/16f83f9b93e6417fae281a38dcdc062d : SUCCESS in 5m 50s\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/e4dc0841a4284c76ab9df072c24b6a65 : SUCCESS in 1h 18m 08s","accounts_in_message":[],"_revision_number":3},{"id":"be2e9d9e99d5bff929f61fd0c3961d4e46ec5a64","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-15 01:52:25.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"74e63c570cf405836e56e4e3d17be055b82012ba","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-15 01:54:37.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4b8c55fd6d604e60896aa27d505975d1\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a4594b4b244e4fffaa4649c9282667c4 : SUCCESS in 41s","accounts_in_message":[],"_revision_number":3},{"id":"967bf58c8cdab7b0f573d9152bce5961bc894bc6","author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"date":"2026-04-15 09:09:19.000000000","message":"Patch Set 3: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"edeabd68ae18f50e6137e8338d948a0a99c438b5","revisions":{"8f52780f9df90c3b744939486079c17da99daf59":{"kind":"REWORK","_number":1,"created":"2026-04-13 19:27:40.000000000","uploader":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"ref":"refs/changes/55/984455/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/55/984455/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/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":"Jay Faulkner","email":"jay@jvf.cc","date":"2026-04-13 19:25:47.000000000","tz":-420},"committer":{"name":"Jay Faulkner","email":"jay@jvf.cc","date":"2026-04-13 19:25:58.000000000","tz":-420},"subject":"tests: Fix test_module for Python 3.14","message":"tests: Fix test_module for Python 3.14\n\nPython 3.14 changed argparse to lazily import _colorize during\nArgumentParser.__init__, triggering a chain of imports\n(_colorize -\u003e dataclasses -\u003e inspect -\u003e tokenize) that ends with\n`from builtins import open`. The class-level mock.patch.dict on\nsys.modules with clear\u003dTrue removed builtins from sys.modules,\ncausing this import to fail with ImportError.\n\nNarrow the mock scope to wrap only the take_action call rather\nthan the entire test class, so get_parser/argparse initialization\nruns with an unpatched sys.modules while take_action still\niterates the controlled set of fake modules.\n\nAssisted-By: claude-code\nChange-Id: I0e1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a\nSigned-off-by: Jay Faulkner \u003cjay@jvf.cc\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/8f52780f9df90c3b744939486079c17da99daf59"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/8f52780f9df90c3b744939486079c17da99daf59"}]},"branch":"refs/heads/master"},"7828c6632de0ab87722fc25c5d21a79b444b02ba":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-04-14 10:24:19.000000000","uploader":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/55/984455/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/55/984455/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/2"}}},"commit":{"parents":[{"commit":"c8ef4a5ed82d8f2eef28f637534d24ea80f269cb","subject":"typing: Fix for typed openstacksdk proxies","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/c8ef4a5ed82d8f2eef28f637534d24ea80f269cb"}]}],"author":{"name":"Jay Faulkner","email":"jay@jvf.cc","date":"2026-04-13 19:25:47.000000000","tz":-420},"committer":{"name":"Jay Faulkner","email":"jay@jvf.cc","date":"2026-04-14 10:24:19.000000000","tz":0},"subject":"tests: Fix test_module for Python 3.14","message":"tests: Fix test_module for Python 3.14\n\nPython 3.14 changed argparse to lazily import _colorize during\nArgumentParser.__init__, triggering a chain of imports\n(_colorize -\u003e dataclasses -\u003e inspect -\u003e tokenize) that ends with\n`from builtins import open`. The class-level mock.patch.dict on\nsys.modules with clear\u003dTrue removed builtins from sys.modules,\ncausing this import to fail with ImportError.\n\nNarrow the mock scope to wrap only the take_action call rather\nthan the entire test class, so get_parser/argparse initialization\nruns with an unpatched sys.modules while take_action still\niterates the controlled set of fake modules.\n\nAssisted-By: claude-code\nChange-Id: I0e1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a\nSigned-off-by: Jay Faulkner \u003cjay@jvf.cc\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/7828c6632de0ab87722fc25c5d21a79b444b02ba"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/7828c6632de0ab87722fc25c5d21a79b444b02ba"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"ours":"8f52780f9df90c3b744939486079c17da99daf59","theirs":"c8ef4a5ed82d8f2eef28f637534d24ea80f269cb","contains_conflicts":false}},"edeabd68ae18f50e6137e8338d948a0a99c438b5":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-04-14 10:42:08.000000000","uploader":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/55/984455/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/55/984455/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/55/984455/3"}}},"commit":{"parents":[{"commit":"437914a3e219c7fe19a4ef7436c5c914ba8d03bf","subject":"typing: Fix for typed openstacksdk proxies","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/437914a3e219c7fe19a4ef7436c5c914ba8d03bf"}]}],"author":{"name":"Jay Faulkner","email":"jay@jvf.cc","date":"2026-04-13 19:25:47.000000000","tz":-420},"committer":{"name":"Jay Faulkner","email":"jay@jvf.cc","date":"2026-04-14 10:42:08.000000000","tz":0},"subject":"tests: Fix test_module for Python 3.14","message":"tests: Fix test_module for Python 3.14\n\nPython 3.14 changed argparse to lazily import _colorize during\nArgumentParser.__init__, triggering a chain of imports\n(_colorize -\u003e dataclasses -\u003e inspect -\u003e tokenize) that ends with\n`from builtins import open`. The class-level mock.patch.dict on\nsys.modules with clear\u003dTrue removed builtins from sys.modules,\ncausing this import to fail with ImportError.\n\nNarrow the mock scope to wrap only the take_action call rather\nthan the entire test class, so get_parser/argparse initialization\nruns with an unpatched sys.modules while take_action still\niterates the controlled set of fake modules.\n\nAssisted-By: claude-code\nChange-Id: I0e1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a\nSigned-off-by: Jay Faulkner \u003cjay@jvf.cc\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/edeabd68ae18f50e6137e8338d948a0a99c438b5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/edeabd68ae18f50e6137e8338d948a0a99c438b5"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"ours":"7828c6632de0ab87722fc25c5d21a79b444b02ba","theirs":"437914a3e219c7fe19a4ef7436c5c914ba8d03bf","contains_conflicts":false}}},"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":""}}}]}
