)]}'
{"id":"openstack%2Fcyborg~977888","triplet_id":"openstack%2Fcyborg~master~I728a619926213ce6bdc2647882577112a8c1b55d","project":"openstack/cyborg","branch":"master","topic":"linters","attention_set":{},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-03-05 15:36:24.000000000","reason":"\u003cGERRIT_ACCOUNT_11604\u003e replied on the change","reason_account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}}},"hashtags":[],"change_id":"I728a619926213ce6bdc2647882577112a8c1b55d","subject":"Add ruff config and fix pre-commit hook failures","status":"MERGED","created":"2026-02-24 21:52:05.000000000","updated":"2026-03-05 15:56:27.000000000","submitted":"2026-03-05 15:55:37.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":"977888-linters","meta_rev_id":"50a7d71f3245f2dd0f2466a167d315fb61006073","_number":977888,"virtual_id_number":977888,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-03-05 15:55:36.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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"recommended":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"all":[{"value":1,"date":"2026-03-03 15:27:03.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":2,"date":"2026-03-05 15:36:24.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"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":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":1,"date":"2026-03-05 15:36:24.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"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":{"CC":[{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"}],"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-02-24 21:52:58.000000000","updated_by":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"reviewer":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"state":"CC"},{"updated":"2026-02-24 22:30:37.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-03-03 15:27:03.000000000","updated_by":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"reviewer":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"state":"REVIEWER"}],"messages":[{"id":"740d3485778c5687e2485b233890dbf06b22fb23","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-02-24 21:52:05.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"65e3857d4e6e1341ddf0dea9e89581870063a787","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-02-24 21:52:58.000000000","message":"Patch Set 1:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":1},{"id":"1fc3c09ebf7fe25a307ec0bbb3afc117602d24b9","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-02-24 22:04:59.000000000","message":"Patch Set 1:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/cf6a17fedd01447c81a793030d2d9a74\n\n- teim-code-review https://zuul.teim.app/t/main/build/7527020231874fbaa8aee642a8c6f72f : SUCCESS in 11m 51s","accounts_in_message":[],"_revision_number":1},{"id":"74727305db9752f8165f72a306d5f622def33e85","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-24 22:30:37.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/914c4d76a6ad4ce69fa8de5694da47cf\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/a83e59bdec6442c581bcce64955d1e71 : FAILURE in 2m 48s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/58ad8ef729a849f6b7f54a11a2477c55 : SUCCESS in 3m 35s\n- requirements-check https://zuul.opendev.org/t/openstack/build/9147039227e444618b3d10d1368b7384 : SUCCESS in 2m 40s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/553cf95629f54d63a8d0c2c3f04efc12 : SUCCESS in 8m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bf999995c10044ef84acc05cab242dab : SUCCESS in 5m 34s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/f79d84e957324ca6b5c7601ae6c206f0 : SUCCESS in 3m 36s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/bea287bfc1a84e818caf64312edb1027 : SUCCESS in 3m 54s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/bc9987e5af28456ebfd3b4df8e6f2dbc : SUCCESS in 6m 43s (non-voting)\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/a9fee444577a4e4e9abf8f524cafd39b : SUCCESS in 28m 49s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c7ff62e7bcfc47acb35c33aae0b7d99a : SUCCESS in 15m 46s (non-voting)\n- cyborg-tox-bandit https://zuul.opendev.org/t/openstack/build/7bb6880bed00406da01737f9cf7e5c43 : SUCCESS in 4m 18s","accounts_in_message":[],"_revision_number":1},{"id":"4c1596bb3b95e18556f9153647346f8db1f12e63","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-02-25 21:54:53.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"754af0edb63e2b536a6c04caf2d7b59edc9ff763","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-03-02 18:24:58.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified-1\n* Workflow-1\n","accounts_in_message":[],"_revision_number":2},{"id":"f89575e9f1d4fb8af60e72082b00f4267c944a66","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-03-02 18:25:17.000000000","message":"Patch Set 2:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":2},{"id":"d412c70666299dabb6ead27550f28295d81187a3","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-03-02 18:28:25.000000000","message":"Topic review/sean-k-mooney/linters removed","accounts_in_message":[],"_revision_number":2},{"id":"839e60d3019cc005741a82c8e28d4fee5f145e8a","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-03-02 18:28:27.000000000","message":"Topic set to linters","accounts_in_message":[],"_revision_number":2},{"id":"13e6b6fcc065440a2972eb547f178212acc40edc","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-03-02 18:55:55.000000000","message":"Patch Set 2:\n\n(7 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/4559cff6b505431b91db6be317eba7ea\n\n- teim-code-review https://zuul.teim.app/t/main/build/6c1270b855234f938ed7a4d5611f5748 : SUCCESS in 30m 29s","accounts_in_message":[],"_revision_number":2},{"id":"5a0d1d20540884b0730a65bf3fa709d5724780f1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-02 18:59:51.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ce289f47f15f46e3887b23d6bcc0d842\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/2120d34673f74c00b10c26927f3d372e : SUCCESS in 2m 35s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/74d5511473f742bc8fd1e994178bac6f : SUCCESS in 2m 28s\n- requirements-check https://zuul.opendev.org/t/openstack/build/799a1be254e249c9b58d8eac6c37ed0c : SUCCESS in 1m 44s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/51f02a4099b542d39abfd18b02d10c82 : SUCCESS in 4m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/68458b0ddb0943c695dddf5eb6e780da : SUCCESS in 2m 20s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/b4f3cb957f034389a05e626d1c514067 : SUCCESS in 4m 04s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/79d4aa8c3cad47bca473682e22bbad97 : SUCCESS in 4m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/73540098ee93497f9b8722665d4e0c70 : SUCCESS in 3m 35s (non-voting)\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/cd6929ddb55b429289519453cc218299 : SUCCESS in 28m 22s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0483bca70dbc449ea638b10f05edef85 : SUCCESS in 15m 59s (non-voting)\n- cyborg-tox-bandit https://zuul.opendev.org/t/openstack/build/624d4172ab3e4a07805cfe0d63050623 : SUCCESS in 3m 27s","accounts_in_message":[],"_revision_number":2},{"id":"6be8b640514d261f45df1a58f00eaaeab1a6ea5d","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-03-03 12:31:38.000000000","message":"Patch Set 2: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"bff926c0eab63d1bc53ce0e8a50a92ec3c5e1bb7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-03-03 12:40:07.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"eae9ae293ffe81a93dd9b8c2fda3027bc3ad1b56","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-03-03 12:40:27.000000000","message":"Patch Set 3:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":3},{"id":"28507193e910a3f3e42718ca299c55a57d9898ad","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-03-03 13:11:51.000000000","message":"Patch Set 3:\n\nBuild failed (automatic-ci pipeline). To rerun just this ci comment\n\"teim-ci: auto\". To rerun other ci jobs comment \"recheck\".\nNote this ci does run on \"recheck\".\n\nhttps://zuul.teim.app/t/main/buildset/273145a51a6f4326ac5c254ec8fb265b\n\n- teim-code-review https://zuul.teim.app/t/main/build/673dcb812f244b1da44e55913d126adc : TIMED_OUT in 31m 01s","accounts_in_message":[],"_revision_number":3},{"id":"e56d8f0ad3f60443e3787e8b4fad936b0fc99328","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-03 13:31:11.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/70be307cc25c47bbaf02f195fc12b282\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/9d45313a7d934479939bdeeef704bf64 : SUCCESS in 1m 36s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/9ae5e68722864413875d3e015108ea06 : SUCCESS in 4m 57s\n- requirements-check https://zuul.opendev.org/t/openstack/build/6a63bd29438c4641a3e8604ee1bc1976 : SUCCESS in 2m 36s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/837be8a5bab14de1bef05c1c5dbd9d42 : SUCCESS in 7m 53s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/22ab66dbba4b483c89918a36272d874f : SUCCESS in 3m 23s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/a219fd1dcd11453eaeab9691c388b4c4 : SUCCESS in 2m 35s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/da4ab1c3ac1c453bbe9571cf3bd4689d : SUCCESS in 3m 55s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2d354456870a4786b9516c71da77cba3 : SUCCESS in 6m 11s (non-voting)\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/9aacf29e6d37448b9c7e1771bc06fc73 : SUCCESS in 29m 02s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/bb9e08cf790448df909085adc34f95e9 : SUCCESS in 37m 13s (non-voting)\n- cyborg-tox-bandit https://zuul.opendev.org/t/openstack/build/c1a4fcaed9354cc5afaf192f65a1d9aa : SUCCESS in 3m 29s","accounts_in_message":[],"_revision_number":3},{"id":"13c5a0b67b5cd29190efe42201cfaf5db7649504","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-03-03 15:27:03.000000000","message":"Patch Set 3: Code-Review+1","accounts_in_message":[],"_revision_number":3},{"id":"b17f116d4a495b236018224f5efd1b7e6fae4708","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-03-05 15:36:24.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"74f1d51858082e3726666af36485a7ca8635e7cf","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-05 15:36:51.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"9b2bf362795ca39b23376dc2216b93f95072334e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-05 15:55:36.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1fd889d8712a4adb855981e633b6d1c2\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/49072234f7ea45dbbd9ca19e65d762af : SUCCESS in 2m 00s\n- requirements-check https://zuul.opendev.org/t/openstack/build/bd9dc9a83962426084c3fc138a8697b5 : SUCCESS in 2m 16s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5e1c7c02d9704b1088c53720ac985281 : SUCCESS in 7m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8040ea46f9c94bc2803c16ec76c5d991 : SUCCESS in 3m 46s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/4de96bd415b44274be324ebf7e7b0127 : SUCCESS in 2m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/fc0518a145244319921a83ae1a7e3d6d : SUCCESS in 2m 37s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/5fb3d296e2c64607bbdb1d947442dec9 : SUCCESS in 18m 23s","accounts_in_message":[],"_revision_number":3},{"id":"e378d30bcca7dabdbbfa3b3f611e091fa1efb465","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-05 15:55:37.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"50a7d71f3245f2dd0f2466a167d315fb61006073","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-05 15:56:27.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2db7c016cc6148969570d7f9518922c9\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/17b83c8fd7264d6a8764c48aff253ef4 : SUCCESS in 40s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"a27c9a4489e56c8830fc63c13dbe084f8d105d45","revisions":{"e6090feee7e03010a8df3d318fbc774e3a966248":{"kind":"REWORK","_number":1,"created":"2026-02-24 21:52:05.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/88/977888/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/88/977888/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/88/977888/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/88/977888/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/88/977888/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/88/977888/1"}}},"commit":{"parents":[{"commit":"854f04913802cecc925748fd78d9be2c8de6c1a4","subject":"Fix pyproject.toml deprecations and remove wsgi_scripts","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/854f04913802cecc925748fd78d9be2c8de6c1a4"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-02-24 21:11:19.000000000","tz":0},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-02-24 21:11:19.000000000","tz":0},"subject":"Add ruff config and fix pre-commit hook failures","message":"Add ruff config and fix pre-commit hook failures\n\nAdd ruff configuration to pyproject.toml modelled on the OpenStack\nWatcher project, targeting Python 3.10 with a 79-character line limit.\nSelected rule sets: E4, E7, E9, F, S, UP, W, C90. Suppressed rules\ndeferred for later passes: UP031/UP032 (%-format to f-string migration),\nS101, S311, S104, S105/S106, S110, S603 (SPDK subprocess call).\nAlembic migration files are excluded from E402.\n\nFix check-docstring-first failures in four files by moving module\ndocstrings to immediately after the license header, before imports:\n- cyborg/api/controllers/v2/device_profiles.py\n- cyborg/hacking/checks.py\n- cyborg/tests/unit/agent/test_resource_tracker.py\n- cyborg/tests/unit/fake_device_profile.py\n\nFix F821 (undefined name _) in\ncyborg/accelerator/drivers/modules/generic.py by adding the missing\n`from cyborg.common.i18n import _` import.\n\nSuppress pre-existing E501 violations in cyborg/image/glance.py with\nnoqa comments; proper wrapping deferred to a later commit.\n\nRuff auto-fixed ~158 additional style issues across the codebase\n(UP006, UP008, UP009, UP035 and related modernisation rules).\n\nAssisted-By: claude-code sonnet 4.6\nChange-Id: I728a619926213ce6bdc2647882577112a8c1b55d\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/e6090feee7e03010a8df3d318fbc774e3a966248"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/e6090feee7e03010a8df3d318fbc774e3a966248"}]},"branch":"refs/heads/master"},"a80b12a94bed2d1d8477ab5210ff51c0f40928a8":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-03-02 18:24:58.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/88/977888/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/88/977888/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/88/977888/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/88/977888/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/88/977888/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/88/977888/2"}}},"commit":{"parents":[{"commit":"32a8f071eb5a377a9d28a2d98d8407dba10f11e9","subject":"Migrate project metadata to pyproject.toml","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/32a8f071eb5a377a9d28a2d98d8407dba10f11e9"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-02-24 21:11:19.000000000","tz":0},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-03-02 18:22:02.000000000","tz":0},"subject":"Add ruff config and fix pre-commit hook failures","message":"Add ruff config and fix pre-commit hook failures\n\nAdd ruff configuration to pyproject.toml modelled on the OpenStack\nWatcher project, targeting Python 3.10 with a 79-character line limit.\nSelected rule sets: E4, E7, E9, F, S, UP, W, C90. Suppressed rules\ndeferred for later passes: UP031/UP032 (%-format to f-string migration),\nS101, S311, S104, S105/S106, S110, S603 (SPDK subprocess call).\nAlembic migration files are excluded from E402.\n\nFix check-docstring-first failures in four files by moving module\ndocstrings to immediately after the license header, before imports:\n- cyborg/api/controllers/v2/device_profiles.py\n- cyborg/hacking/checks.py\n- cyborg/tests/unit/agent/test_resource_tracker.py\n- cyborg/tests/unit/fake_device_profile.py\n\nFix F821 (undefined name _) in\ncyborg/accelerator/drivers/modules/generic.py by adding the missing\n`from cyborg.common.i18n import _` import.\n\nSuppress pre-existing E501 violations in cyborg/image/glance.py with\nnoqa comments; proper wrapping deferred to a later commit.\n\nRuff auto-fixed ~158 additional style issues across the codebase\n(UP006, UP008, UP009, UP035 and related modernisation rules).\n\nAssisted-By: claude-code sonnet 4.6\nChange-Id: I728a619926213ce6bdc2647882577112a8c1b55d\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a80b12a94bed2d1d8477ab5210ff51c0f40928a8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a80b12a94bed2d1d8477ab5210ff51c0f40928a8"}]},"branch":"refs/heads/master"},"a27c9a4489e56c8830fc63c13dbe084f8d105d45":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-03-03 12:40:07.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/88/977888/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/88/977888/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/88/977888/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/88/977888/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/88/977888/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/88/977888/3"}}},"commit":{"parents":[{"commit":"ee5cdf9c82dc23416c93b430580f3383d8d6e986","subject":"Migrate project metadata to pyproject.toml","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/ee5cdf9c82dc23416c93b430580f3383d8d6e986"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-02-24 21:11:19.000000000","tz":0},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-03-03 12:37:17.000000000","tz":0},"subject":"Add ruff config and fix pre-commit hook failures","message":"Add ruff config and fix pre-commit hook failures\n\nAdd ruff configuration to pyproject.toml modelled on the OpenStack\nWatcher project, targeting Python 3.10 with a 79-character line limit.\nSelected rule sets: E4, E7, E9, F, S, UP, W, C90. Suppressed rules\ndeferred for later passes: UP031/UP032 (%-format to f-string migration),\nS101, S311, S104, S105/S106, S110, S603 (SPDK subprocess call).\nAlembic migration files are excluded from E402.\n\nFix check-docstring-first failures in four files by moving module\ndocstrings to immediately after the license header, before imports:\n- cyborg/api/controllers/v2/device_profiles.py\n- cyborg/hacking/checks.py\n- cyborg/tests/unit/agent/test_resource_tracker.py\n- cyborg/tests/unit/fake_device_profile.py\n\nFix F821 (undefined name _) in\ncyborg/accelerator/drivers/modules/generic.py by adding the missing\n`from cyborg.common.i18n import _` import.\n\nSuppress pre-existing E501 violations in cyborg/image/glance.py with\nnoqa comments; proper wrapping deferred to a later commit.\n\nRuff auto-fixed ~158 additional style issues across the codebase\n(UP006, UP008, UP009, UP035 and related modernisation rules).\n\nAssisted-By: claude-code sonnet 4.6\nChange-Id: I728a619926213ce6bdc2647882577112a8c1b55d\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a27c9a4489e56c8830fc63c13dbe084f8d105d45"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a27c9a4489e56c8830fc63c13dbe084f8d105d45"}]},"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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}}]}],"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":"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":{}}}]}
