)]}'
{"id":"openstack%2Fkeystoneauth~997255","triplet_id":"openstack%2Fkeystoneauth~master~I5a48db6c39792ca4d3079ebccde3b692b156e5ba","project":"openstack/keystoneauth","branch":"master","attention_set":{},"removed_from_attention_set":{"20104":{"account":{"_account_id":20104,"name":"Dmitrii Galkin","display_name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","username":"galkindmitrii"},"last_update":"2026-08-20 12:27:39.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I5a48db6c39792ca4d3079ebccde3b692b156e5ba","subject":"Add HTTP 429 Too Many Requests support","status":"MERGED","created":"2026-07-14 17:23:18.000000000","updated":"2026-08-20 12:28:52.000000000","submitted":"2026-08-20 12:27:39.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":"997255","meta_rev_id":"5f878ebec43ecf7362cdb19dac286d64dae888b8","_number":997255,"virtual_id_number":997255,"owner":{"_account_id":20104,"name":"Dmitrii Galkin","display_name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","username":"galkindmitrii"},"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":"2026-08-20 12:27:39.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":"2026-08-20 11:40:06.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":"2026-08-20 11:40:06.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}},"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-07-14 19:00:45.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-08-20 11:40:06.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"}],"messages":[{"id":"14e512fbd1197afa31e95a4f575a6b3d13865006","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":20104,"name":"Dmitrii Galkin","display_name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","username":"galkindmitrii"},"date":"2026-07-14 17:23:18.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"9f36cc5c658f8c7ce7c878cad4b56dadfd7ec302","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-14 19:00:45.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1e67da8f568f441e927e05984c4ec168\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f23d3e003648445dbc3e5e709cfaaab5 : SUCCESS in 1h 31m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c0fc3f9c4fcd487399ed9b656d150aa6 : SUCCESS in 7m 52s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/df378d3771d14cc9be48c64c46df44b3 : SUCCESS in 3m 21s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/4a3e2c3c35864f5d95e693bfa02cd828 : SUCCESS in 9m 20s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/9cb73b8da20a4bb6827d7299346d185e : SUCCESS in 9m 49s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/b5694fc9411747d6a4bab6f5b8432af6 : SUCCESS in 15m 33s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/549d0786089f42968089a47ce55e499a : SUCCESS in 42m 44s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/8b1c05c3c82f40bcae28532338dbcf6d : SUCCESS in 5m 03s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/31042f70a4f44ea38e90cb81943dc73a : SUCCESS in 7m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/89e0eb79ffdb46e997e630b386aab8ca : SUCCESS in 5m 18s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c57cfbc7291a427f846fb31cfee73cf7 : SUCCESS in 3m 06s","accounts_in_message":[],"_revision_number":1},{"id":"4cff43c7955903a4a554bcf8f677065457fa8e62","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":20104,"name":"Dmitrii Galkin","display_name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","username":"galkindmitrii"},"date":"2026-07-17 15:21:26.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"3a04e8da7f873e2a12154629eb940e40dacd3010","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-17 17:05:57.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a26d9859c8014629830b551a470d3f88\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/ba2a1ee5d0f34d05aac89aa3b28afe4c : SUCCESS in 1h 38m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6548758bef2c4cc1876150e455ea51a5 : SUCCESS in 7m 57s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f32ad99bf2d842dca1d526c2665412df : SUCCESS in 7m 17s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/84843484080a41c3acdba135eb0077c1 : SUCCESS in 8m 20s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/53b13922ed3b4e228885107fd3f18df2 : SUCCESS in 9m 17s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/0c83957d43b944afaa2e1af92b2be47e : SUCCESS in 22m 07s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/77f5e733353f40279e8f03461da1e9d8 : SUCCESS in 1h 00m 10s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/7d578ec1395749a389e0fec35b702160 : SUCCESS in 7m 45s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/8c7b044220e14a81a1b895e62ad9dd5d : SUCCESS in 7m 38s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4662940fe19948a9bf7e663b249aa25f : SUCCESS in 10m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f3fa5d8774754831941d1bb08cdcae7a : SUCCESS in 4m 12s","accounts_in_message":[],"_revision_number":2},{"id":"49ef038d1e42182f07898a17cd052cd7a5353da4","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-08-20 11:40:06.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"fbc88db86da512068858d5442b96252e14a9133e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 11:40:37.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"3bf27d599dac6eee070382eb61e85dc641b4fdc6","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 12:27:39.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a838fcb0e0c94dd096864e94d4a7f7c8\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/3d5570aaa70143c694dc99d17acdcc4a : SUCCESS in 46m 12s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8656c9b34f0e4fdbb01ed28bfbe404d2 : SUCCESS in 8m 41s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b1db2a19c59340daba9d25ee6e0600f0 : SUCCESS in 8m 18s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/3541be4781bf4592b0b897d9aaa6cccf : SUCCESS in 9m 17s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/4d3c05e28e524e71af9fb80eada1328b : SUCCESS in 12m 52s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/148fe2f21df449faa518087a839bbfdb : SUCCESS in 32m 45s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/4eb63124a2a94db2a33d545d1770eedd : SUCCESS in 3m 30s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/b8931c9e175948039a250a631094ee0a : SUCCESS in 7m 47s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b275c63989e042059e19e5cc16d4c012 : SUCCESS in 8m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0cf8a5e5b879498ebc11087e747a087f : SUCCESS in 4m 45s","accounts_in_message":[],"_revision_number":2},{"id":"ca54274cd81dada6c3010c120346727358139cf2","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 12:27:39.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"5f878ebec43ecf7362cdb19dac286d64dae888b8","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 12:28:52.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/32482e34302e43a6be56e66e90b4d492\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9ad339040eae4af29115d3334b01381b : SUCCESS in 53s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"87d22bb02fece4fedcc8b975dd4eb42ab8d3f025","revisions":{"89607c5207d21c094e821ede7319107ba1daad04":{"kind":"REWORK","_number":1,"created":"2026-07-14 17:23:18.000000000","uploader":{"_account_id":20104,"name":"Dmitrii Galkin","display_name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","username":"galkindmitrii"},"ref":"refs/changes/55/997255/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystoneauth","ref":"refs/changes/55/997255/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/55/997255/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/55/997255/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/55/997255/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystoneauth refs/changes/55/997255/1"}}},"commit":{"parents":[{"commit":"9c28aa6eb6b2f62b7c3946bf02b90413f57db6bf","subject":"Merge \"trivial: Declare attributes on _BaseAdapter\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/9c28aa6eb6b2f62b7c3946bf02b90413f57db6bf"}]}],"author":{"name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","date":"2026-07-14 17:22:34.000000000","tz":120},"committer":{"name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","date":"2026-07-14 17:22:34.000000000","tz":120},"subject":"Add HTTP 429 Too Many Requests support","message":"Add HTTP 429 Too Many Requests support\n\nAdd 429 to the default retriable status codes alongside 503, and\nhonour the Retry-After response header when deciding how long to\nwait before retrying. Also add a TooManyRequests exception class\nso callers can catch 429 responses specifically.\n\nCloses-Bug: #2157013\n\nSigned-off-by: Dmitry Galkin \u003cgalkindmitrii@gmail.com\u003e\nChange-Id: I5a48db6c39792ca4d3079ebccde3b692b156e5ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/89607c5207d21c094e821ede7319107ba1daad04"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/89607c5207d21c094e821ede7319107ba1daad04"}]},"branch":"refs/heads/master"},"87d22bb02fece4fedcc8b975dd4eb42ab8d3f025":{"kind":"REWORK","_number":2,"created":"2026-07-17 15:21:26.000000000","uploader":{"_account_id":20104,"name":"Dmitrii Galkin","display_name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","username":"galkindmitrii"},"ref":"refs/changes/55/997255/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystoneauth","ref":"refs/changes/55/997255/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/55/997255/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/55/997255/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/55/997255/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystoneauth refs/changes/55/997255/2"}}},"commit":{"parents":[{"commit":"9c28aa6eb6b2f62b7c3946bf02b90413f57db6bf","subject":"Merge \"trivial: Declare attributes on _BaseAdapter\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/9c28aa6eb6b2f62b7c3946bf02b90413f57db6bf"}]}],"author":{"name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","date":"2026-07-14 17:22:34.000000000","tz":120},"committer":{"name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","date":"2026-07-17 15:20:03.000000000","tz":120},"subject":"Add HTTP 429 Too Many Requests support","message":"Add HTTP 429 Too Many Requests support\n\nAdd 429 to the default retriable status codes alongside 503, and\nhonour the Retry-After response header when deciding how long to\nwait before retrying. Also add a TooManyRequests exception class\nso callers can catch 429 responses specifically.\n\nCloses-Bug: #2157013\n\nSigned-off-by: Dmitry Galkin \u003cgalkindmitrii@gmail.com\u003e\nChange-Id: I5a48db6c39792ca4d3079ebccde3b692b156e5ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/87d22bb02fece4fedcc8b975dd4eb42ab8d3f025"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/87d22bb02fece4fedcc8b975dd4eb42ab8d3f025"}]},"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":""}}}]}
