)]}'
{"id":"openstack%2Fwatcher~980298","triplet_id":"openstack%2Fwatcher~stable%2F2025.2~Icce725c05c48b83f7bc4c6d573d3fbe759f5866b","project":"openstack/watcher","branch":"stable/2025.2","attention_set":{},"removed_from_attention_set":{"34452":{"account":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"last_update":"2026-06-18 13:58:27.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Icce725c05c48b83f7bc4c6d573d3fbe759f5866b","subject":"Handle missing fields building storage model XML or list","status":"MERGED","created":"2026-03-12 14:42:57.000000000","updated":"2026-06-18 14:01:08.000000000","submitted":"2026-06-18 13:58:27.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"980298","meta_rev_id":"4c697222f9b55efc3cff8bef3d63251d5102e15c","_number":980298,"virtual_id_number":980298,"owner":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-06-18 13:58:27.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"all":[{"value":2,"date":"2026-06-18 12:18:12.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":2,"date":"2026-04-30 13:06:54.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"all":[{"value":1,"date":"2026-06-18 12:18:12.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Standard Change","+1":"Important Change","+2":"High Priority Change"},"default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-12 16:06:43.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-04-30 13:06:54.000000000","updated_by":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"reviewer":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"state":"REVIEWER"},{"updated":"2026-06-18 12:18:12.000000000","updated_by":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"reviewer":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"state":"REVIEWER"}],"messages":[{"id":"da808ef0b0aec9a5d89168ac8a1a27a3682b063f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-03-12 14:42:57.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"71b5ccf0b7a3348d2aafe6cad5e567c09592b544","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-12 16:06:43.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/2275e62a2e514fb5b427e905f7530f95\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/183cb1c5b6204de2b9d59c261170b8b6 : FAILURE in 5m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/54a247c75e7d43b29eafe97531db00e5 : SUCCESS in 6m 09s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/d56d9c7b308c41b9a88f1a4ebafaab69 : FAILURE in 3m 45s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/cc96a893e14f483fa75db02d6c82d628 : FAILURE in 4m 15s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/bf720c8f5b0e4585aa7c7bd077060d1a : FAILURE in 8m 49s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/17bc41f1190c45378a8cfec6673e75c5 : SUCCESS in 5m 36s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b12d3cd0b98e4b53a6bca431db895a62 : SUCCESS in 4m 20s\n- openstack-tox-py312-threading https://zuul.opendev.org/t/openstack/build/f7849a8750e341309a17476d50266c17 : FAILURE in 5m 45s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/23f6d2a4aaa849ccb87ee7c5b6c8984e : SUCCESS in 22m 44s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/c54f0e8d1b514612ac39ebfb4caedb0e : SUCCESS in 16m 31s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/a9ca20f149ed48cb934ad008e4f4ec01 : SUCCESS in 56m 11s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/4e154c245be64b4f9cb832a3d61b9a46 : SUCCESS in 1h 18m 05s\n- watcher-tempest-prometheus-threading https://zuul.opendev.org/t/openstack/build/26b5d2cbb5db4b0a99289e49e26a3783 : SUCCESS in 1h 18m 23s\n- watcher-tempest-aetos https://zuul.opendev.org/t/openstack/build/84c6a1e4a64448a1a5249be13fb3f552 : SUCCESS in 46m 44s","accounts_in_message":[],"_revision_number":1},{"id":"8809ecb5ebb4c2c05a71ec0cdad71ec74adc8e61","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-03-12 16:12:27.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"309a80c769f63ebaa3d0d21e92cad6dd0d685a01","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-12 17:56:29.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/33ded228936c47bb90b6a9b8f7c48282\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/1374cbea5c35489695ca47c937be6ba8 : SUCCESS in 6m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0cffa8d6f03b48feb377e11efa0863b5 : SUCCESS in 5m 01s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/8265ccd68c644a62a0630ae92bc626a7 : SUCCESS in 5m 57s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/6a8801f0b30d40c0b82c09c7e37b716f : SUCCESS in 5m 57s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/86054c08a53b406a9f25809e351c2f82 : SUCCESS in 8m 57s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/eb37d79399a941cda8f23878c26766ff : SUCCESS in 5m 29s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/97a5591650a14268a7694dcdd43cbfa5 : SUCCESS in 5m 12s\n- openstack-tox-py312-threading https://zuul.opendev.org/t/openstack/build/a08b6d08495c47a0b6d053b1d4f25765 : SUCCESS in 6m 07s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/474ae8e914bb467089e8c15d426c7cb4 : SUCCESS in 37m 38s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/81691de827fb44beba55fff14ef696ab : SUCCESS in 19m 05s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/d5273adedd024755ba6e1e77b17b8007 : SUCCESS in 1h 18m 40s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/43b092424326439a9db64fee5ef0c9eb : SUCCESS in 1h 01m 57s\n- watcher-tempest-prometheus-threading https://zuul.opendev.org/t/openstack/build/b3e3b9e4225649e881e499944dec8716 : SUCCESS in 1h 22m 19s\n- watcher-tempest-aetos https://zuul.opendev.org/t/openstack/build/4747998a824943b596f6c76a2f666d5c : SUCCESS in 47m 38s","accounts_in_message":[],"_revision_number":2},{"id":"1871627863f46deb88a292d928281fce8494f18f","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-04-30 13:06:54.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"5523ffe19dc4ab3e47d19ca05ceda5ffee415786","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-06-18 12:18:12.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"f1e29946f2e1623bb64d5de75f43b4e9d5170ecc","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-18 12:19:05.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"670b58ec3aa59c9e2f59ab25e0a56cad2c6354b8","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-18 13:58:27.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/61e1abf1217c4d7996e0f3b1c355b9ec\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e5c2102020dd42eda0e23a8b5cd0526f : SUCCESS in 2m 39s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/883c94abe6174a6ca151d7dcc444bada : SUCCESS in 5m 49s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/c8a91f144d9e4909accbb70e91ce4b83 : SUCCESS in 4m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c4146bd4832140f8bf916e38c8a49884 : SUCCESS in 9m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1bdeb3076b0947a592ef314d0e37b115 : SUCCESS in 4m 33s\n- openstack-tox-py312-threading https://zuul.opendev.org/t/openstack/build/125233601da048009393ac483c153bb7 : SUCCESS in 5m 16s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/9292c9eac2cc4d3f9a81320b03f3e9bd : SUCCESS in 48m 55s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/555c3a27d009446299a4e20a6be2f0b9 : SUCCESS in 37m 00s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/84dc7b6d43f4473fad175aa1895fc0f4 : SUCCESS in 1h 13m 51s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/4d9d4c9272f046d69e3c165a37a8d4ee : SUCCESS in 1h 20m 46s\n- watcher-tempest-prometheus-threading https://zuul.opendev.org/t/openstack/build/2e01324f0d854c89a135579d49dcbf6a : SUCCESS in 1h 20m 54s\n- watcher-tempest-aetos https://zuul.opendev.org/t/openstack/build/50d5100fbd9b4aa2ad88335469d88292 : SUCCESS in 46m 30s","accounts_in_message":[],"_revision_number":2},{"id":"1baadd17dc4bee5fb25ab42dc4f3609b55fd030c","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-18 13:58:27.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"4c697222f9b55efc3cff8bef3d63251d5102e15c","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-18 14:01:08.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/80208d0886f74b289fef179bed932f38\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1c4728922e004408ba409902cdcefa17 : SUCCESS in 1m 15s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5769995a6b4e462aa7451ea08c53453d : SUCCESS in 55s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"df5f914097c8b245f6ba5900e85c4ee6a72d0523","revisions":{"3a74204f57702f496cc3046ce0f028572cd363ae":{"kind":"REWORK","_number":1,"created":"2026-03-12 14:42:57.000000000","uploader":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"ref":"refs/changes/98/980298/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/98/980298/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/98/980298/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/98/980298/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/98/980298/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/98/980298/1"}}},"commit":{"parents":[{"commit":"398f603b61f10568c4e432cb46c66d3ebbd42b9a","subject":"Merge \"Fix zone migration to accept dst_pool or dst_type\" into stable/2025.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/398f603b61f10568c4e432cb46c66d3ebbd42b9a"}]}],"author":{"name":"jgilaber","email":"jgilaber@redhat.com","date":"2025-09-09 13:40:39.000000000","tz":120},"committer":{"name":"jgilaber","email":"jgilaber@redhat.com","date":"2026-03-12 14:42:00.000000000","tz":60},"subject":"Handle missing fields building storage model XML or list","message":"Handle missing fields building storage model XML or list\n\nWhen generating XML or list representations of the storage model, Watcher\nassumed that certain fields will always be present. Some fields,\nlike \u0027total_volumes\u0027, are reported by the LVM driver but not by\nothers such as the NFS driver, logging NotImplementedError exceptions\nthat do not prevent the model being built but can be confusing for the user.\n\nAdd specific exception handling for NotImplementedError in the\nas_xml_element() method and to_list(), allowing the code to gracefully\nskip missing fields and continue processing. When an optional field is not\navailable, a debug message is logged indicating which attribute is\nmissing.\n\nThis approach aligns with the existing error handling in the Cinder\ncollector[1] and ensures that audits can complete\nsuccessfully regardless of which storage backend is in use.\n\nAs a follow-up, we can remove fields in the Pool model[2] which are\nmarked as optional in Cinder\u0027s volume driver interface[3] and may not be\navailable from all drivers:\n\n- total_volumes: Number of volumes in the pool\n- free_capacity_gb: Free capacity in GB\n- provisioned_capacity_gb: Provisioned capacity in GB\n- allocated_capacity_gb: Allocated capacity in GB\n\n[1] https://github.com/openstack/watcher/blob/master/watcher/decision_engine/model/collector/cinder.py#L250\n[2] https://github.com/openstack/watcher/blob/master/watcher/decision_engine/model/element/node.py#L87-L93\n[3] https://github.com/openstack/cinder/blob/master/cinder/interface/volume_driver.py#L78\n\nCloses-Bug: #2121147\n\nChange-Id: Icce725c05c48b83f7bc4c6d573d3fbe759f5866b\nSigned-off-by: jgilaber \u003cjgilaber@redhat.com\u003e\n(cherry picked from commit 7e7a31a1f765a84ccb810f0d359ad1d964c17e27)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/3a74204f57702f496cc3046ce0f028572cd363ae"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/3a74204f57702f496cc3046ce0f028572cd363ae"}]},"branch":"refs/heads/stable/2025.2"},"df5f914097c8b245f6ba5900e85c4ee6a72d0523":{"kind":"REWORK","_number":2,"created":"2026-03-12 16:12:27.000000000","uploader":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"ref":"refs/changes/98/980298/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/98/980298/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/98/980298/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/98/980298/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/98/980298/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/98/980298/2"}}},"commit":{"parents":[{"commit":"398f603b61f10568c4e432cb46c66d3ebbd42b9a","subject":"Merge \"Fix zone migration to accept dst_pool or dst_type\" into stable/2025.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/398f603b61f10568c4e432cb46c66d3ebbd42b9a"}]}],"author":{"name":"jgilaber","email":"jgilaber@redhat.com","date":"2025-09-09 13:40:39.000000000","tz":120},"committer":{"name":"jgilaber","email":"jgilaber@redhat.com","date":"2026-03-12 16:10:28.000000000","tz":60},"subject":"Handle missing fields building storage model XML or list","message":"Handle missing fields building storage model XML or list\n\nWhen generating XML or list representations of the storage model, Watcher\nassumed that certain fields will always be present. Some fields,\nlike \u0027total_volumes\u0027, are reported by the LVM driver but not by\nothers such as the NFS driver, logging NotImplementedError exceptions\nthat do not prevent the model being built but can be confusing for the user.\n\nAdd specific exception handling for NotImplementedError in the\nas_xml_element() method and to_list(), allowing the code to gracefully\nskip missing fields and continue processing. When an optional field is not\navailable, a debug message is logged indicating which attribute is\nmissing.\n\nThis approach aligns with the existing error handling in the Cinder\ncollector[1] and ensures that audits can complete\nsuccessfully regardless of which storage backend is in use.\n\nAs a follow-up, we can remove fields in the Pool model[2] which are\nmarked as optional in Cinder\u0027s volume driver interface[3] and may not be\navailable from all drivers:\n\n- total_volumes: Number of volumes in the pool\n- free_capacity_gb: Free capacity in GB\n- provisioned_capacity_gb: Provisioned capacity in GB\n- allocated_capacity_gb: Allocated capacity in GB\n\n[1] https://github.com/openstack/watcher/blob/master/watcher/decision_engine/model/collector/cinder.py#L250\n[2] https://github.com/openstack/watcher/blob/master/watcher/decision_engine/model/element/node.py#L87-L93\n[3] https://github.com/openstack/cinder/blob/master/cinder/interface/volume_driver.py#L78\n\nCloses-Bug: #2121147\n\nChange-Id: Icce725c05c48b83f7bc4c6d573d3fbe759f5866b\nSigned-off-by: jgilaber \u003cjgilaber@redhat.com\u003e\n(cherry picked from commit 7e7a31a1f765a84ccb810f0d359ad1d964c17e27)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/df5f914097c8b245f6ba5900e85c4ee6a72d0523"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/df5f914097c8b245f6ba5900e85c4ee6a72d0523"}]},"branch":"refs/heads/stable/2025.2"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"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":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
