)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"e5852cfed7dd4172d699dcbf4d3c980ecd5c8182","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9b9dc7ce_f129eeca","updated":"2026-08-18 15:25:20.000000000","message":"Good catch. \n\n@dsanzmor@redhat.com Would it be doable to do availability_zones based tests on tempest as part of https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/995799 ?","commit_id":"11437fa0ab1de6dd55075d5cf9bac7f9159d74d4"}],"releasenotes/notes/bug-1988981-fix-audit-scope-azs-76a7f9bd5065a841.yaml":[{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"73ad64d22d51dac61e4d88676f9736e1004af256","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Compute scope ``availability_zones`` filtering now correctly limits"},{"line_number":5,"context_line":"    audits to the specified zones. Previously, nodes were not properly"},{"line_number":6,"context_line":"    matched, causing all nodes to be included or excluded unexpectedly."},{"line_number":7,"context_line":"    See: https://bugs.launchpad.net/watcher/+bug/1988981"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"85e79aaa_a4cca631","line":6,"updated":"2026-08-18 15:04:40.000000000","message":"The new release note claims the bug caused \u0027all nodes to be included or excluded unexpectedly\u0027. Repository evidence shows the pre-fix code could only cause exclusion: _collect_zones used allowed_nodes.extend(service.host) on a string (Service.host is str per nova_helper.py:333), so allowed_nodes held single characters. get_scoped_model then computes nodes_to_remove \u003d set(model_hosts) - set(allowed_nodes) (compute.py:226), which removes every compute node because no hostname equals a single character. There is no code path where the bug included all nodes.\n\n**Severity**: SUGGESTION | **Confidence**: 0.85\n\n**Impact**: Operators reading the release note get a misleading picture of the bug\u0027s user-visible symptom; the real symptom was that audits scoped by availability_zones matched no hosts and effectively audited an empty compute model.\n\n**Recommendation**:\nReword the second sentence, e.g.: \u0027Previously, hostnames were corrupted during scope computation, so audits scoped by availability zones matched no nodes and effectively audited an empty compute model.\u0027 Keep the Launchpad link.","commit_id":"11437fa0ab1de6dd55075d5cf9bac7f9159d74d4"}]}
