)]}'
{"id":"openstack%2Ftaskflow~1009081","triplet_id":"openstack%2Ftaskflow~master~I836357f88476b5c19cd5202f0181e964cfd7c43a","project":"openstack/taskflow","branch":"master","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-10-07 15:01:11.000000000","reason":"Change was submitted"},"9816":{"account":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"last_update":"2026-10-07 13:41:17.000000000","reason":"\u003cGERRIT_ACCOUNT_9816\u003e replied on the change","reason_account":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"}}},"hashtags":[],"change_id":"I836357f88476b5c19cd5202f0181e964cfd7c43a","subject":"Use extras from SQLAlchemy","status":"MERGED","created":"2026-10-06 16:08:37.000000000","updated":"2026-10-07 15:02:20.000000000","submitted":"2026-10-07 15:01:11.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":"1009081","meta_rev_id":"3c3d7c3cee6850a56812d7e792259844b303ad7d","_number":1009081,"virtual_id_number":1009081,"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":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-10-07 15:01:11.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":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"all":[{"value":2,"date":"2026-10-07 13:41:17.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"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":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"all":[{"value":1,"date":"2026-10-07 13:41:17.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"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":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"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":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-10-06 17:51:54.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-10-07 13:28:33.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"state":"REVIEWER"}],"messages":[{"id":"f4e47f2183f0199a583ee256f4725a039c1f986f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-10-06 16:08:37.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"1b2297b31156cdcd139c9602294489db36f6ec62","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-10-06 16:33:55.000000000","message":"Patch Set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"2aab307702d93b399bb05347f6ce89fce5bb4d2e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-06 17:51:54.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/579722f865ad49508145465eea1937fb\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/8092ffba9c8d4bb3bfdab1a2c74b1fe3 : SUCCESS in 3m 02s\n- requirements-check https://zuul.opendev.org/t/openstack/build/9c24511c6c3541ed8580c3fde1abffd5 : SUCCESS in 2m 39s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/84ecfd6d7f3d4972857c5d5008ff648b : SUCCESS in 1h 15m 26s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e93df2792b454176b9659c6b5cb1e9d9 : SUCCESS in 5m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f37e78568ebf43bbbcebf032b3d5e481 : SUCCESS in 3m 55s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/9faa9481720f44fc94c1664589720c05 : SUCCESS in 5m 02s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2b44994342a1449f8c59d505fe063348 : SUCCESS in 6m 59s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/690378732e9243be8793693d5771e6cd : SUCCESS in 8m 33s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6cd520a1ca3d4e6591c270e907d32006 : SUCCESS in 4m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4b5a2b605bc14879bde3fc69843c5ded : SUCCESS in 4m 28s\n- taskflow-functional-zookeeper https://zuul.opendev.org/t/openstack/build/93cb269cc2ad499b8777e58f7fb99eb2 : SUCCESS in 7m 12s\n- taskflow-functional-redis https://zuul.opendev.org/t/openstack/build/d0b543cacf03461597540bea9d54f871 : SUCCESS in 6m 13s\n- taskflow-functional-etcd https://zuul.opendev.org/t/openstack/build/71b2e6e04c6640c5852280f4943e88c6 : SUCCESS in 7m 40s","accounts_in_message":[],"_revision_number":2},{"id":"e9c35ceae4e9b63f085153a1becb404d778b68db","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2026-10-07 13:41:17.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"8e54e91780eb41b66dc3867a4dacd81bbee70e9f","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-07 13:41:41.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"5e9e1aa7e0e197326cfad70ebf1e61799dbac576","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-07 15:01:11.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/36a4313fb337472384401bee53380067\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/780b4a8242384b218969caa34bdb873d : SUCCESS in 3m 35s\n- requirements-check https://zuul.opendev.org/t/openstack/build/9c634b584f9b4c869ba907538b524790 : SUCCESS in 3m 13s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/bff65237b74246cebb6024d29fd8ed37 : SUCCESS in 1h 16m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/321217aa07854c1caa34a3fc8eb49d13 : SUCCESS in 3m 46s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/a7a3b53a717d4636a3f32c44d725ecd5 : SUCCESS in 5m 43s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/276c561b8cac4c218e6fe06c6953cff4 : SUCCESS in 7m 40s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/b78bb06501da416f88eed2cf8c800af9 : SUCCESS in 10m 21s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ec06ccedf1f34742a061a6545f1e8c14 : SUCCESS in 4m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4e4d7093fc944351bff64fbacd443b5a : SUCCESS in 5m 08s\n- taskflow-functional-zookeeper https://zuul.opendev.org/t/openstack/build/7264cf4ead3d4b74ad7f3afefa2aa5ab : SUCCESS in 6m 30s\n- taskflow-functional-redis https://zuul.opendev.org/t/openstack/build/e4417dc5f3e149f6b8b2ad39938ea0ec : SUCCESS in 5m 54s\n- taskflow-functional-etcd https://zuul.opendev.org/t/openstack/build/ffaf0ecf99544bf0988c0962fe20820e : SUCCESS in 5m 09s","accounts_in_message":[],"_revision_number":2},{"id":"a743c44b7a61aa94c5cd605ff6be30ba23a0fb2f","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-07 15:01:11.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"3c3d7c3cee6850a56812d7e792259844b303ad7d","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-07 15:02:20.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/787219b2adfb48059f15f0b7a92c0534\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/576bb26fbff94faeb77e7a958fbfa103 : SUCCESS in 47s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"571351cd04545ec10001ad268e7c3097244c549c","revisions":{"e378ff974a5e43608b0b355477b488eca6d85fd6":{"kind":"REWORK","_number":1,"created":"2026-10-06 16:08:37.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/81/1009081/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/81/1009081/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/81/1009081/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/81/1009081/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/81/1009081/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/81/1009081/1"}}},"commit":{"parents":[{"commit":"25fa8f9237f6b6b198e4ef85cd02ceb22a054c56","subject":"tests: Capture logs, stdout, stderr","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/25fa8f9237f6b6b198e4ef85cd02ceb22a054c56"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-10-06 16:02:03.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-10-06 16:06:46.000000000","tz":60},"subject":"Use extras from SQLAlchemy","message":"Use extras from SQLAlchemy\n\nThis avoids us declaring these ourselves. Note that this changes us from\nusing psycopg2 to psycopg (which in reality is v2). Given we do not call\nthis library directly, this should have no impact. It also bumps the\nminimum version of both SQLAlchemy and alembic, but both minimum are not\nsuper recent and are likely far more realistic lower constraints than\nthe ancient versions we were using previously.\n\nChange-Id: I836357f88476b5c19cd5202f0181e964cfd7c43a\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/e378ff974a5e43608b0b355477b488eca6d85fd6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/e378ff974a5e43608b0b355477b488eca6d85fd6"}]},"branch":"refs/heads/master"},"571351cd04545ec10001ad268e7c3097244c549c":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2026-10-06 16:33:55.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/81/1009081/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/81/1009081/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/81/1009081/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/81/1009081/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/81/1009081/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/81/1009081/2"}}},"commit":{"parents":[{"commit":"25fa8f9237f6b6b198e4ef85cd02ceb22a054c56","subject":"tests: Capture logs, stdout, stderr","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/25fa8f9237f6b6b198e4ef85cd02ceb22a054c56"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-10-06 16:02:03.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-10-06 16:33:55.000000000","tz":0},"subject":"Use extras from SQLAlchemy","message":"Use extras from SQLAlchemy\n\nThis avoids us declaring these ourselves. Note that this changes us from\nusing psycopg2 to psycopg (which in reality is v3). Given we do not call\nthis library directly, this should have no impact. It also bumps the\nminimum version of both SQLAlchemy and alembic, but both minimum are not\nsuper recent and are likely far more realistic lower constraints than\nthe ancient versions we were using previously.\n\nChange-Id: I836357f88476b5c19cd5202f0181e964cfd7c43a\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/571351cd04545ec10001ad268e7c3097244c549c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/571351cd04545ec10001ad268e7c3097244c549c"}]},"branch":"refs/heads/master","description":"Edit commit message"}},"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":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"}},{"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"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":""}}}]}
