)]}'
{"id":"openstack%2Fwatcher~988389","triplet_id":"openstack%2Fwatcher~master~Ia803161def119f3d0c93f6f59ab739e42549e485","project":"openstack/watcher","branch":"master","topic":"blueprint-functional-test-infrastructure","attention_set":{"30002":{"account":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"last_update":"2026-07-02 18:42:22.000000000","reason":"Vote got outdated and was removed: Code-Review+2"},"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-07-30 15:50:39.000000000","reason":"Vote got outdated and was removed: Code-Review+1"},"16312":{"account":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"last_update":"2026-07-30 16:05:22.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{"34452":{"account":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"last_update":"2026-08-03 10:45:20.000000000","reason":"\u003cGERRIT_ACCOUNT_34452\u003e replied on the change","reason_account":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}},"26471":{"account":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"last_update":"2026-07-31 10:52:37.000000000","reason":"removed on reply"}},"hashtags":[],"change_id":"Ia803161def119f3d0c93f6f59ab739e42549e485","subject":"Add functional test framework for Watcher","status":"NEW","created":"2026-05-13 07:37:47.000000000","updated":"2026-08-03 10:45:20.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":43,"unresolved_comment_count":17,"has_review_started":true,"meta_rev_id":"cd830f537f3bfdba969823532041941ee06d92ba","_number":988389,"virtual_id_number":988389,"owner":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-07-31 12:33:54.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":2,"date":"2026-08-03 10:45:20.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":-1,"date":"2026-07-31 10:52:37.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,"permitted_voting_range":{"min":-1,"max":1},"_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":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"_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,"permitted_voting_range":{"min":0,"max":2},"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Standard Change","+1":"Important Change","+2":"High Priority Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}],"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"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-05-13 11:02:39.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-05-13 13:22:51.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":"2026-06-22 19:17:47.000000000","updated_by":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"reviewer":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"state":"REVIEWER"},{"updated":"2026-06-25 06:17:53.000000000","updated_by":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"reviewer":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"state":"CC"},{"updated":"2026-07-02 20:19:50.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":"2026-07-06 13:44:37.000000000","updated_by":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"reviewer":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"state":"REVIEWER"}],"messages":[{"id":"e1d207e3b918611c058d3057976cbad4f01461ab","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-05-13 07:37:47.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"37f1d33b5cc11ff80335b19919ccf4c13cc5c5b1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-05-13 08:42:20.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"6e77164e65685c00f72f96236337dd8b39ce6907","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 11:02:39.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/633121203652441db2f5684ba9480334\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/9574434aee60422b8ebf9de28192fcff : SUCCESS in 5m 46s\n- requirements-check https://zuul.opendev.org/t/openstack/build/8bce720ff7bb40109cfa901b3305b8e0 : SUCCESS in 3m 24s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/05c00fe6096d42b48c386a3f41afd858 : SUCCESS in 7m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9cc1b2259efa45008634445571e06c39 : SUCCESS in 4m 45s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d795f2f6889547df8b1e7d03aa4e9ed8 : SUCCESS in 7m 59s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/5048a859a0c049ea8cb77f3c1974d420 : SUCCESS in 5m 33s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/eb2564d6280341d892fa7dd64eab187b : SUCCESS in 9m 13s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9004e760d69d4eb883de9e222ea707a5 : SUCCESS in 11m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/06ce05e6f1c749e8bf12be9b13951327 : SUCCESS in 3m 39s\n- openstack-tox-py313-eventlet https://zuul.opendev.org/t/openstack/build/28f4abef27f449df933fef090f2a5be4 : SUCCESS in 6m 08s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/f78c85c6cf834ea4b4900d093e7191b2 : SUCCESS in 56m 56s\n- watcher-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/5ae805db8ce24a1780b5856489d6347b : SUCCESS in 25m 04s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/836db0a86c6546b3bc08d2d1dd7db62b : SUCCESS in 35m 44s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/6957640a660d4a78893060f7138c5254 : SUCCESS in 1h 41m 07s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/ca7e211e7a75482ab1a78b6109924d75 : SUCCESS in 1h 51m 11s\n- watcher-tempest-prometheus-eventlet https://zuul.opendev.org/t/openstack/build/fc732d5a3f3e4456b3cf991b6ec13dcb : SUCCESS in 1h 55m 19s\n- watcher-tempest-aetos https://zuul.opendev.org/t/openstack/build/0cd4fdd58abd41e48b16a674828b26d5 : SUCCESS in 1h 58m 21s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/0493fdfb8f8f446aaadfa2232732567e : SUCCESS in 5m 43s","accounts_in_message":[],"_revision_number":2},{"id":"5ff8a3f2e731df00aea6f2de91b2df98373a03d5","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-05-13 13:22:51.000000000","message":"Patch Set 2: Code-Review+1\n\nBuild succeeded (check pipeline).\nhttps://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/a263284790114c918b5fff0be1b6be40\n\n- openstack-meta-content-provider-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/2fb14c541cca49f88dfd93ba5f19aa94 : SUCCESS in 4h 00m 47s\n- watcher-operator-validation-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/0ef732eae3e24508a367d6bad80a71ab : SUCCESS in 2h 17m 34s","accounts_in_message":[],"_revision_number":2},{"id":"ddd5f43c75a7d8ad8152fb824816167e514e2af3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-06-15 12:57:03.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.\n\nCopied Votes:\n* Code-Review+1 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"4ca78604cf5471263ba8219b409550e1792bc499","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-15 15:15:47.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/4e1ee6edfc81406da55d7dd7545b74de\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/b8d984a36b5d447f98a9b8351a059757 : SUCCESS in 4m 41s\n- requirements-check https://zuul.opendev.org/t/openstack/build/49dbbf4876eb46c0bde2f1c42eef790e : SUCCESS in 2m 06s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4afa9e9dda414af4a5f3b4d3a8f85c71 : SUCCESS in 5m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e569d2d0f1694f0ab707387525948287 : SUCCESS in 4m 31s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/45af4398a6c542bfb697634157b457f5 : SUCCESS in 4m 51s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a05572fb0e814df4adf168154ee689cb : SUCCESS in 3m 29s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/be9cad0f5416472bb8ae940a20446998 : SUCCESS in 6m 25s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/486ccdd5b3bb453783add0622d4b2da0 : SUCCESS in 5m 22s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f950c73be9cf40f1b121bb5ba3cfe4a0 : SUCCESS in 4m 40s\n- openstack-tox-py313-eventlet https://zuul.opendev.org/t/openstack/build/d8ea65fc3f3645d48f114ef0f5aa1357 : SUCCESS in 4m 07s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/53b47e3630a3424fb9fe48fc35fd2e55 : SUCCESS in 53m 51s\n- watcher-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/5e0be79de80a483fa0a69e44c0732980 : SUCCESS in 40m 16s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/4b011d6b9d194791b3b2244281a5b3b3 : SUCCESS in 38m 32s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/e99096515ee64985bc605eb407e28439 : SUCCESS in 1h 49m 42s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/55b103c74beb4b379b75713b01772d63 : SUCCESS in 2h 05m 06s\n- watcher-tempest-prometheus-eventlet https://zuul.opendev.org/t/openstack/build/ef55a5e798584f70a7f38f80dc9e269f : SUCCESS in 2h 05m 30s\n- watcher-tempest-aetos https://zuul.opendev.org/t/openstack/build/a39a8a62a5ce43caba75984c9840c284 : TIMED_OUT in 2h 08m 13s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/abfd591989204e1995e9c713ca591ae4 : SUCCESS in 5m 05s","accounts_in_message":[],"_revision_number":3},{"id":"789eb6cf6de54d93be8e1fce61e4dcdb11a555b1","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-06-15 15:53:13.000000000","message":"Patch Set 3: Code-Review+1\n\nBuild succeeded (check pipeline).\nhttps://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/b9b57935562c4820b35b242f2d83a43b\n\n- openstack-meta-content-provider-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/9b1561843a3448138e8b665b65f08cc5 : SUCCESS in 2h 54m 48s\n- watcher-operator-validation-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/26931d4aa9f144f597e36b80097a6224 : SUCCESS in 2h 05m 55s","accounts_in_message":[],"_revision_number":3},{"id":"006dc845416cdfd9d938b43b87418098f552cc4e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-06-16 09:51:54.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"5546d1a92f861d4147defd565b210541673624dc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-16 12:02:44.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7bcaa46e6ce640889d7922524a2dd064\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/bfb57754285441cfb2b01a909ab33ee9 : SUCCESS in 5m 25s\n- requirements-check https://zuul.opendev.org/t/openstack/build/8d66c574f3e74a71b3cf85d3199864b3 : SUCCESS in 2m 54s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/684fa3672205471db5e39dc716dbcbf3 : SUCCESS in 6m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2cf6369381854eecb5b1db82028e06c3 : SUCCESS in 4m 16s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/50c2a96ebfc94a9aa2d7dbcc2bcebeeb : SUCCESS in 5m 06s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a3d28f5ee1ec4c5cbaf9a1760ee55eab : SUCCESS in 6m 31s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e06ff706d4cb4f639117e1e12ec0e545 : SUCCESS in 6m 38s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4006c2c32b24444ab45184b4118c289f : SUCCESS in 11m 47s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9d54205fa2bc4bb4be78e0c824af74c7 : SUCCESS in 6m 45s\n- openstack-tox-py313-eventlet https://zuul.opendev.org/t/openstack/build/ec60323a7ca448839fa854870c6be56f : SUCCESS in 7m 19s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/ca9232ddd65a45b58e05bc1c91a19a82 : SUCCESS in 51m 12s\n- watcher-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/088d88bfa1a447d8ac8f59be2d1f83d4 : SUCCESS in 53m 00s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/b274a11aeb774e74acef699d4bad840c : SUCCESS in 27m 20s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/a5d59a20d0484e3c8765808139fbf0d9 : SUCCESS in 1h 51m 05s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/fe8f8f7096554b1eaff2e881dfda1d35 : SUCCESS in 1h 40m 45s\n- watcher-tempest-prometheus-eventlet https://zuul.opendev.org/t/openstack/build/8dda988afc7b48b7809fe17cb65d0125 : SUCCESS in 2h 06m 02s\n- watcher-tempest-aetos https://zuul.opendev.org/t/openstack/build/a298bc9410ab4e5aaa714ea5a4c406c9 : SUCCESS in 1h 14m 26s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/7f25dc24e617483f9c6e80fd51eff7b8 : SUCCESS in 5m 15s","accounts_in_message":[],"_revision_number":4},{"id":"2c25bbbd68150d09556afde35141b0ca89905113","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-06-16 14:00:47.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://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/c22bd1e9be38407eacf037e32b47504d\n\n- openstack-meta-content-provider-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/2d1138385a2e42a49dd1c2da61f627a4 : SUCCESS in 3h 01m 41s\n- watcher-operator-validation-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/dc163d81238749f5bd2f0fa70dbeaaa3 : FAILURE in 2h 06m 17s","accounts_in_message":[],"_revision_number":4},{"id":"0d914c617de95534b9ee5a5ef711c4daa003a6d7","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-06-22 19:17:47.000000000","message":"Patch Set 4: Code-Review+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"e205a22f252506bdb25bd1501577bfcaa8d58d88","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-06-23 11:22:33.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"55e1f2b39c5ec2a20f284e37758a96aac6f931a3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-06-25 06:17:21.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Code-Review+1, Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"1a6dc0cd5a09c2a3767f31cecaca7132904ebfc4","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-25 06:17:53.000000000","message":"Patch Set 5:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":5},{"id":"09bfca5445ea54c17fb94cb0bd9a12693ad7582b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-25 08:25:35.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c4181429c0b24c4db0276641da14845a\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/31aea0b2a0dd4de48f1f1dba51b60612 : SUCCESS in 4m 25s\n- requirements-check https://zuul.opendev.org/t/openstack/build/74f5b2006e5a4bc8b30424317dd85ece : SUCCESS in 2m 41s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/0f9d5fe9ec1c469c95d8dbafcd6ded4f : SUCCESS in 7m 51s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/64a7e8753d80421c9230e9363d801f37 : SUCCESS in 3m 35s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/94c5d939b4d344b08749bcfc9d67729b : SUCCESS in 5m 54s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/74eed9bec3044a0ab976b409a145c06c : SUCCESS in 5m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/fc5a28b0b5414565af2c291a427c8cb9 : SUCCESS in 9m 06s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/526c05a27e314634a8375b02b1288141 : SUCCESS in 5m 19s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1947b4b2ed7d4c7fac06b85d6e0cfe65 : SUCCESS in 4m 02s\n- openstack-tox-py313-eventlet https://zuul.opendev.org/t/openstack/build/463b2775201f455884cc5d08605eeac1 : SUCCESS in 4m 59s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/e1fae656a209474895a7c20a2755c252 : SUCCESS in 50m 05s\n- watcher-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/76a7ae441cd5406085fe61e48fe3da4d : SUCCESS in 42m 17s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/d861babb39a34546b02d9a2393e39f08 : SUCCESS in 42m 49s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/fceba31553244059a44306eed76bcf83 : SUCCESS in 1h 41m 24s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/398b05b730a7483c8d519c7438c5544d : SUCCESS in 2h 01m 21s\n- watcher-tempest-prometheus-eventlet https://zuul.opendev.org/t/openstack/build/d8df1e5f658d490298af1543a1d74016 : SUCCESS in 1h 13m 05s\n- watcher-tempest-aetos https://zuul.opendev.org/t/openstack/build/c7a5226f30dd48668b9686cf662b2093 : SUCCESS in 1h 10m 47s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/6693ee4319c949cc85b1633d26699604 : SUCCESS in 4m 04s","accounts_in_message":[],"_revision_number":5},{"id":"fa028808796b00393e6b5a31faaa17d87dbb1fd0","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-25 08:53:23.000000000","message":"Patch Set 5:\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/069be66fdd88403593a0584b69a0352e\n\n- teim-code-review https://zuul.teim.app/t/main/build/ae6ef556d6ff4120a731688094cf1329 : TIMED_OUT in 31m 16s","accounts_in_message":[],"_revision_number":5},{"id":"1227564a8dfe6d7734cc6a5934d4c83007b6d03d","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-06-25 09:13:02.000000000","message":"Patch Set 5: Code-Review+1\n\nBuild succeeded (check pipeline).\nhttps://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/cf56a05f701844a982cd3dff9c5e7f7e\n\n- openstack-meta-content-provider-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/08ec0aa678654cb392d22a9fcfe4e3ef : SUCCESS in 2h 54m 28s\n- watcher-operator-validation-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/808943bcb9114599b9092e2a10979c16 : SUCCESS in 2h 15m 17s","accounts_in_message":[],"_revision_number":5},{"id":"f16646a287d740fa15fbb3efeaae0091e14cf1b7","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-06-25 18:34:25.000000000","message":"Patch Set 5: Code-Review+2\n\n(3 comments)","accounts_in_message":[],"_revision_number":5},{"id":"ea0f7a6ad240597944bd88b52d147cbef3d7f115","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-07-02 18:42:22.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Code-Review+1, Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":6},{"id":"da64354d6b81e3b7b8a251fdf6bcaa104e52004f","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-02 18:42:53.000000000","message":"Patch Set 6:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":6},{"id":"56e7c56a642e93ca4395d40f60738b0b615d7913","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-07-02 18:52:50.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://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/4b152a4c62ce49fa8e8deccdf229a306\n\n- openstack-meta-content-provider-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/ecc4fc58770b4931aaec11cd9582b2e2 : FAILURE in 9m 06s\n- watcher-operator-validation-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/8de410f24f614060a9aa45bc508091fc : SKIPPED Skipped due to failed job openstack-meta-content-provider-master","accounts_in_message":[],"_revision_number":6},{"id":"d1ee3cdda9945754c3a4def80084fef288cfe323","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-02 19:23:53.000000000","message":"Patch Set 6:\n\n(2 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/4715e7e3fac6447694fc0f44eef8b185\n\n- teim-code-review https://zuul.teim.app/t/main/build/71ee5892d6a64993998c71893ba90e42 : SUCCESS in 14m 39s\n\nWarning:\n  The tox.ini functional environment comment reads \u0027all tests in the same gabbit\u0027 (typo for \u0027gabbi\u0027) and the --group-regex anchors only on test_gabbi; basic functional tests (test_basic.py) are not grouped. This is intentional for the gabbi suite but the comment typo is worth a one-character fix. Impact: No functional impact; purely a documentation nit in a tox.ini comment. Recommendation: Fix \u0027gabbit\u0027 to \u0027gabbi\u0027 in the tox.ini comment in a follow-up; no merge blocker.","accounts_in_message":[],"_revision_number":6},{"id":"3088f038fbb78dc081c5f2d2a56df3c47291186b","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-02 20:19:50.000000000","message":"Patch Set 6: Code-Review+1\n\n(17 comments)","accounts_in_message":[],"_revision_number":6},{"id":"e940eb38966f6bb4fd2bacc28cd5fd10aedf1efd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-02 20:54:54.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0423ef7f357e443d8898a83eb770739e\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/69dd45dc8b9045ffb392caddb64afd92 : SUCCESS in 5m 23s\n- requirements-check https://zuul.opendev.org/t/openstack/build/c97297f8370f4a6996aa44da84f053b8 : SUCCESS in 1m 49s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/13dc0f3fd5c542f7bb215117d5cac16f : SUCCESS in 4m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/610b161e42b04809afc34e1d875a5def : SUCCESS in 3m 51s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/3a317ddacc1143d6b98e14fb236697cb : SUCCESS in 5m 36s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/02b1a751b5484fda9c9a962c11111a8d : SUCCESS in 5m 29s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2ed129c79a3c48218aeeaa511dca50bd : SUCCESS in 8m 31s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/55248cd496364819966a910cf8e71fde : SUCCESS in 8m 58s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/52f98321fa154110a97a636052456dbf : SUCCESS in 4m 29s\n- openstack-tox-py313-eventlet https://zuul.opendev.org/t/openstack/build/be62162a0c8d48798f8e14ad973561fc : SUCCESS in 4m 57s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/fddebf80fbc645479e7c296b02dbe144 : SUCCESS in 54m 37s\n- watcher-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/64f56d9afe434b55a471014f274969cc : SUCCESS in 51m 05s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/9f3f467e578b4f0dbd64cffc7883d52e : SUCCESS in 39m 12s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/62a26ac4f5cd41bdac5d40fa574a6416 : SUCCESS in 1h 55m 36s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/5abc1b82828d4b169b510b99f483ee19 : SUCCESS in 1h 12m 35s\n- watcher-tempest-prometheus-eventlet https://zuul.opendev.org/t/openstack/build/746f3040805b48228051cadfb940b56f : SUCCESS in 1h 53m 20s\n- watcher-tempest-aetos https://zuul.opendev.org/t/openstack/build/7454bc6f2b8f4b6b9b168a9b5045b57b : SUCCESS in 2h 06m 00s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/e8fa133788e04fe3b0c2490f63e36d53 : SUCCESS in 5m 12s","accounts_in_message":[],"_revision_number":6},{"id":"2b744a4a07129b0faad11334e98f7e571547531e","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-07-03 15:15:19.000000000","message":"Patch Set 6:\n\n(5 comments)","accounts_in_message":[],"_revision_number":6},{"id":"b6cc114a335097514fcf9978c040588bab9d39e4","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-07-06 13:44:37.000000000","message":"Patch Set 6: Code-Review+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":6},{"id":"32d3acd99e686b99382aca0a9461a9d9402d6c50","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-07-30 15:50:39.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Code-Review+1, Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"37cb1bf3697ce1a636ac458aeb0619f54d366e38","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-30 15:50:52.000000000","message":"Patch Set 7:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":7},{"id":"75b235fb577be89b42cebe35f2e6c39ba635b585","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-07-30 15:55:04.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"69953e449e155a3ca9e6721a6e7b080a3723dd47","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-30 16:05:22.000000000","message":"Patch Set 7:\n\n(2 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/3e25c580b40e4885a5fefb56d4af25c1\n\n- teim-code-review https://zuul.teim.app/t/main/build/24eff36e423a409ca475b3d911d562d8 : SUCCESS in 7m 10s\n\nWarning:\n  The commit body has two text errors: \u0027Placementa and Data Source\u0027 (typo for \u0027Placement, and Data Source\u0027) and \u0027This patch also adds a job running functional tests with to the check and gate pipelines\u0027 (stray \u0027with\u0027 making the sentence ungrammatical). Impact: Minor readability issue in the commit message that will be permanently recorded in git history. A reviewer would likely point these out. Recommendation: Amend the commit message to fix \u0027Placementa\u0027 → \u0027Placement\u0027 and remove the stray \u0027with\u0027 in the CI job sentence.","accounts_in_message":[],"_revision_number":7},{"id":"c432218d451edf70a83193935a34ff7d346ed3a4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-07-30 16:11:43.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"6c5c36de7f1e762f10a8f24fda833596623dd1e2","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-30 16:11:56.000000000","message":"Patch Set 8:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":8},{"id":"d43744d30f5485fa42c529fe9dac53c3cf6d87fc","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-30 16:20:14.000000000","message":"Patch Set 8:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/8ddba7ecf31c46f3a370ffa0396582ae\n\n- teim-code-review https://zuul.teim.app/t/main/build/0abcf421c8f1446d9cb9f4caa0919f82 : SUCCESS in 8m 06s\n\nWarning:\n  The commit message body says \u0027Next steps include adding fixtures for external services (Nova, Cinder, Placementa and Data Source)\u0027 where \u0027Placementa\u0027 should be \u0027Placement\u0027. Additionally, \u0027This patch also adds a job running functional tests with to the check and gate pipelines\u0027 has a broken constr... Impact: Minor readability issue in the permanent commit history. Contributors reading the commit log may be confused by the misspelled service name. Recommendation: Amend the commit message to fix \u0027Placementa\u0027 to \u0027Placement\u0027 and rephrase the job description line to \u0027This patch also adds a functional test job to the check and gate pipelines.\u0027","accounts_in_message":[],"_revision_number":8},{"id":"4fe73a62c734e9835a0c238fb01c0b56da158ed6","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-07-30 16:30:30.000000000","message":"Patch Set 8: 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://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/489bef0ff1a7411abd64597dd730d9cb\n\n- openstack-meta-content-provider-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/c5a4058d76bf480d90878d667ecb4e45 : FAILURE in 9m 29s\n- watcher-operator-validation-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/2f822d753e3e45e7a8eb3b539d7b3335 : SKIPPED Skipped due to failed job openstack-meta-content-provider-master","accounts_in_message":[],"_revision_number":8},{"id":"29897d9a76f1f2cef17a43badb2fce514c9f93eb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-30 18:08:29.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c50b4840d6ec4feca21d7dbf5b88cb97\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/43f038cd9da942f48ea9fa20501c0d7a : SUCCESS in 3m 39s\n- requirements-check https://zuul.opendev.org/t/openstack/build/4378af6b8a4d418e84af6b20282f83ed : SUCCESS in 3m 32s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/36eb1f84c661462ea2bce9dbd34e74ac : SUCCESS in 9m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c853cde1bba24d4c8ea4c5fb4dd97cfb : SUCCESS in 3m 48s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/1562645e80a5494b845809c4e7149a43 : SUCCESS in 5m 13s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d5de3748bd384788acc134b0d82882ea : SUCCESS in 3m 50s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2089123bc8ac40db98583d374bafa383 : SUCCESS in 8m 40s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6bcb3ba81cb84cf2adfc966980961d4e : SUCCESS in 10m 57s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/29b6e4552c564a2c9ad8cdc0d6400762 : SUCCESS in 3m 22s\n- openstack-tox-py313-eventlet https://zuul.opendev.org/t/openstack/build/afb311a8777a4ad2beeb7dead87a602a : SUCCESS in 5m 01s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/d6c7fd7e133a43a9b2bd6b5c0e04ceb4 : SUCCESS in 1h 02m 05s\n- watcher-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d813fd40be674aaf9b0d06a8fbcee01a : SUCCESS in 24m 16s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/c03dcebfbae2404ba2075bd3fcde8eef : SUCCESS in 38m 31s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/fe8cba6b1eaf48fd8e623ca7bea75f63 : SUCCESS in 1h 12m 42s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/6a83eeb11784477ba327716480e51e5b : SUCCESS in 1h 49m 07s\n- watcher-tempest-prometheus-eventlet https://zuul.opendev.org/t/openstack/build/2549f10664d14009830bf4b4daa1d4c7 : SUCCESS in 1h 31m 17s\n- watcher-tempest-aetos https://zuul.opendev.org/t/openstack/build/9f3323dd2c85456abac9d5ec751dd5cc : SUCCESS in 1h 39m 53s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/92a1d55b1fa344c79fd3f94c08d9f657 : SUCCESS in 3m 17s","accounts_in_message":[],"_revision_number":8},{"id":"3ec5625c1d128a2da2a16497e14329ee325ad1b3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-07-31 09:42:59.000000000","message":"Uploaded patch set 9.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":9},{"id":"7e7c2ec3145fe82484aad7333a184ae6fe4d3ffb","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-31 09:43:59.000000000","message":"Patch Set 9:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":9},{"id":"acab5bd7ff34ba56c3002590ec9048c3c401719e","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-07-31 09:55:27.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://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/1a5b9da2a2ff41f882268bb1e47c9e56\n\n- openstack-meta-content-provider-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/81fd24e45739487fa5153fe5b4bd757a : FAILURE in 10m 25s\n- watcher-operator-validation-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/2b524e9111df4173b1e0ff447d333a58 : SKIPPED Skipped due to failed job openstack-meta-content-provider-master","accounts_in_message":[],"_revision_number":9},{"id":"b9c8aa400e8bb5136320905b5b9771e3637595d4","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-31 10:22:09.000000000","message":"Patch Set 9:\n\n(4 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/a286a0b2ee034314b6d08648bc2d98ec\n\n- teim-code-review https://zuul.teim.app/t/main/build/efaa22360b4a4c1989bf3ee7b92548fe : SUCCESS in 7m 37s\n\nWarning:\n  The commit message body lists external services for future fixtures and misspells \"Placement\" as \"Placementa\": \"Next steps include adding fixtures for external services (Nova, Cinder, Placementa and Data Source)\". Impact: Minor: the commit message is permanently stored in git history and visible to all reviewers. Misspelling a well-known OpenStack service name looks unprofessional. Recommendation: Amend the commit message to fix \"Placementa\" → \"Placement\" before merging.\n  The final paragraph of the commit message reads: \"This patch also adds a job running functional tests with to the check and gate pipelines.\" The word \"with\" is extraneous and makes the sentence grammatically incorrect. Impact: Minor: grammatical error in the permanently stored commit message. Does not affect code behavior. Recommendation: Remove the extraneous \"with\" from the commit message before merging.","accounts_in_message":[],"_revision_number":9},{"id":"501b37c6e3b3f2a81d817e1d243faf69d6eed110","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-07-31 10:35:00.000000000","message":"Uploaded patch set 10.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n","accounts_in_message":[],"_revision_number":10},{"id":"132742f332f427c96a4a97106b9d5de528efe33b","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-31 10:35:11.000000000","message":"Patch Set 10:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":10},{"id":"c423fb6eed4534329bc3394c16d17450ac953764","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"real_author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-07-31 10:42:26.000000000","message":"Patch Set 11: Patch Set 10 was rebased on behalf of \u003cGERRIT_ACCOUNT_34452\u003e","accounts_in_message":[{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}],"_revision_number":11},{"id":"d8c39afeb0c3ca6a7f79dd349ff58c2a7559a2ec","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-31 10:42:38.000000000","message":"Patch Set 11:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":11},{"id":"5293eb2777f8751a0044d688c67e5c6b6d0cbc79","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-07-31 10:52:37.000000000","message":"Patch Set 11: 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://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/0b827f4706db4030a8b30d310521f9ce\n\n- openstack-meta-content-provider-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/7ffa4f4926c14182aa59af140ea6c1a5 : FAILURE in 9m 09s\n- watcher-operator-validation-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/3e2bbf46767545ac8ed732154624f67a : SKIPPED Skipped due to failed job openstack-meta-content-provider-master","accounts_in_message":[],"_revision_number":11},{"id":"9986a71bb61227a4b37d72cce7069e08c511a4c1","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-31 11:27:41.000000000","message":"Patch Set 11:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/3dfb05d90db24b38a33732b6daee5d9b\n\n- teim-code-review https://zuul.teim.app/t/main/build/2065754f95ef4b3087be2d967635c197 : SUCCESS in 9m 48s","accounts_in_message":[],"_revision_number":11},{"id":"c1a30b5e0eaefc0b5d175471740372f9867114be","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-31 12:33:54.000000000","message":"Patch Set 11: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ed19fbdc8d5d4fcdb6d80dc2ece97be4\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/652d87df4d124a8b89c64813336fcf5e : SUCCESS in 4m 57s\n- requirements-check https://zuul.opendev.org/t/openstack/build/a53e1660ec7e4c5fba9f636d15293fee : SUCCESS in 4m 00s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c04d9c1dfd0a4f6f98a27e068da32b14 : SUCCESS in 6m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8412024e53b542559e2d23f0433826f2 : SUCCESS in 4m 19s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/84a982512e0749c4807a12148fa2adac : SUCCESS in 5m 45s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a81294742814497cb974c05ae9b53d61 : SUCCESS in 6m 12s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/3550985719ae49b7b1964c60104e689d : SUCCESS in 9m 17s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4a870b4bec3b4bd0a7944ce36497a929 : SUCCESS in 9m 13s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2dcf9d26670f4911b2027526d256b90a : SUCCESS in 5m 00s\n- openstack-tox-py313-eventlet https://zuul.opendev.org/t/openstack/build/e11792b6c48b443293b5afd3524895d9 : SUCCESS in 5m 31s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/61cda336879e4eae99bbf8027c2ea8a8 : SUCCESS in 52m 28s\n- watcher-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/bb36df5a030d4be19127763babd4dce7 : SUCCESS in 1h 00m 48s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/4d914e7325514480895a59e3a640e5f2 : SUCCESS in 39m 23s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/48d7d1920c06414e93402e463b38b0f5 : SUCCESS in 1h 31m 41s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/d67ee0c5b62d4b14b08281f54205ba63 : SUCCESS in 1h 37m 11s\n- watcher-tempest-prometheus-eventlet https://zuul.opendev.org/t/openstack/build/9a556d2054c944aa9a79fc984b5dfc34 : SUCCESS in 1h 36m 08s\n- watcher-tempest-aetos https://zuul.opendev.org/t/openstack/build/7b1b60b5d6d342609f309b9a714c641f : SUCCESS in 1h 40m 16s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/50d5002ce6c149c0befb7a5304ecde1c : SUCCESS in 6m 11s","accounts_in_message":[],"_revision_number":11},{"id":"cd830f537f3bfdba969823532041941ee06d92ba","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-08-03 10:45:20.000000000","message":"Patch Set 11: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":11}],"current_revision_number":11,"current_revision":"16ad250b7560bc3ef9b52881c9e91305bf575c71","revisions":{"d4767ebad83a2df845d8e93fd5e85a307ef72976":{"kind":"REWORK","_number":1,"created":"2026-05-13 07:37:47.000000000","uploader":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"ref":"refs/changes/89/988389/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/89/988389/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/89/988389/1"}}},"commit":{"parents":[{"commit":"5f5d700a3607334a61c7c306d8feac0712689853","subject":"Move db fixtures to the common fixtures directory","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/5f5d700a3607334a61c7c306d8feac0712689853"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-11 17:32:16.000000000","tz":120},"committer":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-13 07:36:59.000000000","tz":120},"subject":"Add functional test framework for Watcher","message":"Add functional test framework for Watcher\n\nFunctional tests fill the gap between unit tests and Tempest by\nrunning real Watcher services (API, decision engine, applier)\ntogether in a single process with a real database and RPC, but\nwithout requiring external infrastructure like Nova or Keystone.\n\nThis patch introduces the functional test infrastructure and uses\ngabbi for declarative YAML-driven API testing. Gabbi tests define\nHTTP request chains in YAML with built-in polling, response\nchaining, and JSONPath assertions, making API workflow tests\nreadable and maintainable.\n\nIncluded gabbi tests cover:\n- Full audit lifecycle (create, execute, verify, delete)\n- Failure path with action execution errors\n- Skip-action feature with API microversion 1.5 gating\n\nNext steps include adding fixtures for external services (Nova,\nCinder, Placementa and Data Source) and expanding test coverage\nfor additional API endpoints and workflows.\n\nThis patch also adds a job running functional tests with to the\ncheck and gate pipelines.\n\nImplements: blueprint functional-test-infrastructure\nAssisted-By: Claude\nChange-Id: Ia803161def119f3d0c93f6f59ab739e42549e485\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/d4767ebad83a2df845d8e93fd5e85a307ef72976"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/d4767ebad83a2df845d8e93fd5e85a307ef72976"}]},"branch":"refs/heads/master"},"2561d360ae8b25446a5b56aa8948ceeb3ff51af0":{"kind":"REWORK","_number":2,"created":"2026-05-13 08:42:20.000000000","uploader":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"ref":"refs/changes/89/988389/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/89/988389/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/89/988389/2"}}},"commit":{"parents":[{"commit":"5f5d700a3607334a61c7c306d8feac0712689853","subject":"Move db fixtures to the common fixtures directory","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/5f5d700a3607334a61c7c306d8feac0712689853"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-11 17:32:16.000000000","tz":120},"committer":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-13 08:42:14.000000000","tz":120},"subject":"Add functional test framework for Watcher","message":"Add functional test framework for Watcher\n\nFunctional tests fill the gap between unit tests and Tempest by\nrunning real Watcher services (API, decision engine, applier)\ntogether in a single process with a real database and RPC, but\nwithout requiring external infrastructure like Nova or Keystone.\n\nThis patch introduces the functional test infrastructure and uses\ngabbi for declarative YAML-driven API testing. Gabbi tests define\nHTTP request chains in YAML with built-in polling, response\nchaining, and JSONPath assertions, making API workflow tests\nreadable and maintainable.\n\nIncluded gabbi tests cover:\n- Full audit lifecycle (create, execute, verify, delete)\n- Failure path with action execution errors\n- Skip-action feature with API microversion 1.5 gating\n\nNext steps include adding fixtures for external services (Nova,\nCinder, Placementa and Data Source) and expanding test coverage\nfor additional API endpoints and workflows.\n\nThis patch also adds a job running functional tests with to the\ncheck and gate pipelines.\n\nImplements: blueprint functional-test-infrastructure\nAssisted-By: Claude\nChange-Id: Ia803161def119f3d0c93f6f59ab739e42549e485\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/2561d360ae8b25446a5b56aa8948ceeb3ff51af0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/2561d360ae8b25446a5b56aa8948ceeb3ff51af0"}]},"branch":"refs/heads/master"},"54493704206279e63b9b140d6f75a28a9829c754":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-06-15 12:57:03.000000000","uploader":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"ref":"refs/changes/89/988389/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/89/988389/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/89/988389/3"}}},"commit":{"parents":[{"commit":"a5814b530c57045793f54aa81d215326b0a5f1db","subject":"Move db fixtures to the common fixtures directory","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/a5814b530c57045793f54aa81d215326b0a5f1db"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-11 17:32:16.000000000","tz":120},"committer":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-06-15 12:56:15.000000000","tz":120},"subject":"Add functional test framework for Watcher","message":"Add functional test framework for Watcher\n\nFunctional tests fill the gap between unit tests and Tempest by\nrunning real Watcher services (API, decision engine, applier)\ntogether in a single process with a real database and RPC, but\nwithout requiring external infrastructure like Nova or Keystone.\n\nThis patch introduces the functional test infrastructure and uses\ngabbi for declarative YAML-driven API testing. Gabbi tests define\nHTTP request chains in YAML with built-in polling, response\nchaining, and JSONPath assertions, making API workflow tests\nreadable and maintainable.\n\nIncluded gabbi tests cover:\n- Full audit lifecycle (create, execute, verify, delete)\n- Failure path with action execution errors\n- Skip-action feature with API microversion 1.5 gating\n\nNext steps include adding fixtures for external services (Nova,\nCinder, Placementa and Data Source) and expanding test coverage\nfor additional API endpoints and workflows.\n\nThis patch also adds a job running functional tests with to the\ncheck and gate pipelines.\n\nImplements: blueprint functional-test-infrastructure\nAssisted-By: Claude\nChange-Id: Ia803161def119f3d0c93f6f59ab739e42549e485\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/54493704206279e63b9b140d6f75a28a9829c754"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/54493704206279e63b9b140d6f75a28a9829c754"}]},"branch":"refs/heads/master"},"21b17d286ddbb86697d734cb7d4320831713ff45":{"kind":"REWORK","_number":4,"created":"2026-06-16 09:51:54.000000000","uploader":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"ref":"refs/changes/89/988389/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/89/988389/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/89/988389/4"}}},"commit":{"parents":[{"commit":"a5814b530c57045793f54aa81d215326b0a5f1db","subject":"Move db fixtures to the common fixtures directory","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/a5814b530c57045793f54aa81d215326b0a5f1db"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-11 17:32:16.000000000","tz":120},"committer":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-06-16 06:50:40.000000000","tz":120},"subject":"Add functional test framework for Watcher","message":"Add functional test framework for Watcher\n\nFunctional tests fill the gap between unit tests and Tempest by\nrunning real Watcher services (API, decision engine, applier)\ntogether in a single process with a real database and RPC, but\nwithout requiring external infrastructure like Nova or Keystone.\n\nThis patch introduces the functional test infrastructure and uses\ngabbi for declarative YAML-driven API testing. Gabbi tests define\nHTTP request chains in YAML with built-in polling, response\nchaining, and JSONPath assertions, making API workflow tests\nreadable and maintainable.\n\nIncluded gabbi tests cover:\n- Full audit lifecycle (create, execute, verify, delete)\n- Failure path with action execution errors\n- Skip-action feature with API microversion 1.5 gating\n\nNext steps include adding fixtures for external services (Nova,\nCinder, Placementa and Data Source) and expanding test coverage\nfor additional API endpoints and workflows.\n\nThis patch also adds a job running functional tests with to the\ncheck and gate pipelines.\n\nImplements: blueprint functional-test-infrastructure\nAssisted-By: Claude\nChange-Id: Ia803161def119f3d0c93f6f59ab739e42549e485\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/21b17d286ddbb86697d734cb7d4320831713ff45"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/21b17d286ddbb86697d734cb7d4320831713ff45"}]},"branch":"refs/heads/master"},"9a79329c8babdaf2d71653a23645ff431721a898":{"kind":"REWORK","_number":5,"created":"2026-06-25 06:17:21.000000000","uploader":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"ref":"refs/changes/89/988389/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/89/988389/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/89/988389/5"}}},"commit":{"parents":[{"commit":"4b6bfeea83f0f9d8ed0e2866e7c5f60dd0e129a0","subject":"Fix race condition in DefaultLoader._reload_config()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/4b6bfeea83f0f9d8ed0e2866e7c5f60dd0e129a0"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-11 17:32:16.000000000","tz":120},"committer":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-06-25 06:17:11.000000000","tz":120},"subject":"Add functional test framework for Watcher","message":"Add functional test framework for Watcher\n\nFunctional tests fill the gap between unit tests and Tempest by\nrunning real Watcher services (API, decision engine, applier)\ntogether in a single process with a real database and RPC, but\nwithout requiring external infrastructure like Nova or Keystone.\n\nThis patch introduces the functional test infrastructure and uses\ngabbi for declarative YAML-driven API testing. Gabbi tests define\nHTTP request chains in YAML with built-in polling, response\nchaining, and JSONPath assertions, making API workflow tests\nreadable and maintainable.\n\nIncluded gabbi tests cover:\n- Full audit lifecycle (create, execute, verify, delete)\n- Failure path with action execution errors\n- Skip-action feature with API microversion 1.5 gating\n\nNext steps include adding fixtures for external services (Nova,\nCinder, Placementa and Data Source) and expanding test coverage\nfor additional API endpoints and workflows.\n\nThis patch also adds a job running functional tests with to the\ncheck and gate pipelines.\n\nImplements: blueprint functional-test-infrastructure\nAssisted-By: Claude\nChange-Id: Ia803161def119f3d0c93f6f59ab739e42549e485\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/9a79329c8babdaf2d71653a23645ff431721a898"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/9a79329c8babdaf2d71653a23645ff431721a898"}]},"branch":"refs/heads/master"},"466757230b9807c1c14366a7b031f737fd74f2a0":{"kind":"REWORK","_number":6,"created":"2026-07-02 18:42:22.000000000","uploader":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"ref":"refs/changes/89/988389/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/89/988389/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/89/988389/6"}}},"commit":{"parents":[{"commit":"e9d12d8786fe9b3b1acc6428c808759930fd3410","subject":"Fix race condition in DefaultLoader._reload_config()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/e9d12d8786fe9b3b1acc6428c808759930fd3410"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-11 17:32:16.000000000","tz":120},"committer":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-07-02 16:17:35.000000000","tz":120},"subject":"Add functional test framework for Watcher","message":"Add functional test framework for Watcher\n\nFunctional tests fill the gap between unit tests and Tempest by\nrunning real Watcher services (API, decision engine, applier)\ntogether in a single process with a real database and RPC, but\nwithout requiring external infrastructure like Nova or Keystone.\n\nThis patch introduces the functional test infrastructure and uses\ngabbi for declarative YAML-driven API testing. Gabbi tests define\nHTTP request chains in YAML with built-in polling, response\nchaining, and JSONPath assertions, making API workflow tests\nreadable and maintainable.\n\nIncluded gabbi tests cover:\n- Full audit lifecycle (create, execute, verify, delete)\n- Failure path with action execution errors\n- Skip-action feature with API microversion 1.5 gating\n\nNext steps include adding fixtures for external services (Nova,\nCinder, Placementa and Data Source) and expanding test coverage\nfor additional API endpoints and workflows.\n\nThis patch also adds a job running functional tests with to the\ncheck and gate pipelines.\n\nImplements: blueprint functional-test-infrastructure\nAssisted-By: Claude\nChange-Id: Ia803161def119f3d0c93f6f59ab739e42549e485\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/466757230b9807c1c14366a7b031f737fd74f2a0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/466757230b9807c1c14366a7b031f737fd74f2a0"}]},"branch":"refs/heads/master"},"6a389644287b156c4da37e27936c11a50a323e31":{"kind":"REWORK","_number":7,"created":"2026-07-30 15:50:39.000000000","uploader":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"ref":"refs/changes/89/988389/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/89/988389/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/89/988389/7"}}},"commit":{"parents":[{"commit":"5d18cc58c88ab519bd780d6d99f784b95b74b356","subject":"Fix race condition in DefaultLoader._reload_config()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/5d18cc58c88ab519bd780d6d99f784b95b74b356"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-11 17:32:16.000000000","tz":120},"committer":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-07-30 09:20:55.000000000","tz":120},"subject":"Add functional test framework for Watcher","message":"Add functional test framework for Watcher\n\nFunctional tests fill the gap between unit tests and Tempest by\nrunning real Watcher services (API, decision engine, applier)\ntogether in a single process with a real database and RPC, but\nwithout requiring external infrastructure like Nova or Keystone.\n\nThis patch introduces the functional test infrastructure and uses\ngabbi for declarative YAML-driven API testing. Gabbi tests define\nHTTP request chains in YAML with built-in polling, response\nchaining, and JSONPath assertions, making API workflow tests\nreadable and maintainable.\n\nIncluded gabbi tests cover:\n- Full audit lifecycle (create, execute, verify, delete)\n- Failure path with action execution errors\n- Skip-action feature with API microversion 1.5 gating\n\nNext steps include adding fixtures for external services (Nova,\nCinder, Placementa and Data Source) and expanding test coverage\nfor additional API endpoints and workflows.\n\nThis patch also adds a job running functional tests with to the\ncheck and gate pipelines.\n\nImplements: blueprint functional-test-infrastructure\nAssisted-By: Claude\nChange-Id: Ia803161def119f3d0c93f6f59ab739e42549e485\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/6a389644287b156c4da37e27936c11a50a323e31"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/6a389644287b156c4da37e27936c11a50a323e31"}]},"branch":"refs/heads/master"},"19964e566804914eb704a009a6261ffba3c44616":{"kind":"REWORK","_number":8,"created":"2026-07-30 16:11:43.000000000","uploader":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"ref":"refs/changes/89/988389/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/89/988389/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/89/988389/8"}}},"commit":{"parents":[{"commit":"5d18cc58c88ab519bd780d6d99f784b95b74b356","subject":"Fix race condition in DefaultLoader._reload_config()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/5d18cc58c88ab519bd780d6d99f784b95b74b356"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-11 17:32:16.000000000","tz":120},"committer":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-07-30 16:11:16.000000000","tz":120},"subject":"Add functional test framework for Watcher","message":"Add functional test framework for Watcher\n\nFunctional tests fill the gap between unit tests and Tempest by\nrunning real Watcher services (API, decision engine, applier)\ntogether in a single process with a real database and RPC, but\nwithout requiring external infrastructure like Nova or Keystone.\n\nThis patch introduces the functional test infrastructure and uses\ngabbi for declarative YAML-driven API testing. Gabbi tests define\nHTTP request chains in YAML with built-in polling, response\nchaining, and JSONPath assertions, making API workflow tests\nreadable and maintainable.\n\nIncluded gabbi tests cover:\n- Full audit lifecycle (create, execute, verify, delete)\n- Failure path with action execution errors\n- Skip-action feature with API microversion 1.5 gating\n\nNext steps include adding fixtures for external services (Nova,\nCinder, Placementa and Data Source) and expanding test coverage\nfor additional API endpoints and workflows.\n\nThis patch also adds a job running functional tests with to the\ncheck and gate pipelines.\n\nImplements: blueprint functional-test-infrastructure\nAssisted-By: Claude\nChange-Id: Ia803161def119f3d0c93f6f59ab739e42549e485\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/19964e566804914eb704a009a6261ffba3c44616"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/19964e566804914eb704a009a6261ffba3c44616"}]},"branch":"refs/heads/master"},"120fe80a1fef68c087e83e8f5f081c93be246222":{"kind":"REWORK","_number":9,"created":"2026-07-31 09:42:59.000000000","uploader":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"ref":"refs/changes/89/988389/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/89/988389/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/89/988389/9"}}},"commit":{"parents":[{"commit":"6dbf544a7dd740b8d4300a6221ec20e0a1fee33c","subject":"Fix race condition in DefaultLoader._reload_config()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/6dbf544a7dd740b8d4300a6221ec20e0a1fee33c"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-11 17:32:16.000000000","tz":120},"committer":{"name":"jgilaber","email":"jgilaber@redhat.com","date":"2026-07-31 09:42:39.000000000","tz":120},"subject":"Add functional test framework for Watcher","message":"Add functional test framework for Watcher\n\nFunctional tests fill the gap between unit tests and Tempest by\nrunning real Watcher services (API, decision engine, applier)\ntogether in a single process with a real database and RPC, but\nwithout requiring external infrastructure like Nova or Keystone.\n\nThis patch introduces the functional test infrastructure and uses\ngabbi for declarative YAML-driven API testing. Gabbi tests define\nHTTP request chains in YAML with built-in polling, response\nchaining, and JSONPath assertions, making API workflow tests\nreadable and maintainable.\n\nIncluded gabbi tests cover:\n- Full audit lifecycle (create, execute, verify, delete)\n- Failure path with action execution errors\n- Skip-action feature with API microversion 1.5 gating\n\nNext steps include adding fixtures for external services (Nova,\nCinder, Placementa and Data Source) and expanding test coverage\nfor additional API endpoints and workflows.\n\nThis patch also adds a job running functional tests with to the\ncheck and gate pipelines.\n\nImplements: blueprint functional-test-infrastructure\nAssisted-By: Claude\nChange-Id: Ia803161def119f3d0c93f6f59ab739e42549e485\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/120fe80a1fef68c087e83e8f5f081c93be246222"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/120fe80a1fef68c087e83e8f5f081c93be246222"}]},"branch":"refs/heads/master"},"e03a8afeea61046becebc9295b106c402844a4de":{"kind":"REWORK","_number":10,"created":"2026-07-31 10:35:00.000000000","uploader":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"ref":"refs/changes/89/988389/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/89/988389/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/89/988389/10"}}},"commit":{"parents":[{"commit":"5d18cc58c88ab519bd780d6d99f784b95b74b356","subject":"Fix race condition in DefaultLoader._reload_config()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/5d18cc58c88ab519bd780d6d99f784b95b74b356"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-11 17:32:16.000000000","tz":120},"committer":{"name":"jgilaber","email":"jgilaber@redhat.com","date":"2026-07-31 10:34:44.000000000","tz":120},"subject":"Add functional test framework for Watcher","message":"Add functional test framework for Watcher\n\nFunctional tests fill the gap between unit tests and Tempest by\nrunning real Watcher services (API, decision engine, applier)\ntogether in a single process with a real database and RPC, but\nwithout requiring external infrastructure like Nova or Keystone.\n\nThis patch introduces the functional test infrastructure and uses\ngabbi for declarative YAML-driven API testing. Gabbi tests define\nHTTP request chains in YAML with built-in polling, response\nchaining, and JSONPath assertions, making API workflow tests\nreadable and maintainable.\n\nIncluded gabbi tests cover:\n- Full audit lifecycle (create, execute, verify, delete)\n- Failure path with action execution errors\n- Skip-action feature with API microversion 1.5 gating\n\nNext steps include adding fixtures for external services (Nova,\nCinder, Placementa and Data Source) and expanding test coverage\nfor additional API endpoints and workflows.\n\nThis patch also adds a job running functional tests with to the\ncheck and gate pipelines.\n\nImplements: blueprint functional-test-infrastructure\nAssisted-By: Claude\nChange-Id: Ia803161def119f3d0c93f6f59ab739e42549e485\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/e03a8afeea61046becebc9295b106c402844a4de"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/e03a8afeea61046becebc9295b106c402844a4de"}]},"branch":"refs/heads/master"},"16ad250b7560bc3ef9b52881c9e91305bf575c71":{"kind":"TRIVIAL_REBASE","_number":11,"created":"2026-07-31 10:42:26.000000000","uploader":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"real_uploader":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"ref":"refs/changes/89/988389/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/89/988389/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/89/988389/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/89/988389/11"}}},"commit":{"parents":[{"commit":"6dbf544a7dd740b8d4300a6221ec20e0a1fee33c","subject":"Fix race condition in DefaultLoader._reload_config()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/6dbf544a7dd740b8d4300a6221ec20e0a1fee33c"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2026-05-11 17:32:16.000000000","tz":120},"committer":{"name":"Joan Gilabert","email":"jgilaber@redhat.com","date":"2026-07-31 10:42:26.000000000","tz":0},"subject":"Add functional test framework for Watcher","message":"Add functional test framework for Watcher\n\nFunctional tests fill the gap between unit tests and Tempest by\nrunning real Watcher services (API, decision engine, applier)\ntogether in a single process with a real database and RPC, but\nwithout requiring external infrastructure like Nova or Keystone.\n\nThis patch introduces the functional test infrastructure and uses\ngabbi for declarative YAML-driven API testing. Gabbi tests define\nHTTP request chains in YAML with built-in polling, response\nchaining, and JSONPath assertions, making API workflow tests\nreadable and maintainable.\n\nIncluded gabbi tests cover:\n- Full audit lifecycle (create, execute, verify, delete)\n- Failure path with action execution errors\n- Skip-action feature with API microversion 1.5 gating\n\nNext steps include adding fixtures for external services (Nova,\nCinder, Placementa and Data Source) and expanding test coverage\nfor additional API endpoints and workflows.\n\nThis patch also adds a job running functional tests with to the\ncheck and gate pipelines.\n\nImplements: blueprint functional-test-infrastructure\nAssisted-By: Claude\nChange-Id: Ia803161def119f3d0c93f6f59ab739e42549e485\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/16ad250b7560bc3ef9b52881c9e91305bf575c71"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/16ad250b7560bc3ef9b52881c9e91305bf575c71"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"5d18cc58c88ab519bd780d6d99f784b95b74b356","ours":"e03a8afeea61046becebc9295b106c402844a4de","theirs":"6dbf544a7dd740b8d4300a6221ec20e0a1fee33c","merge_strategy":"recursive","contains_conflicts":false}}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","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":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Review-Priority","description":"Review Priority","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
