)]}'
{"id":"openstack%2Faodh~1007951","triplet_id":"openstack%2Faodh~master~I85a9d66902f3486d65c30d525624c714df720c23","project":"openstack/aodh","branch":"master","topic":"bug/composite-prometheus-scope","attention_set":{"9816":{"account":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"last_update":"2026-10-05 19:42:30.000000000","reason":"Vote got outdated and was removed: Code-Review-1"},"34975":{"account":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"last_update":"2026-10-05 19:42:30.000000000","reason":"Vote got outdated and was removed: Code-Review+1"}},"removed_from_attention_set":{"37278":{"account":{"_account_id":37278,"name":"Mateus Nascimento","display_name":"Mateus Nascimento","email":"Mateus.SoaresdoNascimento@windriver.com","username":"msoaresd"},"last_update":"2026-10-05 19:47:23.000000000","reason":"\u003cGERRIT_ACCOUNT_37278\u003e replied on the change","reason_account":{"_account_id":37278,"name":"Mateus Nascimento","display_name":"Mateus Nascimento","email":"Mateus.SoaresdoNascimento@windriver.com","username":"msoaresd"}}},"hashtags":[],"change_id":"I85a9d66902f3486d65c30d525624c714df720c23","subject":"Fix composite alarms with prometheus sub-rules","status":"NEW","created":"2026-09-29 19:47:53.000000000","updated":"2026-10-05 21:01:47.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":6,"unresolved_comment_count":3,"has_review_started":true,"meta_rev_id":"70226dc4270d9ffe6232c5194731740ade23d2cb","_number":1007951,"virtual_id_number":1007951,"owner":{"_account_id":37278,"name":"Mateus Nascimento","display_name":"Mateus Nascimento","email":"Mateus.SoaresdoNascimento@windriver.com","username":"msoaresd"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-10-05 21:01:47.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"}],"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":{"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"}],"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":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-29 21:22:09.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-10-05 09:21:08.000000000","updated_by":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"reviewer":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"state":"REVIEWER"},{"updated":"2026-10-05 14:24:40.000000000","updated_by":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"reviewer":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"state":"REVIEWER"}],"messages":[{"id":"29cac79c98219a9c960c4f8712f176c42c07a582","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":37278,"name":"Mateus Nascimento","display_name":"Mateus Nascimento","email":"Mateus.SoaresdoNascimento@windriver.com","username":"msoaresd"},"date":"2026-09-29 19:47:53.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"588f2385d8aacf303d5f22436ec462c2eeedbc29","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-29 21:22:09.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1c3bc24d01f44db7b4a1bc25a6df1995\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6d8e8c16cc2e421ab6a0e824b44263f7 : SUCCESS in 5m 50s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b39bbe3ff4684f2b94dde5388da063a4 : SUCCESS in 4m 53s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/70e197e33829442a89056000764d5775 : SUCCESS in 7m 06s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/aa83d218a00d46f09c2a10ebaa0c0f56 : SUCCESS in 8m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/db6c69e6a269447aa2ccf0bf2c4cc994 : SUCCESS in 4m 05s\n- grenade-aodh https://zuul.opendev.org/t/openstack/build/e0081f577ab84ce69ded3e1d71897c29 : SUCCESS in 1h 27m 36s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/a4c7694fb1df45a8b21fcdf5179f4b8b : SUCCESS in 51m 00s\n- telemetry-dsvm-integration-aetos https://zuul.opendev.org/t/openstack/build/b6ed9f5386db49449df629c02a704a21 : SUCCESS in 49m 34s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/12678ecd82594c2680488e8205242824 : SUCCESS in 33m 32s\n- telemetry-dsvm-integration-aetos-ipv6-only https://zuul.opendev.org/t/openstack/build/ffba684b357c4c6186fb782d7e495184 : SUCCESS in 36m 43s","accounts_in_message":[],"_revision_number":1},{"id":"9a88e315b0ebe59a83711a30fc5a7753458e9a88","author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"date":"2026-10-05 09:21:08.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"dc861603b8c24982b02de9cc1651add6ea1a9f43","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2026-10-05 14:24:40.000000000","message":"Patch Set 1: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"f4bab44be2a3f3b71a0c0e981661871ebe3571a9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":37278,"name":"Mateus Nascimento","display_name":"Mateus Nascimento","email":"Mateus.SoaresdoNascimento@windriver.com","username":"msoaresd"},"date":"2026-10-05 19:42:30.000000000","message":"Uploaded patch set 2.\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":2},{"id":"dc45038ffd72908ea8e06837c143a9c85a06b822","author":{"_account_id":37278,"name":"Mateus Nascimento","display_name":"Mateus Nascimento","email":"Mateus.SoaresdoNascimento@windriver.com","username":"msoaresd"},"date":"2026-10-05 19:47:23.000000000","message":"Patch Set 2:\n\n(3 comments)","accounts_in_message":[],"_revision_number":2},{"id":"70226dc4270d9ffe6232c5194731740ade23d2cb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-05 21:01:47.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6cef0b121bf446dfa6c97145e0085a43\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ecf290aad94e4da4985b8eddcf1a5f05 : SUCCESS in 3m 36s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/bca203e995794c23a133d60305cf689a : SUCCESS in 3m 46s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ec0d10e8a2f24ccdadb16cea27fd5c42 : SUCCESS in 9m 32s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8a389cbf2ef047299cb1be358cc7d090 : SUCCESS in 8m 42s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/04ffa4bf3c3e4cf2adf0e298eb284bc8 : SUCCESS in 6m 41s\n- grenade-aodh https://zuul.opendev.org/t/openstack/build/31c3e3ba1dfe40dbb3a7fc51a8ce8efb : SUCCESS in 1h 07m 36s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/5e723114465e4d72bcd93d4b3b8fb34f : SUCCESS in 51m 57s\n- telemetry-dsvm-integration-aetos https://zuul.opendev.org/t/openstack/build/44ef0c2db6ad49a382140ddb6bede216 : SUCCESS in 1h 04m 46s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/1926b7b3dc1041cb961a453d08a34406 : SUCCESS in 53m 03s\n- telemetry-dsvm-integration-aetos-ipv6-only https://zuul.opendev.org/t/openstack/build/c9355152f55348a488402ee646fbf8a2 : SUCCESS in 28m 10s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"7e716e2755a4f58743be4e193cc1f97513839a47","revisions":{"720d814b8e16083ec5e50b987dc7dadaefb7065f":{"kind":"REWORK","_number":1,"created":"2026-09-29 19:47:53.000000000","uploader":{"_account_id":37278,"name":"Mateus Nascimento","display_name":"Mateus Nascimento","email":"Mateus.SoaresdoNascimento@windriver.com","username":"msoaresd"},"ref":"refs/changes/51/1007951/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/aodh","ref":"refs/changes/51/1007951/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/aodh refs/changes/51/1007951/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/aodh refs/changes/51/1007951/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/aodh refs/changes/51/1007951/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/aodh refs/changes/51/1007951/1"}}},"commit":{"parents":[{"commit":"f1eb0b027ccc67d8533ddd39e5cfdee173ab3ccd","subject":"Imported Translations from Zanata","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/aodh/commit/f1eb0b027ccc67d8533ddd39e5cfdee173ab3ccd"}]}],"author":{"name":"Mateus Nascimento","email":"mateus.soaresdonascimento@windriver.com","date":"2026-09-29 19:45:22.000000000","tz":-180},"committer":{"name":"Mateus Nascimento","email":"mateus.soaresdonascimento@windriver.com","date":"2026-09-29 19:47:51.000000000","tz":-180},"subject":"Fix composite alarms with prometheus sub-rules","message":"Fix composite alarms with prometheus sub-rules\n\nPrometheusRule.validate_alarm() stored the project scope on the\nPrometheusRule class instead of on the rule being validated. Once an API\nworker had created or updated a prometheus alarm, as_dict() of every\nlater PrometheusRule in that worker included scope_to_project. The\ncomposite rule validation, which runs twice per request, then rejected\ncomposite alarms with a prometheus sub-rule with \"Unknown attribute for\nargument data: scope_to_project\".\n\nKeep the scope on the rule, leave scope_to_project out of the WSME check\nof composite sub-rules, and set it on the prometheus sub-rules of a\ncomposite alarm the same way as for a prometheus alarm.\n\nAdd functional tests for composite alarms with prometheus sub-rules,\nincluding one created after a prometheus alarm and one stored without\na scope and then updated.\n\nCloses-Bug: #2168896\n\nChange-Id: I85a9d66902f3486d65c30d525624c714df720c23\nSigned-off-by: Mateus Nascimento \u003cmateus.soaresdonascimento@windriver.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/aodh/commit/720d814b8e16083ec5e50b987dc7dadaefb7065f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/aodh/commit/720d814b8e16083ec5e50b987dc7dadaefb7065f"}]},"branch":"refs/heads/master"},"7e716e2755a4f58743be4e193cc1f97513839a47":{"kind":"REWORK","_number":2,"created":"2026-10-05 19:42:30.000000000","uploader":{"_account_id":37278,"name":"Mateus Nascimento","display_name":"Mateus Nascimento","email":"Mateus.SoaresdoNascimento@windriver.com","username":"msoaresd"},"ref":"refs/changes/51/1007951/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/aodh","ref":"refs/changes/51/1007951/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/aodh refs/changes/51/1007951/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/aodh refs/changes/51/1007951/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/aodh refs/changes/51/1007951/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/aodh refs/changes/51/1007951/2"}}},"commit":{"parents":[{"commit":"f1eb0b027ccc67d8533ddd39e5cfdee173ab3ccd","subject":"Imported Translations from Zanata","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/aodh/commit/f1eb0b027ccc67d8533ddd39e5cfdee173ab3ccd"}]}],"author":{"name":"Mateus Nascimento","email":"mateus.soaresdonascimento@windriver.com","date":"2026-09-29 19:45:22.000000000","tz":-180},"committer":{"name":"Mateus Nascimento","email":"mateus.soaresdonascimento@windriver.com","date":"2026-10-05 19:41:54.000000000","tz":-180},"subject":"Fix composite alarms with prometheus sub-rules","message":"Fix composite alarms with prometheus sub-rules\n\nPrometheusRule.validate_alarm() stored the project scope on the\nPrometheusRule class instead of on the rule being validated. Once an API\nworker had created or updated a prometheus alarm, as_dict() of every\nlater PrometheusRule in that worker included scope_to_project. The\ncomposite rule validation, which runs twice per request, then rejected\ncomposite alarms with a prometheus sub-rule with \"Unknown attribute for\nargument data: scope_to_project\".\n\nKeep the scope on the rule, leave scope_to_project out of the WSME check\nof composite sub-rules, and set it on the prometheus sub-rules of a\ncomposite alarm the same way as for a prometheus alarm.\n\nAdd functional tests for composite alarms with prometheus sub-rules,\nincluding one created after a prometheus alarm and one stored without\na scope and then updated.\n\nCloses-Bug: #2168896\n\nChange-Id: I85a9d66902f3486d65c30d525624c714df720c23\nSigned-off-by: Mateus Nascimento \u003cmateus.soaresdonascimento@windriver.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/aodh/commit/7e716e2755a4f58743be4e193cc1f97513839a47"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/aodh/commit/7e716e2755a4f58743be4e193cc1f97513839a47"}]},"branch":"refs/heads/master"}},"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"},{"label":"Workflow","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":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"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":""}}}]}
