)]}'
{"id":"openstack%2Fwatcher-tempest-plugin~967522","triplet_id":"openstack%2Fwatcher-tempest-plugin~master~Ife6392c564b239d5e30d4c53807b3ab8d6298adf","project":"openstack/watcher-tempest-plugin","branch":"master","attention_set":{},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2025-11-25 11:53:14.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"}},"28006":{"account":{"_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"},"last_update":"2025-11-25 18:02:36.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-11-25 11:42:52.000000000","reason":"removed on reply"},"12393":{"account":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"last_update":"2025-11-25 18:02:36.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ife6392c564b239d5e30d4c53807b3ab8d6298adf","subject":"Refactor: Extract common test utilities into shared base class","status":"MERGED","created":"2025-11-18 13:07:58.000000000","updated":"2025-11-25 18:03:28.000000000","submitted":"2025-11-25 18:02:36.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":52,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"967522","meta_rev_id":"415baf60ecf1569896a044cd31aaae2efba691fe","_number":967522,"virtual_id_number":967522,"owner":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-11-25 18:02: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":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"all":[{"value":2,"date":"2025-11-25 17:31:03.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":2,"date":"2025-11-25 11:53:14.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":-1,"date":"2025-11-25 11:42:52.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":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"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-11-25 17:31:03.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Standard Change","+1":"Important Change","+2":"High Priority Change"},"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":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"_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"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-11-18 13:08:05.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":"2025-11-18 13:46:03.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-11-18 14:29:26.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-11-19 07:05:35.000000000","updated_by":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"CC"},{"updated":"2025-11-24 13:39:44.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"},{"updated":"2025-11-25 17:31:03.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"}],"messages":[{"id":"002aee5dc2a2717ca75fdbe9d1832ef49345ea28","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-18 13:07:58.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b3b34b16be8318625dfa2e857b0af0aa4bbbb5f5","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":"2025-11-18 13:08:05.000000000","message":"Patch Set 1:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":1},{"id":"6fc43114f46e18f468d6b6001a69d6dbac2baeb9","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":"2025-11-18 13:15:36.000000000","message":"Patch Set 1:\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/df74e2cb4f17458186cca5ed53a6d76a\n\n- teim-code-review https://zuul.teim.app/t/main/build/026206060aef4634a02ea9649fb8780e : RETRY_LIMIT in 2m 22s","accounts_in_message":[],"_revision_number":1},{"id":"7f49512e35e5337156a6f4f5a0b5fcd727103517","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-11-18 13:46:03.000000000","message":"Patch Set 1: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/0564d8c427fd4447a2ff48f91dd44b6c\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/1bbe0c8543f6445cb015a8e3e92d57cc : FAILURE in 36m 56s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/449cb799f15e4cd7b2163d6be3f3d748 : SKIPPED Skipped due to failed job openstack-meta-content-provider-master","accounts_in_message":[],"_revision_number":1},{"id":"79ed96aeacebc88e563914a8d42e6369927c83c6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-18 14:29:26.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/1ef26d7cc05349b1bf93c988f9a7e9b9\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3d65595299824f60aa38591f0dfee58e : SUCCESS in 2m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7a391c2a28d249e0b374b90a12cd66bf : SUCCESS in 5m 55s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/2542bd107c994f27920c793ced2710c6 : FAILURE in 29m 13s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/aa547f6b20f5454ebc0b07dc8827dedb : SUCCESS in 24m 51s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/350278131a7c415cb1aa8ed63260ec5d : SUCCESS in 1h 13m 34s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/478f9b53fbae49c0ba8cffad753c6f12 : FAILURE in 1h 11m 41s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/6e718edc78534f7097cf2061ca8ae7d5 : FAILURE in 1h 14m 50s\n- watcher-tempest-functional-2025-2 https://zuul.opendev.org/t/openstack/build/ee152114326e40e98d9d6dc094838f13 : FAILURE in 27m 06s\n- watcher-tempest-functional-2025-1 https://zuul.opendev.org/t/openstack/build/6b4e8b25ea684249bc11d8f52afcebbe : FAILURE in 34m 26s\n- watcher-tempest-functional-2024-2 https://zuul.opendev.org/t/openstack/build/a9ef7cdc1b9c4dc996dbca6bf53a90f8 : FAILURE in 14m 37s","accounts_in_message":[],"_revision_number":1},{"id":"e9135513cc056065e30f73286966b5407a6c26a6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-19 05:21:14.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":"15c2621fdac99e1e101a63a41a9cfbbcc1225263","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":"2025-11-19 05:21:22.000000000","message":"Patch Set 2:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":2},{"id":"868a11ab4547a1472f19199568328c43931e161a","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":"2025-11-19 05:33:29.000000000","message":"Patch Set 2:\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/ce875853f4bc41f08dc25bbd12d6eb11\n\n- teim-code-review https://zuul.teim.app/t/main/build/dcc0a31286a9439b8652289c502eb5cf : FAILURE in 11m 55s","accounts_in_message":[],"_revision_number":2},{"id":"6a123b738055997045f388f1ba787e5ed83a3856","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-11-19 05:58:17.000000000","message":"Patch Set 2: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/47bee07ae5314f629915323d94c4c76f\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/58d73934aa604179a9cb33f16e63a09f : FAILURE in 35m 42s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/e4fb671f43d847438249821293a2c25f : SKIPPED Skipped due to failed job openstack-meta-content-provider-master","accounts_in_message":[],"_revision_number":2},{"id":"738b8f10987b35d20dc3d8735874ee4d22399f6f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-19 06:43:50.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/976cca83e7014cb682be35dd4600629c\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d7edd117de0a4ff6bd040419ff3a5a67 : SUCCESS in 2m 52s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fd226c18aae448c3a6f8ffac2e1fa856 : SUCCESS in 8m 36s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/626e0bc6a72046aa97a422e27d79751f : FAILURE in 30m 25s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/6b8bda08ce074eb1944b04b329f651e1 : SUCCESS in 22m 45s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/87f18a8249684d6fbd616801d807bd31 : SUCCESS in 1h 14m 14s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/79134bf2fd4f4a919e6228094247c030 : SUCCESS in 44m 12s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/fe9c0649593d4d4a892fa757aa131e70 : SUCCESS in 39m 44s\n- watcher-tempest-functional-2025-2 https://zuul.opendev.org/t/openstack/build/4d49edf68efd4d469ce4030909de2493 : FAILURE in 22m 20s\n- watcher-tempest-functional-2025-1 https://zuul.opendev.org/t/openstack/build/f0796729697549acb602f4085f57e233 : SUCCESS in 33m 08s\n- watcher-tempest-functional-2024-2 https://zuul.opendev.org/t/openstack/build/2f0c1233d0f34a13a1a4a0951ddb74ae : SUCCESS in 15m 20s","accounts_in_message":[],"_revision_number":2},{"id":"04251b9a8a30788a97c8f32a439392f5121a86bb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-19 06:45:45.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"880c38e114acb52f5ea3e09e0c3fd743d1760382","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":"2025-11-19 06:45:53.000000000","message":"Patch Set 3:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":3},{"id":"28e9590a8865d0141946233b026405de4a1261a2","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":"2025-11-19 06:56:38.000000000","message":"Patch Set 3:\n\n(5 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/3c69287c48eb4d7d8fac599c534ccd1a\n\n- teim-code-review https://zuul.teim.app/t/main/build/3a187a1550f04eb9b43dde93cadb5f20 : SUCCESS in 10m 32s","accounts_in_message":[],"_revision_number":3},{"id":"5831da15ccfae6beb3e63c21068f8de61f464be8","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-19 07:05:35.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"6f39c3bb96226400ca8aa4923f792c404a5c461f","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-11-19 07:19:27.000000000","message":"Patch Set 3: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/902a79bf854e4553b8ecb9e9cc6dd3a6\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/55f9d495682b4537ab18021267a52ebf : FAILURE in 32m 24s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/81d11faafa0b406398f3bab149937af7 : SKIPPED Skipped due to failed job openstack-meta-content-provider-master","accounts_in_message":[],"_revision_number":3},{"id":"72e76b5485708ecb7a34d23b75cb12f34f05b0c9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-19 07:43:16.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/a264425e3300499087d16c39eda1c043\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2d105961e4554dc095ce0693b9f51973 : SUCCESS in 1m 38s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bdc60df912604d8881973fc28fe189ba : SUCCESS in 3m 42s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/40ac435e2b244e0b8a81aa6b84abe362 : FAILURE in 28m 07s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/a0a4cc22f8c049b9b350a6695d7bec68 : SUCCESS in 44m 44s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/b423f5e317134eb4bedcad9622304472 : SUCCESS in 49m 58s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/62179cd99dff479eaf529dfdfb90e87d : SUCCESS in 44m 41s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/90f5216132594090b82d47a96ab04762 : SUCCESS in 56m 26s\n- watcher-tempest-functional-2025-2 https://zuul.opendev.org/t/openstack/build/fb9eb7b0acf946808f6e7912f39cbc7f : SUCCESS in 12m 51s\n- watcher-tempest-functional-2025-1 https://zuul.opendev.org/t/openstack/build/07a6c26069e845a88680a73ebce6409b : SUCCESS in 15m 43s\n- watcher-tempest-functional-2024-2 https://zuul.opendev.org/t/openstack/build/7f70ad83f4084821a0e6937dd2d96f4f : SUCCESS in 11m 42s","accounts_in_message":[],"_revision_number":3},{"id":"e29d43ae24dc696065aa722011d6fe4db8ec05c6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-19 09:02:30.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1\n","accounts_in_message":[],"_revision_number":4},{"id":"55ace7d052ec2d270f8fc983456e0af4b2dbd6c2","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":"2025-11-19 09:02:48.000000000","message":"Patch Set 4:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":4},{"id":"d6c2163368e1180b0ce57730b4b75cfc49e37ab0","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":"2025-11-19 09:17:11.000000000","message":"Patch Set 4:\n\n(4 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/ff76ff203f844bcfaa1a017995aad89a\n\n- teim-code-review https://zuul.teim.app/t/main/build/2e0c0e71baab4d5183908716131f2de6 : SUCCESS in 14m 12s\n\nWarning:\n  Job teim-code-review: unable to map line for file comments: \n  stderr: \u0027fatal: There is no path commit-message in the commit\u0027\n  Comments left for invalid file commit-message","accounts_in_message":[],"_revision_number":4},{"id":"dcc4f808200c4fceda32eeb1619ec6107e8dd3fc","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-11-19 09:43:15.000000000","message":"Patch Set 4: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/1b67fce02516417f8478aa2983d75f3a\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/ec3bb8ca13f6498ebe4434c818f5e080 : FAILURE in 39m 05s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/8f454104a22e47a8a81368bd565507d9 : SKIPPED Skipped due to failed job openstack-meta-content-provider-master","accounts_in_message":[],"_revision_number":4},{"id":"741baf1f9c97b3de647a3a1a8ac5d1c20adc8541","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-11-19 10:36:17.000000000","message":"Patch Set 4:\n\n(6 comments)","accounts_in_message":[],"_revision_number":4},{"id":"035f462bec13ffbd65585195171937806a189061","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-19 10:41:38.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/98accc0c8af44782958dd1b74bf75d6f\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cbdb1fc4a820422c871d4e42217b17db : SUCCESS in 2m 35s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/28311e42a9274a9388b0d56a521e531d : SUCCESS in 6m 34s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/8be2745fbc9c40a985075f7518b5b094 : SUCCESS in 12m 00s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/037b806c46a64fa58ce9001b62c436a5 : SUCCESS in 46m 38s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/dde7b1ad6df447f8a697fd2739729e45 : SUCCESS in 39m 52s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/f49dccb0d4b84545929d8a2a0b1fb4f3 : SUCCESS in 1h 18m 23s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/7e262404581244ada88404976fa91e92 : SUCCESS in 45m 17s\n- watcher-tempest-functional-2025-2 https://zuul.opendev.org/t/openstack/build/e730a9b5c1e441f1a744302f2d018fb3 : SUCCESS in 30m 42s\n- watcher-tempest-functional-2025-1 https://zuul.opendev.org/t/openstack/build/46f45c1f17cc4e1eb51700e9083aa7a8 : SUCCESS in 20m 17s\n- watcher-tempest-functional-2024-2 https://zuul.opendev.org/t/openstack/build/7953acd02dcc44ae885bba7bc148bc05 : FAILURE in 17m 20s","accounts_in_message":[],"_revision_number":4},{"id":"2bf9f9d57e0f459ba4f64716f3f050f7b7a3c7d4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-21 12:37:04.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1\n","accounts_in_message":[],"_revision_number":5},{"id":"1598d6a54ba974c0e0963cf0f79558c25aed1499","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-21 12:37:57.000000000","message":"Patch Set 5: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"f3067d1aebe7176c3a27ca4151440ef1850306ed","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-21 12:41:51.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Workflow-1\n","accounts_in_message":[],"_revision_number":6},{"id":"86789cc457e57c5d6f05dc80d68eac2335e4b700","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-21 12:42:39.000000000","message":"Patch Set 6: Workflow-1","accounts_in_message":[],"_revision_number":6},{"id":"5a4f824a0cae09e6bceac40e173d6fc170ab31b9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-21 14:00:05.000000000","message":"Patch Set 6: 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/4d1ac82c1193488eba8e26c6754fd733\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c8ae0630a8e74467a266bb1bf26cf535 : SUCCESS in 2m 48s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b908cf4c5f424f16a60c98ef0eeb9e0e : SUCCESS in 3m 31s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/e718be76d2934de3919a5b9c026bf7f8 : SUCCESS in 24m 31s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/c3addb1b6e4442d396ad0d9383a60b19 : SUCCESS in 48m 10s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/cbb686e072ba4a84af2f241e9fdc9aaf : SUCCESS in 1h 08m 18s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/3d9707e91dfe453da34c2a6c5b09ffd4 : SUCCESS in 1h 12m 35s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/722753ffce4f4aef87eb75de80abac55 : SUCCESS in 48m 38s\n- watcher-tempest-functional-2025-2 https://zuul.opendev.org/t/openstack/build/94b674a64c5d4d3c8310ba8ad2e2880c : SUCCESS in 18m 46s\n- watcher-tempest-functional-2025-1 https://zuul.opendev.org/t/openstack/build/68b81274853e424fad7e1fa848cc7d86 : FAILURE in 30m 15s\n- watcher-tempest-functional-2024-2 https://zuul.opendev.org/t/openstack/build/9542616134bd4978933d45eaaf44b883 : SUCCESS in 27m 27s","accounts_in_message":[],"_revision_number":6},{"id":"423c669a0dc19ca2806bd4cc6496bc0941052f90","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-11-21 15:51:36.000000000","message":"Patch Set 6: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/7e7c34bee61c4f94a8a7602255b4f90a\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/99e6b13f094045d889c9d486e7757e62 : SUCCESS in 3h 08m 31s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/e65ebb1b456c4b73bf942c201dd7357e : FAILURE in 2h 22m 41s","accounts_in_message":[],"_revision_number":6},{"id":"92336f9147a38ac5d7597fa99e274df46314e665","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-24 06:22:32.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1\n* Workflow-1\n","accounts_in_message":[],"_revision_number":7},{"id":"ab17e471f90fd6b080cb34c2e20ae23d2d229b4e","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-24 06:25:47.000000000","message":"Patch Set 7:\n\n(6 comments)","accounts_in_message":[],"_revision_number":7},{"id":"a5fe6634dc8886e2b0539e80bd3f0f293511391c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-24 07:46:00.000000000","message":"Patch Set 7: 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/c759d84efaad414b8a59abcc8e8b1758\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4cbbcb529ea449cdb034e3719e725bbd : SUCCESS in 2m 47s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/aa91965825eb4dc8bf0eced32c8f645a : SUCCESS in 5m 08s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/d87c4de0b47e44f7a95297d41ff98bf6 : SUCCESS in 29m 10s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/f89d5c6f7a904db39bf20c46070cc0e6 : SUCCESS in 43m 56s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/cd0806076c494c8d847cf462676e6b3f : SUCCESS in 1h 06m 54s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/af78448e64364a478cbdb4f2addca951 : SUCCESS in 42m 32s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/d7caa4e44ac64d8cb482ba821cdd5828 : SUCCESS in 1h 10m 59s\n- watcher-tempest-functional-2025-2 https://zuul.opendev.org/t/openstack/build/c168dc64c9934eea8a97c747a90341e4 : SUCCESS in 30m 42s\n- watcher-tempest-functional-2025-1 https://zuul.opendev.org/t/openstack/build/cfedb2814827446f9ba766ff71b756c2 : FAILURE in 30m 50s\n- watcher-tempest-functional-2024-2 https://zuul.opendev.org/t/openstack/build/183bfcc353724384ba5a4d382243d19e : FAILURE in 20m 16s","accounts_in_message":[],"_revision_number":7},{"id":"48aa34c496c70e3092dc9ee81aefb2830faf9193","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-24 07:53:48.000000000","message":"Uploaded patch set 8.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":8},{"id":"a2012acd5b4c24d26299683ed2bf79e6919265a5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-24 09:07:41.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"da6907b317c31ae41bc1d8b8c4a5bd758aae58bb","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-11-24 10:30:46.000000000","message":"Patch Set 9: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/26b578dd23f8448fbb1938e9cb296f69\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/1142432cc6ca45fb8dc2852797f70405 : SUCCESS in 1h 21m 36s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/c216f79d1dbd423591ac8fcb9af823ab : FAILURE in 36m 32s","accounts_in_message":[],"_revision_number":9},{"id":"5fad8c5620edfb6e5429d887753b6e8e03ccd77b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-24 10:38:38.000000000","message":"Patch Set 9: 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/a9ae35bb8c1d43c9bb5142d0b99d1716\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a8ff9b89d78f4d1ea125f06032552240 : SUCCESS in 3m 00s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/03d815f4cf32488793ee182b915366f0 : SUCCESS in 7m 02s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/ceea4867181c4b688bf9a07d5c75d945 : FAILURE in 31m 54s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/4fdc8edb66834c048f50d8cd99bfb2a9 : SUCCESS in 43m 38s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/8c7d7a4c01b64d79a09a5ccb6b78882c : SUCCESS in 1h 13m 39s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/878b12427f084c179bbce7ba319d3b8e : SUCCESS in 1h 14m 32s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/7a56d5981ef541f7a6f0059db6db0b66 : SUCCESS in 1h 18m 46s\n- watcher-tempest-functional-2025-2 https://zuul.opendev.org/t/openstack/build/9f266aa5711840e7b6f16312f66e532d : SUCCESS in 13m 35s\n- watcher-tempest-functional-2025-1 https://zuul.opendev.org/t/openstack/build/25efe92a97a24872b6d051bdd265a737 : FAILURE in 34m 29s\n- watcher-tempest-functional-2024-2 https://zuul.opendev.org/t/openstack/build/36a0b5f664dc452eb048b2ac9cc30c63 : SUCCESS in 12m 00s","accounts_in_message":[],"_revision_number":9},{"id":"499d4e2dc248ad02a4a66b981ae3e733bc094c4b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-24 11:44:58.000000000","message":"Uploaded patch set 10.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1\n","accounts_in_message":[],"_revision_number":10},{"id":"c213bb49c1d61231d3661dfb0b6a3b37cb0913e7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-24 12:14:17.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"057e63d18531ca7e144d0406e5e52b2a0a0049e2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-24 12:19:18.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"8755c086a1fa3cdb1c07f01ae52a1adceed3d8ab","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-24 13:31:20.000000000","message":"Patch Set 12: 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/46a391f2bdfd4cfa940a59ac0a5ebf5b\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/635243ec265d403a81cbca09184cdb24 : SUCCESS in 3m 53s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fac30c17cdef4de6b6fa58e8735ba8a6 : SUCCESS in 4m 53s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/e8dd1822db3946f6ad5b49283eb71e59 : SUCCESS in 30m 05s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/23009266aa16448a801c18568020eb2b : SUCCESS in 24m 30s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/67385c5fe4794b8bb13935151c1ebd93 : SUCCESS in 1h 04m 32s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/943492e271bc4735bb10cb3c8af0590f : SUCCESS in 39m 16s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/0e89f6688472474dad403f5f555dcff5 : SUCCESS in 45m 49s\n- watcher-tempest-functional-2025-2 https://zuul.opendev.org/t/openstack/build/5abe6cf7a6ad4dea8925dbb1c7fc681e : FAILURE in 31m 14s\n- watcher-tempest-functional-2025-1 https://zuul.opendev.org/t/openstack/build/50c1101be90142dda9712a92846f2975 : SUCCESS in 16m 27s\n- watcher-tempest-functional-2024-2 https://zuul.opendev.org/t/openstack/build/abd9f7917aad48a680af2e7ff920c6d9 : SUCCESS in 28m 49s","accounts_in_message":[],"_revision_number":12},{"id":"896cbb18d6e5c73a7ff971e22c3e8ca064910747","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-24 13:31:33.000000000","message":"Patch Set 12:\n\n(1 comment)","accounts_in_message":[],"_revision_number":12},{"id":"c93885086999c3bb7888576267315112565033ef","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-11-24 13:39:44.000000000","message":"Patch Set 12: Code-Review-1\n\n(10 comments)","accounts_in_message":[],"_revision_number":12},{"id":"0e437e82a37cd2a303aa6f949d7cce5552baf733","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-24 14:27:14.000000000","message":"Uploaded patch set 13.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1\n","accounts_in_message":[],"_revision_number":13},{"id":"8fa564b511ceaf74546096236151907e3da185c2","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-24 14:28:17.000000000","message":"Patch Set 12:\n\n(8 comments)","accounts_in_message":[],"_revision_number":12},{"id":"f1aa3125d63e93d2c3bb6b4911f817aa4e0833af","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-24 14:30:48.000000000","message":"Uploaded patch set 14: Commit message was updated.","accounts_in_message":[],"_revision_number":14},{"id":"ac9e802db905a520acfa10af9f651be1b7993457","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-11-24 15:28:20.000000000","message":"Patch Set 14: Code-Review-1\n\n(9 comments)","accounts_in_message":[],"_revision_number":14},{"id":"eda4cbecb603e68d621a9507bacbb9a2cdc55443","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-11-24 15:42:40.000000000","message":"Patch Set 14: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/c6d9ccb12bc9498e8272a8d4d3178c0d\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/b550f88669d04a5999c5b6b3a024e974 : SUCCESS in 1h 10m 17s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/2eff9ea9844b4967b4f5724c5ac6bc9f : FAILURE in 20m 17s","accounts_in_message":[],"_revision_number":14},{"id":"5b8e2ab98be4483c285a944380b4396a170606f1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-24 15:49:14.000000000","message":"Patch Set 14: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/aa7b63ed1e2a4bc7b42bc7cb562c46fb\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fcdf70d00be24fdabef0e9ed02e2d103 : SUCCESS in 2m 52s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a89e1e49b6a8450d9ab613da0b825559 : SUCCESS in 6m 08s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/bef82e68a12c4bb7a05aad1a086d278c : SUCCESS in 19m 16s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/5bf89ea5e3de4976a211637ee4e473b2 : SUCCESS in 43m 40s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/9c643f061d044e2bb56bf6b003b12364 : SUCCESS in 37m 29s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/ff9f2ff58d8b4c4888ee2085e87b1a4d : SUCCESS in 43m 16s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/c6ada98722c943e79cde3c7992e8306c : SUCCESS in 1h 13m 24s\n- watcher-tempest-functional-2025-2 https://zuul.opendev.org/t/openstack/build/21e6665d34444ead87e323648a6b843a : SUCCESS in 33m 06s\n- watcher-tempest-functional-2025-1 https://zuul.opendev.org/t/openstack/build/c552e70b611f40928775bd76d4b11598 : SUCCESS in 20m 56s\n- watcher-tempest-functional-2024-2 https://zuul.opendev.org/t/openstack/build/3b0c3d6155b245fbafbab79ada7747b5 : SUCCESS in 28m 12s","accounts_in_message":[],"_revision_number":14},{"id":"d02000bd773a11c6b1dda54c56c96c8dee45342a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-25 06:36:01.000000000","message":"Uploaded patch set 15.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":15},{"id":"8c428ea97342a69fadce677cb07dc828314e1607","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-25 06:36:17.000000000","message":"Patch Set 14:\n\n(7 comments)","accounts_in_message":[],"_revision_number":14},{"id":"57bfbbb0758c3fbff995ebf12da7a51452a65b70","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-25 07:10:48.000000000","message":"Uploaded patch set 16.","accounts_in_message":[],"_revision_number":16},{"id":"47d414afd8c14f14add662ba6f534c30f759b6ae","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-11-25 07:54:36.000000000","message":"Patch Set 16: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/bcea775a2d5a4778a923af3830df8ee9\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/d04628255fb0495b820f45fab62ac497 : FAILURE in 42m 26s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/e17d42df3d2e437193eb5f6d008b25cd : SKIPPED Skipped due to failed job openstack-meta-content-provider-master","accounts_in_message":[],"_revision_number":16},{"id":"c9227f1ec72327809f5a3e6cb20df58f7e096959","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-25 08:33:34.000000000","message":"Patch Set 16: 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/3ae8545464564c50b6f6070b0eb70329\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cbdb256de06947e0905eeadd528cf0f5 : SUCCESS in 2m 28s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6445ca102b844f5aa9f0370d535bd64e : SUCCESS in 5m 49s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/32a9a6c716344ea38bbf6777d7573e12 : SUCCESS in 27m 42s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/a178d04ce7ff440c973cb45fa6d8b9da : SUCCESS in 44m 29s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/4424ebfb728b43aebe1ed16d0927cd8d : SUCCESS in 1h 04m 08s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/ca6b714e53fd4329a267d5a11f07615e : SUCCESS in 1h 11m 46s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/19a6a6f3c19740048608dda4dfa6082f : SUCCESS in 1h 21m 03s\n- watcher-tempest-functional-2025-2 https://zuul.opendev.org/t/openstack/build/85b233c732164f49ad4f145317d4917e : SUCCESS in 32m 11s\n- watcher-tempest-functional-2025-1 https://zuul.opendev.org/t/openstack/build/35ebea47df174d5ca91317d5d2c7760f : SUCCESS in 24m 23s\n- watcher-tempest-functional-2024-2 https://zuul.opendev.org/t/openstack/build/e829d98bb7ca4abe80d62bd7a1a3521e : FAILURE in 32m 56s","accounts_in_message":[],"_revision_number":16},{"id":"61a750e00ec88e41d1c9c497e2445516c5f69d0a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2025-11-25 10:40:32.000000000","message":"Uploaded patch set 17.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1\n","accounts_in_message":[],"_revision_number":17},{"id":"b03beacd1bd8e091110de1a0b38f0e1b35485ce6","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-11-25 11:42:52.000000000","message":"Patch Set 17: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/11ed128876374df69f5ef47bf11800d4\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/3c93154139324afbb53cb327a5ce8740 : FAILURE in 1h 00m 42s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/40e2218a656c4507b07f6d536e5d5dee : SKIPPED Skipped due to failed job openstack-meta-content-provider-master","accounts_in_message":[],"_revision_number":17},{"id":"cd5cb0ddabb7e64ad056c03432af91794c5db0bf","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-11-25 11:53:14.000000000","message":"Patch Set 17: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":17},{"id":"5fa4673bf371035aa795031db380bf8837d37780","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-25 12:09:14.000000000","message":"Patch Set 17: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/88b0b1149ad64e21a0d0cf2a03d12940\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/dff2c6dfb7e9472da0c4f72f0992a16b : SUCCESS in 3m 06s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7f710ad36947405b8c2794624587099e : SUCCESS in 3m 17s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/5fdbf10e7a044360a81112bcf87efe74 : SUCCESS in 16m 05s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/d403fced17d34441b78677e44fd51b97 : SUCCESS in 49m 29s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/ba6751c7b912415fb0985cddc1b827c7 : SUCCESS in 36m 11s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/72212980d1bd49bdaac2269ff388692e : SUCCESS in 1h 13m 33s\n- watcher-aetos-integration https://zuul.opendev.org/t/openstack/build/0d0f48b9b4a74a73b4c5247d9ba13c2d : SUCCESS in 1h 15m 53s\n- watcher-tempest-functional-2025-2 https://zuul.opendev.org/t/openstack/build/04cefad4043c4ab1958c95552108b58b : SUCCESS in 26m 56s\n- watcher-tempest-functional-2025-1 https://zuul.opendev.org/t/openstack/build/d672e9e230234a1a98f60403a4295840 : SUCCESS in 34m 28s\n- watcher-tempest-functional-2024-2 https://zuul.opendev.org/t/openstack/build/b67012dd615c412785dc33664dd27247 : SUCCESS in 16m 05s","accounts_in_message":[],"_revision_number":17},{"id":"1efd802be662d7cb77a15b077b0430560f062cd1","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2025-11-25 17:31:03.000000000","message":"Patch Set 17: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":17},{"id":"8e6feec4a6da3db48a1eed1cb2b11c64146a976a","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-25 17:31:33.000000000","message":"Patch Set 17: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":17},{"id":"252ee896834110b9594e9014978448575b38043e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-25 18:02:36.000000000","message":"Patch Set 17: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/eee59db80bfe4bbb818a661c54674483\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/818beec76ea1445c85b7bf3f93419619 : SUCCESS in 1m 49s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5769dd88a9544d9c9e51a5bd7be866cc : SUCCESS in 6m 27s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/5409bfea31934c92957cc303ae7cd106 : SUCCESS in 29m 56s","accounts_in_message":[],"_revision_number":17},{"id":"b14295e1b3653390f2e9be0a6de7069e895da36b","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-25 18:02:36.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":17},{"id":"415baf60ecf1569896a044cd31aaae2efba691fe","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-25 18:03:28.000000000","message":"Patch Set 17:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/593c743dbacf47c0ad4a3f1f558c34d4\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/60942e9541854a29847a3f07c8b90944 : SUCCESS in 42s","accounts_in_message":[],"_revision_number":17}],"current_revision_number":17,"current_revision":"d1edf92c8fa92c2221fc7364a0aa27a8018565dd","revisions":{"65887def27e26ed3f691b7d78b007ac9aad0f8fa":{"kind":"REWORK","_number":1,"created":"2025-11-18 13:07:58.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/1"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:07:06.000000000","tz":0},"subject":"Refactor: Extract common test methods to BaseCommon class","message":"Refactor: Extract common test methods to BaseCommon class\n\nConsolidate duplicate audit template, audit, and action plan helper\nmethods from BaseInfraOptimTest and BaseInfraOptimScenarioTest into\na shared BaseCommon class.\n\nChanges:\n- Create watcher_tempest_plugin/tests/common/base.py with BaseCommon class\n- Remove duplicate implementations of create_audit_template(),\n  delete_audit_template(), create_audit(), delete_audit(), and\n  delete_action_plan() from both admin and scenario test base classes\n- Add BaseCommon as parent class to BaseInfraOptimTest and\n  BaseInfraOptimScenarioTest\n- Simplify resource_cleanup() in BaseInfraOptimTest to delegate to parent\n- Update test_action_plan.py to use inherited delete_action_plan() method\n- Remove unused imports (time, data_utils) from admin base\n- Improved delete_audit method\n\nThis reduces code duplication and improves maintainability by having a\nsingle source of truth for common test utilities shared across different\ntest types.\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/65887def27e26ed3f691b7d78b007ac9aad0f8fa"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/65887def27e26ed3f691b7d78b007ac9aad0f8fa"}]},"branch":"refs/heads/master"},"ed259b84fbdef1e52d3e1726827737d539a826d7":{"kind":"REWORK","_number":2,"created":"2025-11-19 05:21:14.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/2"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-19 05:11:23.000000000","tz":0},"subject":"Refactor: Consolidate test utilities into shared BaseCommon class","message":"Refactor: Consolidate test utilities into shared BaseCommon class\n\nThis patch extracts duplicate audit template, audit, and action plan\nhelper methods into a new BaseCommon class to reduce code duplication\nand improve maintainability across test suites.\n\nPreviously, both BaseInfraOptimTest (admin API tests) and\nBaseInfraOptimScenarioTest (scenario tests) maintained separate\nimplementations of identical helper methods for creating and deleting\ntest resources. This led to code duplication and inconsistent behavior.\n\nChanges:\n* Create watcher_tempest_plugin/tests/common/base.py with BaseCommon\n  parent class containing shared utility methods:\n  - create_audit_template(), delete_audit_template()\n  - create_audit(), cancel_audit(), delete_audit()\n  - delete_action_plan()\n\n* Update both BaseInfraOptimTest and BaseInfraOptimScenarioTest to\n  inherit from BaseCommon\n\n* Improve delete_audit() to handle ONGOING/PENDING state audits by\n  canceling them before deletion and cleaning up associated action plans\n\n* Simplify resource_cleanup() in BaseInfraOptimTest to delegate to\n  parent class implementation\n\n* Use addClassResourceCleanup in BaseCommon for proper resource\n  lifecycle management\n\n* Update test_action_plan.py to use inherited delete_action_plan()\n  method instead of direct client call for consistency\n\n* Remove unused imports (time, data_utils) from admin base\n\nThis establishes a single source of truth for common test utilities,\nmaking tests easier to maintain and reducing the risk of behavioral\ninconsistencies between test suites.\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/ed259b84fbdef1e52d3e1726827737d539a826d7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/ed259b84fbdef1e52d3e1726827737d539a826d7"}]},"branch":"refs/heads/master"},"f9bcd9693ea6ab8eba62b4bec1d68e41c111c156":{"kind":"REWORK","_number":3,"created":"2025-11-19 06:45:45.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/3"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-19 06:41:32.000000000","tz":0},"subject":"Refactor: Consolidate test utilities into shared BaseCommon class","message":"Refactor: Consolidate test utilities into shared BaseCommon class\n\nThis patch extracts duplicate audit template, audit, and action plan\nhelper methods into a new BaseCommon class to reduce code duplication\nand improve maintainability across test suites.\n\nPreviously, both BaseInfraOptimTest (admin API tests) and\nBaseInfraOptimScenarioTest (scenario tests) maintained separate\nimplementations of identical helper methods for creating and deleting\ntest resources. This led to code duplication and inconsistent behavior.\n\nChanges:\n* Create watcher_tempest_plugin/tests/common/base.py with BaseCommon\n  parent class containing shared utility methods:\n  - create_audit_template(), delete_audit_template()\n  - create_audit(), cancel_audit(), delete_audit()\n  - delete_action_plan()\n  - is_audit_idle() helper for state checking\n\n* Update both BaseInfraOptimTest and BaseInfraOptimScenarioTest to\n  inherit from BaseCommon\n\n* Improve delete_audit() to handle ONGOING/PENDING state audits by\n  canceling them before deletion and cleaning up associated action plans\n\n* Simplify resource_cleanup() in BaseInfraOptimTest to delegate to\n  parent class implementation\n\n* Use addClassResourceCleanup in BaseCommon for proper resource\n  lifecycle management\n\n* Admin api base class create_audit does more than creating audit.\n  Since we are using scenario base create_audit, it breaks\n  test_action_plan.py with\n  ```\n    File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/watcher_tempest_plugin/tests/api/admin/test_action_plan.py\", line 88, in test_delete_action_plan\n    action_plan \u003d action_plans[\u0027action_plans\u0027][0]\n                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^\n    IndexError: list index out of range\n  ```\n  It Updates test_action_plan.py to use inherited delete_action_plan()\n  method instead of direct client call for consistency\n\n* Remove unused imports (time, data_utils) from admin base\n\nThis establishes a single source of truth for common test utilities,\nmaking tests easier to maintain and reducing the risk of behavioral\ninconsistencies between test suites.\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/f9bcd9693ea6ab8eba62b4bec1d68e41c111c156"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/f9bcd9693ea6ab8eba62b4bec1d68e41c111c156"}]},"branch":"refs/heads/master"},"ca9abc67796ea848afd36acb472918a3e0197c6a":{"kind":"REWORK","_number":4,"created":"2025-11-19 09:02:30.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/4"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-19 09:02:15.000000000","tz":0},"subject":"Refactor: Consolidate test utilities into shared BaseCommon class","message":"Refactor: Consolidate test utilities into shared BaseCommon class\n\nThis patch extracts duplicate audit template, audit, and action plan\nhelper methods into a new BaseCommon class to reduce code duplication\nand improve maintainability across test suites.\n\nPreviously, both BaseInfraOptimTest (admin API tests) and\nBaseInfraOptimScenarioTest (scenario tests) maintained separate\nimplementations of identical helper methods for creating and deleting\ntest resources. This led to code duplication and inconsistent behavior.\n\nChanges:\n* Create watcher_tempest_plugin/tests/common/base.py with BaseCommon\n  parent class containing shared utility methods:\n  - create_audit_template(), delete_audit_template()\n  - create_audit(), cancel_audit(), delete_audit()\n  - delete_action_plan()\n  - is_audit_idle() helper for state checking\n  - Shared constants: IDLE_STATES, FINISHED_STATE\n\n* Update both BaseInfraOptimTest and BaseInfraOptimScenarioTest to\n  inherit from BaseCommon\n\n* Improve delete_audit() to handle ONGOING/PENDING state audits by\n  canceling them before deletion and cleaning up associated action plans\n\n* Simplify resource_cleanup() in BaseInfraOptimTest to delegate to\n  parent class implementation\n\n* Use addClassResourceCleanup in BaseCommon for proper resource\n  lifecycle management\n\n* Admin api base class create_audit does more than creating audit.\n  Since we are using scenario base create_audit, it breaks\n  test_action_plan.py with\n  ```\n    File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/watcher_tempest_plugin/tests/api/admin/test_action_plan.py\", line 88, in test_delete_action_plan\n    action_plan \u003d action_plans[\u0027action_plans\u0027][0]\n                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^\n    IndexError: list index out of range\n  ```\n  It Updates test_action_plan.py to use inherited delete_action_plan()\n  method instead of direct client call for consistency\n\n* Remove unused imports (time, data_utils) from admin base\n\nThis establishes a single source of truth for common test utilities,\nmaking tests easier to maintain and reducing the risk of behavioral\ninconsistencies between test suites.\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/ca9abc67796ea848afd36acb472918a3e0197c6a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/ca9abc67796ea848afd36acb472918a3e0197c6a"}]},"branch":"refs/heads/master"},"fba8ad6d5e49743cffa0401aca1ab4d76fcd3aa2":{"kind":"REWORK","_number":5,"created":"2025-11-21 12:37:04.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/5"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-21 12:34:46.000000000","tz":0},"subject":"Consolidate test utilities into shared BaseCommon class","message":"Consolidate test utilities into shared BaseCommon class\n\nThis change introduces a new BaseCommon class to eliminate code\nduplication between admin API tests and scenario tests by providing\nshared utility methods for managing audit templates, audits, and\naction plans.\n\nPreviously, both BaseInfraOptimTest and BaseInfraOptimScenarioTest\nmaintained separate implementations of identical helper methods,\nleading to code duplication and potential behavioral inconsistencies.\n\nChanges include:\n* Create watcher_tempest_plugin/tests/common/base.py containing:\n  - Shared utility methods: create_audit_template(), delete_audit_template(),\n    create_audit(), cancel_audit(), delete_audit(), delete_action_plan()\n  - Helper methods: is_audit_idle(), has_audit_succeeded(),\n    has_audit_finished(), has_audit_failed()\n  - Shared constants: IDLE_STATES, FINISHED_STATES using enum classes\n\n* Update BaseInfraOptimTest and BaseInfraOptimScenarioTest to inherit\n  from BaseCommon\n\n* Improve delete_audit() to cancel ONGOING/PENDING audits before\n  deletion and clean up associated action plans\n\n* Convert test_action*.py and test_audit*.py to use setUp() instead of\n  resource_setup() to properly handle audit creation per test, avoiding\n  IndexError when audits fail to produce action plans\n\n* Admin api base class create_audit does more than creating audit.\n  Since we are using scenario base create_audit, it breaks\n  test_action_plan.py with\n  ```\n    File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/watcher_tempest_plugin/tests/api/admin/test_action_plan.py\", line 88, in test_delete_action_plan\n    action_plan \u003d action_plans[\u0027action_plans\u0027][0]\n                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^\n    IndexError: list index out of range\n  ```\n  We added wait_for_all_action_plans_to_finish() calls before\n  creating new audits to prevent conflicts with running action\n  plans to fix the issue.\n\n* Use addCleanup() for proper resource lifecycle management\n\n* Remove unused imports (time, data_utils) from admin base\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fba8ad6d5e49743cffa0401aca1ab4d76fcd3aa2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fba8ad6d5e49743cffa0401aca1ab4d76fcd3aa2"}]},"branch":"refs/heads/master"},"e13a412b34e941917fd4c29b531eabf53501e2de":{"kind":"REWORK","_number":6,"created":"2025-11-21 12:41:51.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/6"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-21 12:40:40.000000000","tz":0},"subject":"Consolidate test utilities into shared BaseCommon class","message":"Consolidate test utilities into shared BaseCommon class\n\nThis change introduces a new BaseCommon class to eliminate code\nduplication between admin API tests and scenario tests by providing\nshared utility methods for managing audit templates, audits, and\naction plans.\n\nPreviously, both BaseInfraOptimTest and BaseInfraOptimScenarioTest\nmaintained separate implementations of identical helper methods,\nleading to code duplication and potential behavioral inconsistencies.\n\nChanges include:\n* Create watcher_tempest_plugin/tests/common/base.py containing:\n  - Shared utility methods: create_audit_template(), delete_audit_template(),\n    create_audit(), cancel_audit(), delete_audit(), delete_action_plan()\n  - Helper methods: is_audit_idle(), has_audit_succeeded(),\n    has_audit_finished(), has_audit_failed()\n  - Shared constants: IDLE_STATES, FINISHED_STATES using enum classes\n\n* Update BaseInfraOptimTest and BaseInfraOptimScenarioTest to inherit\n  from BaseCommon\n\n* Improve delete_audit() to cancel ONGOING/PENDING audits before\n  deletion and clean up associated action plans\n\n* Convert test_action*.py and test_audit*.py to use setUp() instead of\n  resource_setup() to properly handle audit creation per test, avoiding\n  IndexError when audits fail to produce action plans\n\n* Admin api base class create_audit does more than creating audit.\n  Since we are using scenario base create_audit, it breaks\n  test_action_plan.py with\n  ```\n    File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/watcher_tempest_plugin/tests/api/admin/test_action_plan.py\", line 88, in test_delete_action_plan\n    action_plan \u003d action_plans[\u0027action_plans\u0027][0]\n                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^\n    IndexError: list index out of range\n  ```\n  We added wait_for_all_action_plans_to_finish() calls before\n  creating new audits to prevent conflicts with running action\n  plans to fix the issue.\n\n* Use addCleanup() for proper resource lifecycle management\n\n* Remove unused imports (time, data_utils) from admin base\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/e13a412b34e941917fd4c29b531eabf53501e2de"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/e13a412b34e941917fd4c29b531eabf53501e2de"}]},"branch":"refs/heads/master"},"35883e84eca32187602b77cbb0b1737757ecc30c":{"kind":"REWORK","_number":7,"created":"2025-11-24 06:22:32.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/7"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-24 06:20:34.000000000","tz":0},"subject":"Consolidate test utilities into shared BaseCommon class","message":"Consolidate test utilities into shared BaseCommon class\n\nThis change introduces a new BaseCommon class to eliminate code\nduplication between admin API tests and scenario tests by providing\nshared utility methods for managing audit templates, audits, and\naction plans.\n\nPreviously, both BaseInfraOptimTest and BaseInfraOptimScenarioTest\nmaintained separate implementations of identical helper methods,\nleading to code duplication and potential behavioral inconsistencies.\n\nChanges include:\n* Create watcher_tempest_plugin/tests/common/base.py with:\n  * Shared utility methods (create_audit_template, delete_audit_template,\n    create_audit, cancel_audit, delete_audit, delete_action_plan)\n  * State checking helpers (is_audit_idle, has_audit_succeeded,\n    has_audit_finished, has_audit_failed)\n  * Type-safe state constants using frozen Enum classes (IdleStates,\n    AuditFinishedStates, ActionPlanFinishedStates)\n\n* Update BaseInfraOptimTest and BaseInfraOptimScenarioTest to inherit\n  from BaseCommon\n\n* Improve delete_audit() to cancel ONGOING/PENDING audits before\n  deletion and clean up associated action plans\n\n* Convert test_action*.py and test_audit*.py to use setUp() instead of\n  resource_setup() to properly handle audit creation per test, avoiding\n  IndexError when audits fail to produce action plans\n\n* Admin api base class create_audit does more than creating audit.\n  Since we are using scenario base create_audit, it breaks\n  test_action_plan.py with\n  ```\n    File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/watcher_tempest_plugin/tests/api/admin/test_action_plan.py\", line 88, in test_delete_action_plan\n    action_plan \u003d action_plans[\u0027action_plans\u0027][0]\n                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^\n    IndexError: list index out of range\n  ```\n  We added wait_for_all_action_plans_to_finish() calls before\n  creating new audits to prevent conflicts with running action\n  plans to fix the issue.\n\n* Use addCleanup() for proper resource lifecycle management\n\n* Remove unused imports (time, data_utils) from admin base\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/35883e84eca32187602b77cbb0b1737757ecc30c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/35883e84eca32187602b77cbb0b1737757ecc30c"}]},"branch":"refs/heads/master"},"4c5442eb8818fc417f8bd63d26ddd72b17f53ca4":{"kind":"REWORK","_number":8,"created":"2025-11-24 07:53:48.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/8"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-24 07:53:32.000000000","tz":0},"subject":"Consolidate test utilities into shared BaseCommon class","message":"Consolidate test utilities into shared BaseCommon class\n\nThis change introduces a new BaseCommon class to eliminate code\nduplication between admin API tests and scenario tests by providing\nshared utility methods for managing audit templates, audits, and\naction plans.\n\nPreviously, both BaseInfraOptimTest and BaseInfraOptimScenarioTest\nmaintained separate implementations of identical helper methods,\nleading to code duplication and potential behavioral inconsistencies.\n\nChanges include:\n* Create watcher_tempest_plugin/tests/common/base.py with:\n  * Shared utility methods (create_audit_template, delete_audit_template,\n    create_audit, cancel_audit, delete_audit, delete_action_plan)\n  * State checking helpers (is_audit_idle, has_audit_succeeded,\n    has_audit_finished, has_audit_failed)\n  * Type-safe state constants using frozen Enum classes (IdleStates,\n    AuditFinishedStates, ActionPlanFinishedStates)\n\n* Update BaseInfraOptimTest and BaseInfraOptimScenarioTest to inherit\n  from BaseCommon\n\n* Improve delete_audit() to cancel ONGOING/PENDING audits before\n  deletion and clean up associated action plans\n\n* Convert test_action*.py and test_audit*.py to use setUp() instead of\n  resource_setup() to properly handle audit creation per test, avoiding\n  IndexError when audits fail to produce action plans\n\n* Admin api base class create_audit does more than creating audit.\n  Since we are using scenario base create_audit, it breaks\n  test_action_plan.py with\n  ```\n    File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/watcher_tempest_plugin/tests/api/admin/test_action_plan.py\", line 88, in test_delete_action_plan\n    action_plan \u003d action_plans[\u0027action_plans\u0027][0]\n                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^\n    IndexError: list index out of range\n  ```\n  We added wait_for_all_action_plans_to_finish() calls before\n  creating new audits to prevent conflicts with running action\n  plans to fix the issue.\n\n* Use addCleanup() for proper resource lifecycle management\n\n* Remove unused imports (time, data_utils) from admin base\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/4c5442eb8818fc417f8bd63d26ddd72b17f53ca4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/4c5442eb8818fc417f8bd63d26ddd72b17f53ca4"}]},"branch":"refs/heads/master"},"a05f3e6abbcf0e8ee5d4131cc5f3e08d02ac3dcc":{"kind":"REWORK","_number":9,"created":"2025-11-24 09:07:41.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/9"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-24 09:05:14.000000000","tz":0},"subject":"Consolidate test utilities into shared BaseCommon class","message":"Consolidate test utilities into shared BaseCommon class\n\nThis change introduces a new BaseCommon class to eliminate code\nduplication between admin API tests and scenario tests by providing\nshared utility methods for managing audit templates, audits, and\naction plans.\n\nPreviously, both BaseInfraOptimTest and BaseInfraOptimScenarioTest\nmaintained separate implementations of identical helper methods,\nleading to code duplication and potential behavioral inconsistencies.\n\nChanges include:\n* Create watcher_tempest_plugin/tests/common/base.py with:\n  * Shared utility methods (create_audit_template, delete_audit_template,\n    create_audit, cancel_audit, delete_audit, delete_action_plan)\n  * State checking helpers (is_audit_idle, has_audit_succeeded,\n    has_audit_finished, has_audit_failed)\n  * Type-safe state constants using frozen Enum classes (IdleStates,\n    AuditFinishedStates, ActionPlanFinishedStates)\n\n* Update BaseInfraOptimTest and BaseInfraOptimScenarioTest to inherit\n  from BaseCommon\n\n* Enhance resource lifecycle management:\n  - Replace class-level resource tracking (cls.created_audits, etc.) with\n    addCleanup() for more robust cleanup\n  - Improve delete_audit() to automatically cancel ONGOING/PENDING audits\n    before deletion and clean up associated action plans\n  - Add exception handling for NotFound errors during cleanup\n\n* Fix IndexError in test_action_plan.py:\n  - Convert test classes from resource_setup() (class-level) to setUp()\n    (instance-level) to create fresh audits per test\n  - Add wait_for_all_action_plans_to_finish() calls before audit creation\n    to prevent conflicts with running action plans\n  - This resolves IndexError when accessing action_plans[\u0027action_plans\u0027][0]\n    on empty lists\n\n* Add cancel_audit() helper method to consolidate audit cancellation logic\n  and reduce code repetition across test files\n\n* Convert appropriate class methods to instance methods for better test\n  isolation (e.g., _are_all_action_plans_finished, wait_for_all_action_plans_to_finish)\n\n* Remove unused imports (time, functools from admin base; data_utils indirectly)\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/a05f3e6abbcf0e8ee5d4131cc5f3e08d02ac3dcc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/a05f3e6abbcf0e8ee5d4131cc5f3e08d02ac3dcc"}]},"branch":"refs/heads/master"},"c4458d6f83953f227779873f260ce4d8ddf92e51":{"kind":"REWORK","_number":10,"created":"2025-11-24 11:44:58.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/10"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-24 11:44:54.000000000","tz":0},"subject":"Consolidate test utilities into shared BaseCommon class","message":"Consolidate test utilities into shared BaseCommon class\n\nThis change introduces a new BaseCommon class to eliminate code\nduplication between admin API tests and scenario tests by providing\nshared utility methods for managing audit templates, audits, and\naction plans.\n\nPreviously, both BaseInfraOptimTest and BaseInfraOptimScenarioTest\nmaintained separate implementations of identical helper methods,\nleading to code duplication and potential behavioral inconsistencies.\n\nChanges include:\n* Create watcher_tempest_plugin/tests/common/base.py with:\n  * Shared utility methods (create_audit_template, delete_audit_template,\n    create_audit, cancel_audit, delete_audit, delete_action_plan)\n  * State checking helpers (is_audit_idle, has_audit_succeeded,\n    has_audit_finished, has_audit_failed)\n  * Type-safe state constants using frozen Enum classes (IdleStates,\n    AuditFinishedStates, ActionPlanFinishedStates)\n\n* Update BaseInfraOptimTest and BaseInfraOptimScenarioTest to inherit\n  from BaseCommon\n\n* Enhance resource lifecycle management:\n  - Replace class-level resource tracking (cls.created_audits, etc.) with\n    addCleanup() for more robust cleanup\n  - Improve delete_audit() to automatically cancel ONGOING/PENDING audits\n    before deletion and clean up associated action plans\n  - Add exception handling for NotFound errors during cleanup\n\n* Fix IndexError in test_action_plan.py:\n  - Convert test classes from resource_setup() (class-level) to setUp()\n    (instance-level) to create fresh audits per test\n  - Add wait_for_all_action_plans_to_finish() calls before audit creation\n    to prevent conflicts with running action plans\n  - This resolves IndexError when accessing action_plans[\u0027action_plans\u0027][0]\n    on empty lists\n\n* Add cancel_audit() helper method to consolidate audit cancellation logic\n  and reduce code repetition across test files\n\n* Convert appropriate class methods to instance methods for better test\n  isolation (e.g., _are_all_action_plans_finished, wait_for_all_action_plans_to_finish)\n\n* Remove unused imports (time, functools from admin base; data_utils indirectly)\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/c4458d6f83953f227779873f260ce4d8ddf92e51"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/c4458d6f83953f227779873f260ce4d8ddf92e51"}]},"branch":"refs/heads/master"},"c1f1996a83a4db51a49b3110493d1081de2d3810":{"kind":"REWORK","_number":11,"created":"2025-11-24 12:14:17.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/11"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-24 12:13:17.000000000","tz":0},"subject":"Consolidate test utilities into shared BaseCommon class","message":"Consolidate test utilities into shared BaseCommon class\n\nThis change introduces a new BaseCommon class to eliminate code\nduplication between admin API tests and scenario tests by providing\nshared utility methods for managing audit templates, audits, and\naction plans.\n\nPreviously, both BaseInfraOptimTest and BaseInfraOptimScenarioTest\nmaintained separate implementations of identical helper methods,\nleading to code duplication and potential behavioral inconsistencies.\n\nChanges include:\n* Create watcher_tempest_plugin/tests/common/base.py with:\n  * Shared utility methods (create_audit_template, delete_audit_template,\n    create_audit, cancel_audit, delete_audit, delete_action_plan)\n  * State checking helpers (is_audit_idle, has_audit_succeeded,\n    has_audit_finished, has_audit_failed)\n  * Type-safe state constants using frozen Enum classes (IdleStates,\n    AuditFinishedStates, ActionPlanFinishedStates)\n\n* Update BaseInfraOptimTest and BaseInfraOptimScenarioTest to inherit\n  from BaseCommon\n\n* Enhance resource lifecycle management:\n  - Replace class-level resource tracking (cls.created_audits, etc.) with\n    addCleanup() for more robust cleanup\n  - Improve delete_audit() to automatically cancel ONGOING/PENDING audits\n    before deletion and clean up associated action plans\n  - Add exception handling for NotFound errors during cleanup\n\n* Fix IndexError in test_action_plan.py:\n  - Convert test classes from resource_setup() (class-level) to setUp()\n    (instance-level) to create fresh audits per test\n  - Add wait_for_all_action_plans_to_finish() calls before audit creation\n    to prevent conflicts with running action plans\n  - This resolves IndexError when accessing action_plans[\u0027action_plans\u0027][0]\n    on empty lists\n\n* Add cancel_audit() helper method to consolidate audit cancellation logic\n  and reduce code repetition across test files. Skip audit cancellation\n  if audit successed in between api calls.\n\n* Convert appropriate class methods to instance methods for better test\n  isolation (e.g., _are_all_action_plans_finished, wait_for_all_action_plans_to_finish)\n\n* Remove unused imports (time, functools from admin base; data_utils indirectly)\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/c1f1996a83a4db51a49b3110493d1081de2d3810"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/c1f1996a83a4db51a49b3110493d1081de2d3810"}]},"branch":"refs/heads/master"},"7827beb5531d4c32bab56aefb65e5a75269150d5":{"kind":"REWORK","_number":12,"created":"2025-11-24 12:19:18.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/12"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-24 12:19:13.000000000","tz":0},"subject":"Consolidate test utilities into shared BaseCommon class","message":"Consolidate test utilities into shared BaseCommon class\n\nThis change introduces a new BaseCommon class to eliminate code\nduplication between admin API tests and scenario tests by providing\nshared utility methods for managing audit templates, audits, and\naction plans.\n\nPreviously, both BaseInfraOptimTest and BaseInfraOptimScenarioTest\nmaintained separate implementations of identical helper methods,\nleading to code duplication and potential behavioral inconsistencies.\n\nChanges include:\n* Create watcher_tempest_plugin/tests/common/base.py with:\n  * Shared utility methods (create_audit_template, delete_audit_template,\n    create_audit, cancel_audit, delete_audit, delete_action_plan)\n  * State checking helpers (is_audit_idle, has_audit_succeeded,\n    has_audit_finished, has_audit_failed)\n  * Type-safe state constants using frozen Enum classes (IdleStates,\n    AuditFinishedStates, ActionPlanFinishedStates)\n\n* Update BaseInfraOptimTest and BaseInfraOptimScenarioTest to inherit\n  from BaseCommon\n\n* Enhance resource lifecycle management:\n  - Replace class-level resource tracking (cls.created_audits, etc.) with\n    addCleanup() for more robust cleanup\n  - Improve delete_audit() to automatically cancel ONGOING/PENDING audits\n    before deletion and clean up associated action plans\n  - Add exception handling for NotFound errors during cleanup\n\n* Fix IndexError in test_action_plan.py:\n  - Convert test classes from resource_setup() (class-level) to setUp()\n    (instance-level) to create fresh audits per test\n  - Add wait_for_all_action_plans_to_finish() calls before audit creation\n    to prevent conflicts with running action plans\n  - This resolves IndexError when accessing action_plans[\u0027action_plans\u0027][0]\n    on empty lists\n\n* Add cancel_audit() helper method to consolidate audit cancellation logic\n  and reduce code repetition across test files. Skip audit cancellation\n  if audit successed in between api calls.\n\n* Convert appropriate class methods to instance methods for better test\n  isolation (e.g., _are_all_action_plans_finished, wait_for_all_action_plans_to_finish)\n\n* Remove unused imports (time, functools from admin base; data_utils indirectly)\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/7827beb5531d4c32bab56aefb65e5a75269150d5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/7827beb5531d4c32bab56aefb65e5a75269150d5"}]},"branch":"refs/heads/master"},"3a98df90c5e03b0514530af96d8f627247d62a84":{"kind":"REWORK","_number":13,"created":"2025-11-24 14:27:14.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/13"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-24 14:26:17.000000000","tz":0},"subject":"Consolidate test utilities into shared BaseCommon class","message":"Consolidate test utilities into shared BaseCommon class\n\nThis change introduces a new BaseCommon class to eliminate code\nduplication between admin API tests and scenario tests by providing\nshared utility methods for managing audit templates, audits, and\naction plans.\n\nPreviously, both BaseInfraOptimTest and BaseInfraOptimScenarioTest\nmaintained separate implementations of identical helper methods,\nleading to code duplication and potential behavioral inconsistencies.\n\nChanges include:\n* New common test base class (tests/common/base.py):\n  - Shared resource management methods: create_audit_template,\n    delete_audit_template, create_audit, cancel_audit, delete_audit,\n    and delete_action_plan\n  - State validation helpers: is_audit_idle, has_audit_succeeded,\n    has_audit_finished, has_audit_failed\n  - Type-safe constants using frozen Enum classes for IdleStates,\n    AuditFinishedStates, and ActionPlanFinishedStates\n\n* Enhanced resource lifecycle management:\n  - Replace class-level resource tracking with addCleanup() for\n    more reliable cleanup and better test isolation\n  - Automatic cancellation of ONGOING/PENDING audits before deletion\n  - Graceful handling of NotFound exceptions during cleanup\n\n* Bug fixes:\n  - Resolve IndexError in test_action_plan.py by converting from\n    class-level resource_setup() to instance-level setUp()\n  - Add wait_for_all_action_plans_to_finish() before audit creation\n    to prevent race conditions\n\n* Test isolation improvements:\n  - Convert class methods to instance methods where appropriate\n  - Skip redundant audit cancellation when audit has already succeeded\n\n* Code cleanup:\n  - Remove unused imports (time, functools, indirect data_utils)\n  - Consolidate audit cancellation logic with new cancel_audit() helper\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/3a98df90c5e03b0514530af96d8f627247d62a84"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/3a98df90c5e03b0514530af96d8f627247d62a84"}]},"branch":"refs/heads/master"},"c9a5d2d3fcf0988bf79c9225d6b92694603983e9":{"kind":"NO_CODE_CHANGE","_number":14,"created":"2025-11-24 14:30:48.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/14"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-24 14:30:24.000000000","tz":0},"subject":"Refactor test base classes to eliminate code duplication","message":"Refactor test base classes to eliminate code duplication\n\nIntroduce a new BaseCommon class that consolidates shared test utilities\npreviously duplicated between BaseInfraOptimTest and BaseInfraOptimScenarioTest.\nThis refactoring eliminates 445 lines of duplicate code while adding 434 lines\nof shared functionality, improving maintainability and consistency across the\ntest suite.\n\nChanges include:\n* New common test base class (tests/common/base.py):\n  - Shared resource management methods: create_audit_template,\n    delete_audit_template, create_audit, cancel_audit, delete_audit,\n    and delete_action_plan\n  - State validation helpers: is_audit_idle, has_audit_succeeded,\n    has_audit_finished, has_audit_failed\n  - Type-safe constants using frozen Enum classes for IdleStates,\n    AuditFinishedStates, and ActionPlanFinishedStates\n\n* Enhanced resource lifecycle management:\n  - Replace class-level resource tracking with addCleanup() for\n    more reliable cleanup and better test isolation\n  - Automatic cancellation of ONGOING/PENDING audits before deletion\n  - Graceful handling of NotFound exceptions during cleanup\n\n* Bug fixes:\n  - Resolve IndexError in test_action_plan.py by converting from\n    class-level resource_setup() to instance-level setUp()\n  - Add wait_for_all_action_plans_to_finish() before audit creation\n    to prevent race conditions\n\n* Test isolation improvements:\n  - Convert class methods to instance methods where appropriate\n  - Skip redundant audit cancellation when audit has already succeeded\n\n* Code cleanup:\n  - Remove unused imports (time, functools, indirect data_utils)\n  - Consolidate audit cancellation logic with new cancel_audit() helper\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/c9a5d2d3fcf0988bf79c9225d6b92694603983e9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/c9a5d2d3fcf0988bf79c9225d6b92694603983e9"}]},"branch":"refs/heads/master"},"1ec5631f0f69223d395e46e0bc3b7ba5fe75980c":{"kind":"REWORK","_number":15,"created":"2025-11-25 06:36:01.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/15"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-25 06:25:26.000000000","tz":0},"subject":"Refactor: Extract common test utilities into shared base class","message":"Refactor: Extract common test utilities into shared base class\n\nConsolidate duplicated test utilities from BaseInfraOptimTest and\nBaseInfraOptimScenarioTest into a new BaseCommon class to improve\nmaintainability and eliminate code duplication.\n\nChanges include:\n* New common test base class (tests/common/base.py):\n  - Shared resource management methods: create_audit_template,\n    delete_audit_template, create_audit, cancel_audit, delete_audit,\n    and delete_action_plan\n  - State validation helpers: is_audit_idle, has_audit_succeeded,\n    has_audit_finished, has_audit_failed\n  - Type-safe constants using frozen Enum classes for IdleStates,\n    AuditFinishedStates, and ActionPlanFinishedStates\n\n* Enhanced resource lifecycle management:\n  - Replace class-level resource tracking with addCleanup() for\n    more reliable cleanup and better test isolation\n  - Automatic cancellation of ONGOING/PENDING audits before deletion\n  - Graceful handling of NotFound exceptions during cleanup\n\n* Bug fixes:\n  - Resolve IndexError in test_action_plan.py by converting from\n    class-level resource_setup() to instance-level setUp()\n  - Add wait_for_all_action_plans_to_finish() before audit creation\n    to prevent race conditions\n\n* Test isolation improvements:\n  - Convert class methods to instance methods where appropriate\n  - Skip redundant audit cancellation when audit has already succeeded\n\n* Code cleanup:\n  - Remove unused imports (time, functools, indirect data_utils)\n  - Consolidate audit cancellation logic with new cancel_audit() helper\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/1ec5631f0f69223d395e46e0bc3b7ba5fe75980c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/1ec5631f0f69223d395e46e0bc3b7ba5fe75980c"}]},"branch":"refs/heads/master"},"3272958d0cf1f93bb2d0d07d22c04ed65e03db30":{"kind":"REWORK","_number":16,"created":"2025-11-25 07:10:48.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/16"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-25 07:10:45.000000000","tz":0},"subject":"Refactor: Extract common test utilities into shared base class","message":"Refactor: Extract common test utilities into shared base class\n\nConsolidate duplicated test utilities from BaseInfraOptimTest and\nBaseInfraOptimScenarioTest into a new BaseCommon class to improve\nmaintainability and eliminate code duplication.\n\nChanges include:\n* New common test base class (tests/common/base.py):\n  - Shared resource management methods: create_audit_template,\n    delete_audit_template, create_audit, cancel_audit, delete_audit,\n    and delete_action_plan\n  - State validation helpers: is_audit_idle, has_audit_succeeded,\n    has_audit_finished, has_audit_failed\n  - Type-safe constants using frozen Enum classes for IdleStates,\n    AuditFinishedStates, and ActionPlanFinishedStates\n\n* Enhanced resource lifecycle management:\n  - Replace class-level resource tracking with addCleanup() for\n    more reliable cleanup and better test isolation\n  - Automatic cancellation of ONGOING/PENDING audits before deletion\n  - Graceful handling of NotFound exceptions during cleanup\n\n* Bug fixes:\n  - Resolve IndexError in test_action_plan.py by converting from\n    class-level resource_setup() to instance-level setUp()\n  - Add wait_for_all_action_plans_to_finish() before audit creation\n    to prevent race conditions\n\n* Test isolation improvements:\n  - Convert class methods to instance methods where appropriate\n  - Skip redundant audit cancellation when audit has already succeeded\n\n* Code cleanup:\n  - Remove unused imports (time, functools, indirect data_utils)\n  - Consolidate audit cancellation logic with new cancel_audit() helper\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/3272958d0cf1f93bb2d0d07d22c04ed65e03db30"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/3272958d0cf1f93bb2d0d07d22c04ed65e03db30"}]},"branch":"refs/heads/master"},"d1edf92c8fa92c2221fc7364a0aa27a8018565dd":{"kind":"REWORK","_number":17,"created":"2025-11-25 10:40:32.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/967522/17","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-tempest-plugin","ref":"refs/changes/22/967522/17","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-tempest-plugin refs/changes/22/967522/17"}}},"commit":{"parents":[{"commit":"fd6208c1dd663d07f3c0ff8debd848a641405ca6","subject":"Merge \"Drop job to test unmaintained 2024.1 branch\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/fd6208c1dd663d07f3c0ff8debd848a641405ca6"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-18 13:05:27.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2025-11-25 10:40:28.000000000","tz":0},"subject":"Refactor: Extract common test utilities into shared base class","message":"Refactor: Extract common test utilities into shared base class\n\nConsolidate duplicated test utilities from BaseInfraOptimTest and\nBaseInfraOptimScenarioTest into a new BaseCommon class to improve\nmaintainability and eliminate code duplication.\n\nChanges include:\n* New common test base class (tests/common/base.py):\n  - Shared resource management methods: create_audit_template,\n    delete_audit_template, create_audit, cancel_audit, delete_audit,\n    and delete_action_plan\n  - State validation helpers: is_audit_idle, has_audit_succeeded,\n    has_audit_finished, has_audit_failed\n  - Type-safe constants using frozen Enum classes for IdleStates,\n    AuditFinishedStates, and ActionPlanFinishedStates\n\n* Enhanced resource lifecycle management:\n  - Replace class-level resource tracking with addCleanup() for\n    more reliable cleanup and better test isolation\n  - Automatic cancellation of ONGOING/PENDING audits before deletion\n  - Graceful handling of NotFound exceptions during cleanup\n\n* Bug fixes:\n  - Resolve IndexError in test_action_plan.py by converting from\n    class-level resource_setup() to instance-level setUp()\n  - Add wait_for_all_action_plans_to_finish() before audit creation\n    to prevent race conditions\n\n* Test isolation improvements:\n  - Convert class methods to instance methods where appropriate\n  - Skip redundant audit cancellation when audit has already succeeded\n\n* Code cleanup:\n  - Remove unused imports (time, functools, indirect data_utils)\n  - Consolidate audit cancellation logic with new cancel_audit() helper\n\nAssisted-By: Cursor (claude-4.5-sonnet)\nChange-Id: Ife6392c564b239d5e30d4c53807b3ab8d6298adf\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/d1edf92c8fa92c2221fc7364a0aa27a8018565dd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-tempest-plugin/commit/d1edf92c8fa92c2221fc7364a0aa27a8018565dd"}]},"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":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"}},{"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":{}}}]}
