)]}'
{"id":"openstack%2Fwatcher~961454","triplet_id":"openstack%2Fwatcher~master~I332a1a605a49a5fbbb43e33052fcae9aefaa0638","project":"openstack/watcher","branch":"master","topic":"bug/2126969","attention_set":{},"removed_from_attention_set":{"30002":{"account":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"last_update":"2025-10-10 13:55:15.000000000","reason":"\u003cGERRIT_ACCOUNT_30002\u003e replied on the change","reason_account":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"}},"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2025-10-10 16:17:18.000000000","reason":"Change was submitted"},"26471":{"account":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"last_update":"2025-10-01 15:06:33.000000000","reason":"removed on reply"}},"hashtags":[],"change_id":"I332a1a605a49a5fbbb43e33052fcae9aefaa0638","subject":"Fix E402 violations and enable additional ruff checks","status":"MERGED","created":"2025-09-17 08:08:03.000000000","updated":"2025-10-10 16:18:15.000000000","submitted":"2025-10-10 16:17:18.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":7,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"961454-bug/2126969","meta_rev_id":"50ac1ff6cc46cf466894a57433ffcfc012214460","_number":961454,"virtual_id_number":961454,"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":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-10-10 16:17:18.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":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"all":[{"value":2,"date":"2025-10-10 13:55:15.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":2,"date":"2025-10-10 12:00:16.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":1,"date":"2025-10-08 14:03:22.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"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":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"all":[{"value":1,"date":"2025-10-10 13:55:15.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"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},"Review-Priority":{"all":[{"value":0,"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Standard Change","+1":"Important Change","+2":"High Priority Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-09-17 10:29:07.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":"2025-09-17 11:14:32.000000000","updated_by":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"reviewer":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"state":"REVIEWER"},{"updated":"2025-10-07 14:20:24.000000000","updated_by":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"reviewer":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"state":"REVIEWER"},{"updated":"2025-10-10 12:00:16.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":"ecc2a1f999643dd06231be39cfb6cfe309149bc7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-09-17 08:08:03.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"bc30f63bdf1d86a3ae3f85d3377ee56c88a726d3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-17 10:29:07.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f5fb370ec2064247ba200e6c465e3574\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6a4b0ed5117a41d4b912788cf6949770 : SUCCESS in 7m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/815c5efe6b3a4da8a01346d5e085d8ae : SUCCESS in 6m 51s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/030ea82e79e54497a7768d74def31e7b : SUCCESS in 5m 00s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/3ef8a854a76c4f2aa8a1da39ab8f523f : SUCCESS in 5m 56s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/3a850176ca2b4e34b7ab5a8ff0551717 : SUCCESS in 7m 21s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/11b79f9a41304af59da70938b2f5b39c : SUCCESS in 9m 48s\n- openstack-tox-py312-threading https://zuul.opendev.org/t/openstack/build/d57df52f2f88480da3d31c1331fa8179 : SUCCESS in 5m 15s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/fc309e90e9dd4e74999ed315a9517a8f : SUCCESS in 26m 02s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/79bfc57ca0004c1eacb7f07d39c2c348 : SUCCESS in 36m 17s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/7e8cd68b2e7c45d6a132a092c7b41864 : SUCCESS in 50m 16s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/fe91ece72b32412fb0e6257e5d6b39c1 : SUCCESS in 39m 54s\n- watcher-tempest-functional-ipv6-only https://zuul.opendev.org/t/openstack/build/ffc60c200a0744639bd8e7eaf96384fe : SUCCESS in 24m 16s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/102b1ddd40de4b48967562f48678ec6b : SUCCESS in 1h 11m 04s\n- watcher-prometheus-integration-threading https://zuul.opendev.org/t/openstack/build/1f60777fef40462aaea958bcf641a821 : SUCCESS in 1h 10m 39s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/340da363265a4b989083b1fccd68adc7 : SUCCESS in 1h 11m 24s","accounts_in_message":[],"_revision_number":1},{"id":"4c0fc678af6bd1ed440784b7ab83f14c0f712de3","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-09-17 11:14:32.000000000","message":"Patch Set 1: Code-Review+1\n\nBuild succeeded (check pipeline).\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/5fb5a864ad954d61985c1d45b77e3162\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/e8eb942a254e47da8a3443d340b1185d : SUCCESS in 3h 05m 06s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/7b5c0107231c4e73bc929e1523abb675 : FAILURE in 2h 12m 24s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"d7773d4bcaf18f4b9eeb5b329e077116672b6cbe","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-10-01 12:01:52.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":2},{"id":"24270b876013562d60e1d7083f073cbbfaf95eb6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-01 13:41:32.000000000","message":"Patch Set 2: 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/5529d71df05a4f0182ae86c785ac297c\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a76fd0bba6d54052a4bb88cf12131100 : SUCCESS in 6m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/230555277d6d42e4a044323998875340 : FAILURE in 4m 53s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/f952d2406cdc4a8fab07483fc6287dc4 : SUCCESS in 5m 51s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/048303c985bc4cb6a0fcfe929daea5a1 : SUCCESS in 6m 39s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/164f622dccbe452aacb5743e325f56aa : SUCCESS in 8m 57s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2449d633923b4c6ab426f8a962627ed2 : SUCCESS in 4m 49s\n- openstack-tox-py312-threading https://zuul.opendev.org/t/openstack/build/5c99501e1d244b6298a03c16405a7c28 : SUCCESS in 7m 13s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/ffc411a4d17042468112e6b525ba2fab : SUCCESS in 31m 08s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/6f4b71966b374d53a2454eb4b8d2aadf : SUCCESS in 48m 42s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/fa87bc0cae5e4e61ac9457c72288376e : SUCCESS in 37m 49s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/eb3304f43f7f43798c4e6bd1b2be537b : SUCCESS in 50m 27s\n- watcher-tempest-functional-ipv6-only https://zuul.opendev.org/t/openstack/build/4845c08acea34580a24a6f221f43c0ac : SUCCESS in 13m 48s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/e4226afb30774793ae396f6188660daf : SUCCESS in 1h 06m 37s\n- watcher-prometheus-integration-threading https://zuul.opendev.org/t/openstack/build/ec747e7e67b9461f86d84d626c3b892b : SUCCESS in 1h 33m 08s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/15c45c13481f44d0a87b6df2c731c9ec : SUCCESS in 1h 33m 36s\n\nWarning:\n  Comments left for invalid file watcher/api/controllers/root.py","accounts_in_message":[],"_revision_number":2},{"id":"374c6da70c98830ec976001a04c0a15c3eac6243","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-10-01 15:06:33.000000000","message":"Patch Set 2: Code-Review+1\n\nBuild succeeded (check pipeline).\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/6a54d8e84dd041008701c7b7f9bf4ad8\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/a906e07f27854895972414c9d0b84218 : SUCCESS in 3h 03m 17s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/1a216c8ac4ae40a49b37ec15f2176c3e : SUCCESS in 2h 02m 24s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"97f67d325edfd13c58b09a05258e01a3c085222a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-10-03 17:06:19.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.\n\nCopied Votes:\n* Code-Review+1 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"591f43c9b74c907c7627ed9ec99e85ee4ce17428","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-03 18:44:04.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/b0bd984b6c4243f8865814fc1365ce79\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7b4905c7c7134524817f098466ead1f0 : SUCCESS in 6m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2a2edcd8b308475eb7cf314a6650cf4e : SUCCESS in 4m 09s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/3bd7be47c784481e9dc78d0d78baa438 : SUCCESS in 5m 58s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/1263abebb4174269b079263eb7f4cec4 : SUCCESS in 5m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/80f9e0014eff409a81faaa262cca30fd : SUCCESS in 8m 55s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d2fe566bc8324ee8aae0d724df94755a : SUCCESS in 9m 34s\n- openstack-tox-py312-threading https://zuul.opendev.org/t/openstack/build/acf97851a0364485bd2b77f304ff117c : SUCCESS in 4m 44s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/c4db9e9480564f03a5eb22a249113ee1 : SUCCESS in 31m 43s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/4cfbc201c7ac43ce9c369edbe188eaa6 : SUCCESS in 42m 31s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/b8abd39fdcd345c8be94f99f7acb0af9 : SUCCESS in 1h 05m 28s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/975d1a96cd9549989ee07d2ebbb3eee8 : SUCCESS in 49m 57s\n- watcher-tempest-functional-ipv6-only https://zuul.opendev.org/t/openstack/build/4dd1de0ff79b4d0f85f0998b6e6179b7 : SUCCESS in 32m 06s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/86d8cb57b68b4dd4bceb68b282412131 : SUCCESS in 1h 32m 28s\n- watcher-prometheus-integration-threading https://zuul.opendev.org/t/openstack/build/cda756e657934a419112e0ba0d7bb72b : SUCCESS in 1h 33m 07s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/6639fef38b3141fe9c92b1e716817cb6 : FAILURE in 1h 05m 27s","accounts_in_message":[],"_revision_number":3},{"id":"94ce64e490afb07dbd2b54d63f108c779e3c83c8","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-10-03 20:05:55.000000000","message":"Patch Set 3: Code-Review+1\n\nBuild succeeded (check pipeline).\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/98582a4974ca449fbd1e12f01fd90b16\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/03533d371455402c9856552a407c12c7 : SUCCESS in 2h 57m 46s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/aa6bfb5ba85744d3bdddfd2e2d219e4c : SUCCESS in 1h 51m 18s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"9426122e120e875c46491de955ac3a3568c7f36b","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-10-06 20:56:24.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"00ec2cf82a2fb5cdae694bed9d90999439067500","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-06 22:35:01.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/afbeec19ecad43e1a0f01ddaef110637\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/23f98ce3870b4dd2a4bef0c4f740e2a6 : SUCCESS in 5m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/72906b67de8b408f8fca42b7f4b285ca : SUCCESS in 3m 02s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/2ace637dc2e04548822827d19f62fe13 : SUCCESS in 4m 27s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/e0364d1eb10a4e0ba3f3ce770d82b3d0 : SUCCESS in 6m 06s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/1a1094a5208d4919843f18efb12600fc : SUCCESS in 9m 07s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ec9ade9c9cd2426f9093912b04af9ac2 : SUCCESS in 9m 23s\n- openstack-tox-py312-threading https://zuul.opendev.org/t/openstack/build/98deea0c034f44988025f00fcd014dcc : SUCCESS in 5m 31s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/ece4f93588cf4821a7a5eb9dcd79e68e : SUCCESS in 16m 21s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/73c3b09c8ab74d609c84e40a64203e8e : SUCCESS in 47m 32s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/f92825ecdb5b4f5fa28c2be8b1227a98 : SUCCESS in 1h 07m 21s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/bd26ef279cbe4eb7b5556907edc9b8c1 : SUCCESS in 50m 18s\n- watcher-tempest-functional-ipv6-only https://zuul.opendev.org/t/openstack/build/b66405a6a0c441eabc0a684c8ef6fa6c : SUCCESS in 36m 36s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/72098f4fee134ed7968c0169964e6ae7 : SUCCESS in 1h 31m 48s\n- watcher-prometheus-integration-threading https://zuul.opendev.org/t/openstack/build/d9bd028dc318432cb71a6a9903f3af39 : SUCCESS in 1h 29m 11s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/c548706cdeaa451f92c3460f8781dedb : SUCCESS in 1h 09m 19s","accounts_in_message":[],"_revision_number":3},{"id":"e486dc102ef94d6c1befe5856a41c2cc209aa8e3","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-10-06 23:44:33.000000000","message":"Patch Set 3:\n\nBuild succeeded (check pipeline).\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/cc7a6a64310b492cbb494136ff41969a\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/e5b9006700a84553a6c6cc86453a788a : SUCCESS in 2h 46m 55s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/72f37fc6571041208bde53f5f9ecf53a : SUCCESS in 1h 59m 07s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"e6925fbd620a5ed0a100897acbb68f29e2b908dd","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2025-10-07 14:20:24.000000000","message":"Patch Set 3: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"22ce786da0ef6067c3dad0af5fa219e6164a6aaa","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-10-07 15:13:25.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"bac2104b14a43a01aa27cc7c5cb19ea1338c56a2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-10-08 10:53:34.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.\n\nCopied Votes:\n* Code-Review+1, Code-Review+2 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":4},{"id":"e50d60fe13473d0881f1755c8243174cbf01dff1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-08 12:34:59.000000000","message":"Patch Set 4: 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/fe8c9cac7cc84ba5a477c00bb00dc2ce\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7f6c3bd2ddd949a6b26bfb47fed01258 : SUCCESS in 3m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/70007b7113174696928ca4771692c362 : SUCCESS in 4m 49s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/98e07e40a6624974b338e3a1ea0727ab : SUCCESS in 6m 56s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/1f5d277c6cf14bfd878f867b8d806019 : SUCCESS in 5m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f10b5f3137864367aef2526f47d6caf7 : SUCCESS in 8m 24s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0e5d2da77e0d435db0b038f11392365e : SUCCESS in 10m 16s\n- openstack-tox-py312-threading https://zuul.opendev.org/t/openstack/build/b6d9180147a244f897717bba966d7527 : SUCCESS in 5m 32s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/97b550d0147744509e76acdc72da62a3 : SUCCESS in 31m 24s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/3ba53cebd81c4b3d9554d12e188334d8 : SUCCESS in 42m 53s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/1b88a78aa1004edaa4bf2c43b64b9419 : SUCCESS in 1h 06m 37s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/007673e679b34adfa5490c1cc305fd1f : SUCCESS in 53m 00s\n- watcher-tempest-functional-ipv6-only https://zuul.opendev.org/t/openstack/build/d97999ba6d9542db9b4bece4d0a7d68f : SUCCESS in 34m 01s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/2d7ad807070b430eb0e4b9098a6ec347 : SUCCESS in 1h 34m 45s\n- watcher-prometheus-integration-threading https://zuul.opendev.org/t/openstack/build/76f069c3202643b187108d9791175baf : FAILURE in 20m 33s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/1ff7127fb5df49e586f3cb139537711e : SUCCESS in 1h 35m 23s","accounts_in_message":[],"_revision_number":4},{"id":"297e2708f697a9f1f3869ae70831d31a99f8d454","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-10-08 14:03:22.000000000","message":"Patch Set 4: Code-Review+1\n\nBuild succeeded (check pipeline).\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/29ccbeb72c794c50b167c2641055859b\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/45955f824d0a42229818d2bbac06ea10 : SUCCESS in 3h 08m 19s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/c83486640a124c0c99b4e68322ee5332 : SUCCESS in 1h 49m 18s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"ff1657a91ffb4c5882206089cb1a59be51e14ec1","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2025-10-10 12:00:16.000000000","message":"Patch Set 4: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"90f30366f63082db4539999eef027f0f7b327971","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2025-10-10 13:55:15.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"46a33d7bb3ccdc73b3fa1cf4a67f58c39fa40b8f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-10 15:37:06.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5c8eab95867044639530cd4ce62310f0\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5133a081d7dd4130a311d4e330c86cc6 : SUCCESS in 6m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ba33e6421cc04670af38fcb3ad201786 : SUCCESS in 5m 05s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/732e6026977b4bb89e44ec1c81943a3c : SUCCESS in 5m 15s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/54d6c8a8dac04e0db511c79d6d46b3e1 : SUCCESS in 5m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7fa3b7e5e7ed4340b7779aca03f9b514 : SUCCESS in 9m 04s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7ef408435c5b40b19a8f3598468eba69 : SUCCESS in 9m 00s\n- openstack-tox-py312-threading https://zuul.opendev.org/t/openstack/build/2c2efba17ee147c2bfe1bd4c85646de6 : SUCCESS in 5m 48s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/955ffef6a6554b93b97b283622b9bef7 : SUCCESS in 32m 01s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/55ddd543a021422db33dec8a6fd68787 : SUCCESS in 54m 37s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/0cff303438ae41a5a9d744d51a711ab9 : SUCCESS in 1h 10m 38s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/cf62429fcce64c43ab45f0534427ccdf : SUCCESS in 22m 11s\n- watcher-tempest-functional-ipv6-only https://zuul.opendev.org/t/openstack/build/0788a09036fd4aa3a5f33ec4b7d6f44c : SUCCESS in 27m 45s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/c93767fc5cfc42619307e20ae652b836 : SUCCESS in 1h 11m 39s\n- watcher-prometheus-integration-threading https://zuul.opendev.org/t/openstack/build/d98e7d9a86514ea68bcb2d47b232f746 : SUCCESS in 1h 33m 17s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/89e1b66478da4bbd9ec10bb3a54e73a0 : SUCCESS in 1h 10m 13s","accounts_in_message":[],"_revision_number":4},{"id":"7fb976b1a71e980c4131854ac1dabc233aa00c75","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-10 15:37:51.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"12fd9c1332959b0f8e008536fda2d456522e05cf","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-10 16:17:18.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f4b10f534a7e448480291cb7b4d04317\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3d9be056269b49f491dfd928663e3207 : SUCCESS in 4m 40s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/1e44a745420c46c2bf6f36cbc9831d98 : SUCCESS in 4m 41s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/493aeac68e2545fb82d8101223b03afe : SUCCESS in 5m 36s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3c29964c12ea4524ae00b3aa50d5701a : SUCCESS in 9m 33s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/d8dfd1e6487b439f976f2ed86cd5676b : SUCCESS in 34m 55s\n- watcher-tempest-functional-ipv6-only https://zuul.opendev.org/t/openstack/build/2c74b6ca8ab846a5849b5400f32afb17 : SUCCESS in 31m 21s","accounts_in_message":[],"_revision_number":4},{"id":"25761c9edde2065de76e9f417463b818eeeacdb2","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-10 16:17:18.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"50ac1ff6cc46cf466894a57433ffcfc012214460","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-10 16:18:15.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5cbeacbcbf14468193a99e0071613f66\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3dd5de0208f04d15a8cf68011001978d : SUCCESS in 47s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"b22da92344b3f22da87dbb6e602086a83f4da36b","revisions":{"19eafab40a638427b6fce1a2dad7af13016601e9":{"kind":"REWORK","_number":1,"created":"2025-09-17 08:08:03.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/54/961454/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/54/961454/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/54/961454/1"}}},"commit":{"parents":[{"commit":"a775f097bb3f5aedc93d1bb5f8f3923d09b06cbb","subject":"Fix ruff check violations","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/a775f097bb3f5aedc93d1bb5f8f3923d09b06cbb"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-09-17 07:59:29.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-09-17 08:01:12.000000000","tz":60},"subject":"Fix E402 violations and enable additional ruff checks","message":"Fix E402 violations and enable additional ruff checks\n\nMove imports to top of Alembic migration files to comply with E402\n(module level import not at top of file) and update migration template\nto generate compliant files.\n\nChanges include:\n- Remove E741 and E402 from ignored checks in pyproject.toml\n- Fix import ordering in 7 Alembic migration files\n- Update script.py.mako template to place imports before revision\n  identifiers, preventing future E402 violations in new migrations\n\nAll migration files now follow Python import standards with imports\nat the top after docstrings but before other module-level code.\n\nGenerated-By: Claude \u003cnoreply@anthropic.com\u003e\nChange-Id: I332a1a605a49a5fbbb43e33052fcae9aefaa0638\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/19eafab40a638427b6fce1a2dad7af13016601e9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/19eafab40a638427b6fce1a2dad7af13016601e9"}]},"branch":"refs/heads/master"},"2a740d535a8f8130d284edec02c5f9ca9a9399bd":{"kind":"REWORK","_number":2,"created":"2025-10-01 12:01:52.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/54/961454/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/54/961454/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/54/961454/2"}}},"commit":{"parents":[{"commit":"30e21863188d1dde9943c90c9506525cacc8cf0d","subject":"adopt ruff check","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/30e21863188d1dde9943c90c9506525cacc8cf0d"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-09-17 07:59:29.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-10-01 12:01:35.000000000","tz":60},"subject":"Fix E402 violations and enable additional ruff checks","message":"Fix E402 violations and enable additional ruff checks\n\nMove imports to top of Alembic migration files to comply with E402\n(module level import not at top of file) and update migration template\nto generate compliant files.\n\nChanges include:\n- Remove E741 and E402 from ignored checks in pyproject.toml\n- Fix import ordering in 7 Alembic migration files\n- Update script.py.mako template to place imports before revision\n  identifiers, preventing future E402 violations in new migrations\n\nAll migration files now follow Python import standards with imports\nat the top after docstrings but before other module-level code.\n\nGenerated-By: Claude \u003cnoreply@anthropic.com\u003e\nChange-Id: I332a1a605a49a5fbbb43e33052fcae9aefaa0638\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/2a740d535a8f8130d284edec02c5f9ca9a9399bd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/2a740d535a8f8130d284edec02c5f9ca9a9399bd"}]},"branch":"refs/heads/master"},"9a3a7a24514bcb1c6512a6d074c06846014a88d0":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2025-10-03 17:06:19.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/54/961454/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/54/961454/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/54/961454/3"}}},"commit":{"parents":[{"commit":"aef99a6c47470029fdd9a871ebebe2d4413776ae","subject":"adopt ruff check","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/aef99a6c47470029fdd9a871ebebe2d4413776ae"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-09-17 07:59:29.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-10-03 16:25:51.000000000","tz":60},"subject":"Fix E402 violations and enable additional ruff checks","message":"Fix E402 violations and enable additional ruff checks\n\nMove imports to top of Alembic migration files to comply with E402\n(module level import not at top of file) and update migration template\nto generate compliant files.\n\nChanges include:\n- Remove E741 and E402 from ignored checks in pyproject.toml\n- Fix import ordering in 7 Alembic migration files\n- Update script.py.mako template to place imports before revision\n  identifiers, preventing future E402 violations in new migrations\n\nAll migration files now follow Python import standards with imports\nat the top after docstrings but before other module-level code.\n\nGenerated-By: Claude \u003cnoreply@anthropic.com\u003e\nChange-Id: I332a1a605a49a5fbbb43e33052fcae9aefaa0638\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/9a3a7a24514bcb1c6512a6d074c06846014a88d0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/9a3a7a24514bcb1c6512a6d074c06846014a88d0"}]},"branch":"refs/heads/master"},"b22da92344b3f22da87dbb6e602086a83f4da36b":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2025-10-08 10:53:34.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/54/961454/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/54/961454/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/54/961454/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/54/961454/4"}}},"commit":{"parents":[{"commit":"1afaafab726754026a3b7425c44b1b152c84525a","subject":"adopt ruff check","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/1afaafab726754026a3b7425c44b1b152c84525a"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-09-17 07:59:29.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-10-08 10:52:27.000000000","tz":60},"subject":"Fix E402 violations and enable additional ruff checks","message":"Fix E402 violations and enable additional ruff checks\n\nMove imports to top of Alembic migration files to comply with E402\n(module level import not at top of file) and update migration template\nto generate compliant files.\n\nChanges include:\n- Remove E741 and E402 from ignored checks in pyproject.toml\n- Fix import ordering in 7 Alembic migration files\n- Update script.py.mako template to place imports before revision\n  identifiers, preventing future E402 violations in new migrations\n\nAll migration files now follow Python import standards with imports\nat the top after docstrings but before other module-level code.\n\nGenerated-By: Claude \u003cnoreply@anthropic.com\u003e\nChange-Id: I332a1a605a49a5fbbb43e33052fcae9aefaa0638\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/b22da92344b3f22da87dbb6e602086a83f4da36b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/b22da92344b3f22da87dbb6e602086a83f4da36b"}]},"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":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"}}]}],"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":{}}}]}
