)]}'
{"id":"openstack%2Fwatcher~963238","triplet_id":"openstack%2Fwatcher~stable%2F2025.1~I5fee783efb0e588235c75a395f39e4baedbc4e7a","project":"openstack/watcher","branch":"stable/2025.1","topic":"fix-cinder-notifications-stable/2025.2-stable/2025.1","attention_set":{"16312":{"account":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"last_update":"2025-10-07 08:04:20.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I5fee783efb0e588235c75a395f39e4baedbc4e7a","subject":"Ignore cinder notifications if the Storage model is empty","status":"NEW","created":"2025-10-07 07:00:12.000000000","updated":"2026-01-21 12:45:41.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"cherry_pick_of_change":963237,"cherry_pick_of_patch_set":1,"meta_rev_id":"8f9a243be81878962082b4b1014425263df473f3","_number":963238,"virtual_id_number":963238,"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":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-01-21 12:45:41.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":{"recommended":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"all":[{"value":1,"date":"2026-01-21 11:28:24.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":-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":"","value":1,"default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"_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":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"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"},"default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-10-07 08:04:20.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-01-21 11:28:24.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":"aadb67a6e4eb44dc8e0ebe499434ce16bec68366","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2025-10-07 07:00:12.000000000","message":"Patch Set 1: Cherry Picked from branch stable/2025.2.","accounts_in_message":[],"_revision_number":1},{"id":"2d6bd7f87e55945fb17a5c4309e86836065faf9c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-07 08:04:20.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/f1d7e3879afc42d0a9210681785fd163\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/285d25d8150e480e80e3f1ce842f3d56 : SUCCESS in 4m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e496c459d8a44d9883972b0cf2649222 : SUCCESS in 3m 48s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/0c16302e2e76424483a5aafa856565b4 : SUCCESS in 4m 10s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/6b5d1e13afbb4309a4cbcd4583d04559 : SUCCESS in 5m 26s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/dfa0e27bc0df4235bd0dbf9e6cc3568b : SUCCESS in 5m 19s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/8891c005610b4cd28cd56dbd72c8cd34 : SUCCESS in 19m 54s\n- watcher-tempest-functional-jammy https://zuul.opendev.org/t/openstack/build/5fa16f330d3e436eabd41431c6306f96 : SUCCESS in 18m 38s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/e44e5a0c2e7c40dc8c0c56722a617915 : SUCCESS in 42m 54s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/ccaced8005cb476095ace7b4ef3f64c3 : FAILURE in 49m 28s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/6bb77166e944438bb46902a3178a71b8 : SUCCESS in 50m 42s\n- watcherclient-tempest-functional https://zuul.opendev.org/t/openstack/build/fccff78fe37348eda205a4483b1afd19 : SUCCESS in 14m 22s\n- watcher-tempest-functional-ipv6-only https://zuul.opendev.org/t/openstack/build/ce6699f9c88d4a01b252ace348819700 : SUCCESS in 14m 20s\n- watcher-prometheus-integration https://zuul.opendev.org/t/openstack/build/9dc5ac7acc9b4e33b39e71405d991e87 : FAILURE in 29m 50s","accounts_in_message":[],"_revision_number":1},{"id":"3d8c5fa79c29c558b38651e227ac8e6ca19bf4eb","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-01-21 11:28:24.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"28c1824d3ea4670ccad47223ca0bd65c6338b8a4","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-01-21 11:28:31.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"8f9a243be81878962082b4b1014425263df473f3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-21 12:45:41.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/56065d901c8943aaaac24fb22054d811\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f320081482d64538925359cab214dbf3 : SUCCESS in 5m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/88de43ca741b4d19a6518e149120ed5c : SUCCESS in 4m 01s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/b5d7a529115c45a5bb77d7b664f7e5c7 : SUCCESS in 4m 21s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/eea8972b9a194b80b67f0b0b9c68e958 : SUCCESS in 4m 45s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b8b8885b1d7b48358acd8208a105704b : SUCCESS in 8m 54s\n- watcher-tempest-api-jammy https://zuul.opendev.org/t/openstack/build/cdd90593f0e84c32a71f29ce3c461fe9 : SUCCESS in 31m 23s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/a64342b3ee494ef5904d4abea7987e58 : SUCCESS in 46m 18s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/d9cd68c0448d4fc6a51bb0220048cb98 : SUCCESS in 1h 10m 46s\n- watcherclient-tempest-functional https://zuul.opendev.org/t/openstack/build/d4e62851e9b2434eb60b3002535cd39f : SUCCESS in 40m 22s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/8531e4073c1746b3a9e6c8a6bf58e1b1 : SUCCESS in 34m 54s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/9aefc7d2812c45b599bf68d07b50394e : SUCCESS in 1h 10m 32s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"f2dd4e10df678567a0f47bafb35ca3e8ba692ee4","revisions":{"f2dd4e10df678567a0f47bafb35ca3e8ba692ee4":{"kind":"REWORK","_number":1,"created":"2025-10-07 07:00:12.000000000","uploader":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"ref":"refs/changes/38/963238/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/38/963238/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/38/963238/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/38/963238/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/38/963238/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/38/963238/1"}}},"commit":{"parents":[{"commit":"024815af711553739b4627cb520f66886060db3f","subject":"Merge \"use cinder migrate for swap volume\" into stable/2025.1","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/024815af711553739b4627cb520f66886060db3f"}]}],"author":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2025-08-14 14:53:44.000000000","tz":120},"committer":{"name":"Alfredo Moralejo","email":"amoralej@redhat.com","date":"2025-10-07 07:00:12.000000000","tz":0},"subject":"Ignore cinder notifications if the Storage model is empty","message":"Ignore cinder notifications if the Storage model is empty\n\nThe cinder collector has some logic to skip creating the model when\nthere are not audits which require the information. In this case,\nwhen processing cinder notifications as `volume.create.end` it fails\nbecause the model is empty.\n\nIn this case, the desired behavior is to just ignore the messages until\na first audit is executed and a model is created. Since then, we want to\nkeep the model updated when notifications are enabled.\n\nThis patch making the cinder notifications endpoints to ignore messages\nin that case. This is similar to the behavior of the nova endpoint [1].\n\n[1] https://opendev.org/openstack/watcher/src/commit/355671e9791d20acba21ef4af64d42c658e00276/watcher/decision_engine/model/notification/nova.py#L361-L363\n\nCloses-Bug: #2120620\nChange-Id: I5fee783efb0e588235c75a395f39e4baedbc4e7a\nSigned-off-by: Alfredo Moralejo \u003camoralej@redhat.com\u003e\n(cherry picked from commit 2901eaad25a4f4ac7565b06ae28fd7a0a44457bf)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/f2dd4e10df678567a0f47bafb35ca3e8ba692ee4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/f2dd4e10df678567a0f47bafb35ca3e8ba692ee4"}]},"branch":"refs/heads/stable/2025.1"}},"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":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}},{"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":"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":"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":""}}}]}
