)]}'
{"id":"openstack%2Foslo.cache~962802","triplet_id":"openstack%2Foslo.cache~master~I15c75501edc8b2c3bc545b13e34b90b8a47df553","project":"openstack/oslo.cache","branch":"master","topic":"typing","hashtags":[],"change_id":"I15c75501edc8b2c3bc545b13e34b90b8a47df553","subject":"Add typing","status":"MERGED","created":"2025-10-02 14:02:20.000000000","updated":"2025-10-09 15:26:32.000000000","submitted":"2025-10-09 15:26:32.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"962802-typing","meta_rev_id":"94ee9fb659e37eca5ee79c6a27f634ddf7bc0eda","_number":962802,"virtual_id_number":962802,"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":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-10-09 15:26:32.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":"","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":2,"date":"2025-10-09 11:20:40.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_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":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":1,"date":"2025-10-09 11:20:40.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_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},"Backport-Candidate":{"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do Not Backport","-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport","+2":"Should Backport"},"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":"2025-10-02 15:42:47.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":"da9150e85ed2351f110c7852f4ecb4052c2ec132","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-10-02 14:02:20.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"57344d4e2a6c6f6539424f08fca1c1483296d8c6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-02 15:42:47.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d8630ff2593c489699864e569b57432e\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/b110cf7004cd48edb21fe75a18f40ae3 : SUCCESS in 1h 30m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1383db86da5a4161a116666da8d34ed5 : SUCCESS in 3m 30s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/0ecd20fdbe644e30bdb2c63ee5123f36 : SUCCESS in 4m 48s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/7decdd741afb4e28a37021308df22592 : SUCCESS in 3m 33s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/1d1ce25453fb4fe49dcaec4739b2713a : SUCCESS in 7m 46s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3f5cf5baa7304fbe90f51ba12ff578ff : SUCCESS in 4m 45s\n- oslo.cache-functional-etcd3gw https://zuul.opendev.org/t/openstack/build/60096c6b2a9d45f8ba44bc8421ee787c : SUCCESS in 4m 02s\n- oslo.cache-functional-dogpile.cache.bmemcached https://zuul.opendev.org/t/openstack/build/7dcec5ea8978444ab1670c6bddaa392f : SUCCESS in 4m 56s\n- oslo.cache-functional-dogpile.cache.pymemcache https://zuul.opendev.org/t/openstack/build/2870287478164702a48ca6e8500e8a6f : SUCCESS in 4m 20s\n- oslo.cache-functional-memcache_pool https://zuul.opendev.org/t/openstack/build/5e42fea3aba848a58c8f61e250c62929 : SUCCESS in 3m 38s\n- oslo.cache-functional-dogpile.cache.redis https://zuul.opendev.org/t/openstack/build/16a1feabdddf48ce8ed551bff0859c65 : SUCCESS in 5m 48s\n- oslo.cache-functional-dogpile.cache.redis_sentinel https://zuul.opendev.org/t/openstack/build/b1c3389eaedb4feabd2f1af7d43aa658 : SUCCESS in 3m 28s","accounts_in_message":[],"_revision_number":1},{"id":"8755dda58aabd42afb2511f8ad9af56c8942fc85","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-10-09 11:19:24.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":2},{"id":"8a18d3ad7a6604e46a401d03410b4ed00a3a5230","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-10-09 11:20:26.000000000","message":"Patch Set 3: Patch Set 2 was rebased","accounts_in_message":[],"_revision_number":3},{"id":"686fb3e399340efca09e052abc84d57f58d37cf3","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-10-09 11:20:40.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"684636476563ddb938a0025d8b9af601d6f25cf3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-09 13:13:23.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2679154c4e7a424080f6e83b6d97dffe\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/eb18dcad66564d1c9ef382fa72db3464 : SUCCESS in 1h 49m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f6b73d7db8de4228b28de5766772e888 : SUCCESS in 4m 34s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/6a38cc7e254e4ab299fd983027c1121f : SUCCESS in 3m 45s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/892cea158e344dc4973c728dc84a5480 : SUCCESS in 3m 35s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8290084df722419e9c2ac296b9badff8 : SUCCESS in 6m 20s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/412b403d274742e9a696b7a17bca4e53 : SUCCESS in 4m 48s\n- oslo.cache-functional-etcd3gw https://zuul.opendev.org/t/openstack/build/0c53b147685b45e48085c9fe3a1fa26a : SUCCESS in 2m 58s\n- oslo.cache-functional-dogpile.cache.bmemcached https://zuul.opendev.org/t/openstack/build/67ae3314ce314c68a99838d3ad90487b : SUCCESS in 2m 52s\n- oslo.cache-functional-dogpile.cache.pymemcache https://zuul.opendev.org/t/openstack/build/f92b3de18e09425fbe23cf361d146c0b : SUCCESS in 4m 10s\n- oslo.cache-functional-memcache_pool https://zuul.opendev.org/t/openstack/build/ca5a6ed5c2b74ce28db9583d8c2d3766 : SUCCESS in 4m 17s\n- oslo.cache-functional-dogpile.cache.redis https://zuul.opendev.org/t/openstack/build/cd3bd75099984163a67e52a279fa2b27 : SUCCESS in 4m 16s\n- oslo.cache-functional-dogpile.cache.redis_sentinel https://zuul.opendev.org/t/openstack/build/7483224d32af4358b7f97c5bec7d2581 : SUCCESS in 4m 27s","accounts_in_message":[],"_revision_number":3},{"id":"6ed9a816b40f44c2c355dbb951bcdd9e721ad26b","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-09 13:24:56.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"2db92d796d4250e6271d5c8506d58786960fa756","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-09 15:26:32.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f47c7dbe018f4e95a354861dd5d59693\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/615bfbef753d44698736c7937b4444bd : SUCCESS in 1h 54m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/86e60960c2534215a680a5c4cf9a1396 : SUCCESS in 3m 24s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/a0aaaa83e4274155ae687181f5f7e5dd : SUCCESS in 3m 13s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/4460b5c3d4eb4a9ba883cae5da56ca9f : SUCCESS in 3m 41s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/65320274f6db401d83524af827371c48 : SUCCESS in 4m 14s","accounts_in_message":[],"_revision_number":3},{"id":"94ee9fb659e37eca5ee79c6a27f634ddf7bc0eda","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-09 15:26:32.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"34fad6c4bf8b6cda26c2d8a586587fcf1dc2252d","revisions":{"448af8df0648760db1b83eb29f0f771c089af9c5":{"kind":"REWORK","_number":1,"created":"2025-10-02 14:02:20.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/02/962802/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.cache","ref":"refs/changes/02/962802/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/1"}}},"commit":{"parents":[{"commit":"56b276024092503119a58c581cc7cddc8b88d2cb","subject":"Remove used logging arguments","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.cache/commit/56b276024092503119a58c581cc7cddc8b88d2cb"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2025-10-01 11:22:06.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2025-10-02 14:02:11.000000000","tz":60},"subject":"Add typing","message":"Add typing\n\nThe only functional change is that we switch a namedtuple to a dataclass\nsince nametuples can\u0027t use generics until Python 3.11 [1][2].\n\n[1] https://typing.python.org/en/latest/spec/namedtuples.html\n[2] https://github.com/microsoft/pyright/issues/2203\n\nChange-Id: I15c75501edc8b2c3bc545b13e34b90b8a47df553\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.cache/commit/448af8df0648760db1b83eb29f0f771c089af9c5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.cache/commit/448af8df0648760db1b83eb29f0f771c089af9c5"}]},"branch":"refs/heads/master"},"0b8fb447069dba9792c9ee7f17123f8cb696c96e":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2025-10-09 11:19:24.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/02/962802/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.cache","ref":"refs/changes/02/962802/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/2"}}},"commit":{"parents":[{"commit":"3e2fdef21f4d2aaa352c2b94d97adab21a3aaab6","subject":"Remove used logging arguments","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.cache/commit/3e2fdef21f4d2aaa352c2b94d97adab21a3aaab6"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2025-10-01 11:22:06.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2025-10-09 11:19:03.000000000","tz":60},"subject":"Add typing","message":"Add typing\n\nThe only functional change is that we switch a namedtuple to a dataclass\nsince nametuples can\u0027t use generics until Python 3.11 [1][2].\n\n[1] https://typing.python.org/en/latest/spec/namedtuples.html\n[2] https://github.com/microsoft/pyright/issues/2203\n\nChange-Id: I15c75501edc8b2c3bc545b13e34b90b8a47df553\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.cache/commit/0b8fb447069dba9792c9ee7f17123f8cb696c96e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.cache/commit/0b8fb447069dba9792c9ee7f17123f8cb696c96e"}]},"branch":"refs/heads/master"},"34fad6c4bf8b6cda26c2d8a586587fcf1dc2252d":{"kind":"NO_CHANGE","_number":3,"created":"2025-10-09 11:20:26.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/02/962802/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.cache","ref":"refs/changes/02/962802/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.cache refs/changes/02/962802/3"}}},"commit":{"parents":[{"commit":"db9fd196c50c9cafc7612fedfe766af450dc7334","subject":"Remove unused logging arguments","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.cache/commit/db9fd196c50c9cafc7612fedfe766af450dc7334"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2025-10-01 11:22:06.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2025-10-09 11:20:26.000000000","tz":0},"subject":"Add typing","message":"Add typing\n\nThe only functional change is that we switch a namedtuple to a dataclass\nsince nametuples can\u0027t use generics until Python 3.11 [1][2].\n\n[1] https://typing.python.org/en/latest/spec/namedtuples.html\n[2] https://github.com/microsoft/pyright/issues/2203\n\nChange-Id: I15c75501edc8b2c3bc545b13e34b90b8a47df553\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.cache/commit/34fad6c4bf8b6cda26c2d8a586587fcf1dc2252d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.cache/commit/34fad6c4bf8b6cda26c2d8a586587fcf1dc2252d"}]},"branch":"refs/heads/master","description":"Rebase"}},"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"}},{"label":"Backport-Candidate","status":"MAY"}]}],"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":{}}},{"name":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"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":{}}},{"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":{}}}]}
