)]}'
{"id":"openstack%2Fwatcher~980299","triplet_id":"openstack%2Fwatcher~stable%2F2025.1~Icce725c05c48b83f7bc4c6d573d3fbe759f5866b","project":"openstack/watcher","branch":"stable/2025.1","attention_set":{"34452":{"account":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"last_update":"2026-03-12 16:10:38.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"Icce725c05c48b83f7bc4c6d573d3fbe759f5866b","subject":"Handle missing fields building storage model XML or list","status":"NEW","created":"2026-03-12 14:43:23.000000000","updated":"2026-03-12 19:16:45.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"d0fe2e8a66101a3a417631c460be81392e268a55","_number":980299,"virtual_id_number":980299,"owner":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-03-12 19:16:45.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":{"all":[{"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":[{"_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}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-12 16:10:38.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"}],"messages":[{"id":"a30d2f2a75c9e0779ece610deff03e8d4c8b2940","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:43:23.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"02e72f28caa17be4b630bdc3418f1bc7f1035642","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-12 16:10:38.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/9f7bb62b9de44857a6e82e1818355431\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ff57bcfad9844a5fa55b478f00b0088c : FAILURE in 3m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5f5f73e9b8b9401889af459eeb1a6162 : SUCCESS in 5m 51s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/02c7b3f2d6874819b267d5e7d80ac263 : FAILURE in 4m 39s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/96b58483a6764018bcc13b211608464f : FAILURE in 5m 09s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/354480ef3630413da015e21be591d1ca : SUCCESS in 8m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2f2ed7da242346d6953ca0cba4598f0c : SUCCESS in 4m 09s\n- watcher-tempest-api-jammy https://zuul.opendev.org/t/openstack/build/b286935de52749ab898a869904285306 : FAILURE in 33m 29s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/d0358b06e0ea4e6e91aff6bc9ca79bf6 : SUCCESS in 47m 41s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/6437bc1b09e44eb0a623d80421a3d225 : FAILURE in 1h 13m 15s\n- watcherclient-tempest-functional https://zuul.opendev.org/t/openstack/build/dad17391314a4e0db4fa934c4e68e8e5 : SUCCESS in 38m 22s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/14cbb8d0502348509846133bff3b14bf : SUCCESS in 52m 45s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/ea8a84f007f04179a218c96baa095169 : SUCCESS in 1h 21m 35s","accounts_in_message":[],"_revision_number":1},{"id":"ebef822aaf3195e6911d89d84f536679e062a625","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:13:05.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"acd4607e829d85d4e9166dbc79d1a42bd34dd870","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-12 17:48:17.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/15a13e8fda6a4d4fafb249c77ff8f573\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e81d308267094a108defcc51e7815bed : FAILURE in 6m 53s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cc953173b6244d0aa33fb1be6c7e5422 : SUCCESS in 3m 45s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/27598cfb06654c1692272539326cf358 : FAILURE in 3m 20s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/671b69f7c40d434e80c3253f4458c89f : FAILURE in 5m 21s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7a896f23ff9e4d6b91e5c2fd3448116f : SUCCESS in 8m 44s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1407b9974b184a5bb7521ca70cd60b2e : SUCCESS in 4m 18s\n- watcher-tempest-api-jammy https://zuul.opendev.org/t/openstack/build/80520c11f04546d3bd3dfd32c70f5ce8 : SUCCESS in 16m 56s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/89468a011573493db6294ea876800068 : SUCCESS in 36m 30s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/af699c308d6d4c7ca6a8aff2cc41d905 : SUCCESS in 1h 20m 05s\n- watcherclient-tempest-functional https://zuul.opendev.org/t/openstack/build/3e9ffc0c324146438a702e02545182fd : SUCCESS in 39m 16s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/2542173ba5894ee489d4ea1de22c5329 : SUCCESS in 36m 08s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/3e7b4a0994be47f99f173a2d8470b576 : SUCCESS in 1h 13m 47s","accounts_in_message":[],"_revision_number":2},{"id":"06e6fa6f8f6af6e6e9026a7f69d129ed19bcedaa","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-03-12 17:54:11.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"d0fe2e8a66101a3a417631c460be81392e268a55","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-12 19:16:45.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2c0b1886203a4bbaa0c1e6f266948b2c\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c5679832fa5b4278a4310567428e36aa : SUCCESS in 3m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7ea4ca8c527a48e8ae26846e61c7912c : SUCCESS in 4m 49s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/6c8f61472f6d4f339ba58cde58358774 : SUCCESS in 5m 00s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/ccf873914bc34294a1f5198dd0142382 : SUCCESS in 2m 50s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/10b9881f3e574ac09b471ab08191ce94 : SUCCESS in 8m 32s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9979eecafb1f48d9bf030efd033c67e8 : SUCCESS in 4m 05s\n- watcher-tempest-api-jammy https://zuul.opendev.org/t/openstack/build/1f409efc6a6345c58647885c2f2fc52e : SUCCESS in 31m 26s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/e6a7a59ac15841f4917c1a2d01645cb2 : SUCCESS in 20m 59s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/51cfd4ad1a754db49e1eb6c6570499ec : SUCCESS in 1h 07m 02s\n- watcherclient-tempest-functional https://zuul.opendev.org/t/openstack/build/c8cdb85e02d04410bb3a9112a1874d91 : SUCCESS in 42m 44s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/698d7af843b14b6990aace1804d17783 : SUCCESS in 37m 43s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/f69d15e7c33d48bf89fee5a3c5e73c34 : SUCCESS in 1h 16m 44s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"73260cd6b788bfb340175f1c3e8e7d918c17f7d6","revisions":{"930a3dab46c783c4b12800da9bce9e24e885ac1e":{"kind":"REWORK","_number":1,"created":"2026-03-12 14:43:23.000000000","uploader":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"ref":"refs/changes/99/980299/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/99/980299/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/99/980299/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/99/980299/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/99/980299/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/99/980299/1"}}},"commit":{"parents":[{"commit":"9b5babfbcbc66c6d9298d3c8ddaf8ea42576aaf1","subject":"[Stable-only][CI] Pin setuptools in docs job","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/9b5babfbcbc66c6d9298d3c8ddaf8ea42576aaf1"}]}],"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:43:17.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/930a3dab46c783c4b12800da9bce9e24e885ac1e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/930a3dab46c783c4b12800da9bce9e24e885ac1e"}]},"branch":"refs/heads/stable/2025.1"},"a8362c4bffa0bbfcb8e1aca848479ee12dafd4de":{"kind":"REWORK","_number":2,"created":"2026-03-12 16:13:05.000000000","uploader":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"ref":"refs/changes/99/980299/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/99/980299/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/99/980299/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/99/980299/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/99/980299/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/99/980299/2"}}},"commit":{"parents":[{"commit":"9b5babfbcbc66c6d9298d3c8ddaf8ea42576aaf1","subject":"[Stable-only][CI] Pin setuptools in docs job","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/9b5babfbcbc66c6d9298d3c8ddaf8ea42576aaf1"}]}],"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:13: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/a8362c4bffa0bbfcb8e1aca848479ee12dafd4de"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/a8362c4bffa0bbfcb8e1aca848479ee12dafd4de"}]},"branch":"refs/heads/stable/2025.1"},"73260cd6b788bfb340175f1c3e8e7d918c17f7d6":{"kind":"REWORK","_number":3,"created":"2026-03-12 17:54:11.000000000","uploader":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"ref":"refs/changes/99/980299/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/99/980299/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/99/980299/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/99/980299/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/99/980299/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/99/980299/3"}}},"commit":{"parents":[{"commit":"9b5babfbcbc66c6d9298d3c8ddaf8ea42576aaf1","subject":"[Stable-only][CI] Pin setuptools in docs job","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/9b5babfbcbc66c6d9298d3c8ddaf8ea42576aaf1"}]}],"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 17:54:04.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/73260cd6b788bfb340175f1c3e8e7d918c17f7d6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/73260cd6b788bfb340175f1c3e8e7d918c17f7d6"}]},"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"},{"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":""}}}]}
