)]}'
{".zuul.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":"82e01a8250eca0e9ed77cf0fea0ed97244dce829","unresolved":false,"context_lines":[{"line_number":33,"context_line":"          - compute1"},{"line_number":34,"context_line":"          - compute2"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- nodeset:"},{"line_number":37,"context_line":"    name: openstack-two-plus-one-node-noble"},{"line_number":38,"context_line":"    nodes:"},{"line_number":39,"context_line":"      - name: controller"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"e71f6b69_b2c68be2","line":36,"updated":"2026-07-02 10:33:03.000000000","message":"New nodeset openstack-two-plus-one-node-noble is a near-exact duplicate of the existing openstack-three-node-noble (same three node names, labels, and group layout); the only material difference is that the controller is added to the compute group. Both blocks are maintained side by side.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Two large YAML blocks must be kept in sync by hand for future label/group changes (e.g. distro bumps from noble). Divergence over time is likely and hard to spot in review, and the intent (controller-in-compute vs controller-not-in-compute) is not self-documenting from the duplicated text.\n\n**Suggestion**:\nReduce duplication: either factor the common node/group definitions with a YAML anchor shared between the two nodesets (and override only the compute group membership), or add a short comment on each nodeset stating how it differs from the other. If anchors are impractical here, at minimum leave a \u0027differs from openstack-three-node-noble only in the compute group\u0027 comment at the top of the new nodeset.","commit_id":"a1da0e652703a8ee9204b6b984e3a9689abe23c4"},{"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":"82e01a8250eca0e9ed77cf0fea0ed97244dce829","unresolved":false,"context_lines":[{"line_number":68,"context_line":"          - compute1"},{"line_number":69,"context_line":"          - compute2"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"- job:"},{"line_number":72,"context_line":"    name: watcher-tempest-gnocchi"},{"line_number":73,"context_line":"    parent: watcher-tempest-base-two-plus-one-node"},{"line_number":74,"context_line":"    description: |"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"2dbd41ac_240795c3","line":71,"updated":"2026-07-02 10:33:03.000000000","message":"Commit subject is prefixed [DNM] (Do Not Merge), signalling this patch is experimental and not intended to merge as-is. The CI graph changes (rename + repoint) are therefore expected to be transient.\n\n**Severity**: SUGGESTION | **Confidence**: 0.9\n\n**Benefit**: Keeps reviewers and Zuul bots from treating the job rename as a permanent API change; makes the experimental intent explicit in the review record.\n\n**Recommendation**:\nBefore converting this to a non-DNM patch, drop the [DNM] prefix and restate in the commit message whether the watcher-tempest-base-two-node -\u003e watcher-tempest-base-two-plus-one-node rename is intended to be permanent, or whether the old name should be preserved.","commit_id":"a1da0e652703a8ee9204b6b984e3a9689abe23c4"},{"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":"16754e0f20b393a89ec07f5da9eb5c474d7a2610","unresolved":false,"context_lines":[{"line_number":33,"context_line":"          - compute1"},{"line_number":34,"context_line":"          - compute2"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- nodeset:"},{"line_number":37,"context_line":"    name: openstack-two-plus-one-node-noble"},{"line_number":38,"context_line":"    nodes:"},{"line_number":39,"context_line":"      - name: controller"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"54f220aa_3b149efc","line":36,"updated":"2026-07-02 11:23:02.000000000","message":"New nodeset openstack-two-plus-one-node-noble is byte-for-byte identical to the pre-existing openstack-three-node-noble (same 3 nodes, same 5 groups, identical membership) except for the name field. Two ~30-line copies now coexist.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: Any future edit to one block (a group, a label, an ubuntu-series bump) will not propagate to the other, silently causing divergence between jobs intended to be topologically equivalent. Zuul nodesets are separate top-level documents and cannot be YAML-anchored, so no tooling catches the drift.\n\n**Suggestion**:\nPrefer reuse: point the renamed base job at the existing openstack-three-node-noble and delete the duplicate block (the injected-metrics vs realdata difference already lives in job-level devstack_services, not the nodeset). If the two are genuinely meant to diverge later, keep both but add a comment at each block stating the intended difference so edits are deliberate.","commit_id":"a611fec4330af2d1746491433fcb35d114412094"},{"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":"16754e0f20b393a89ec07f5da9eb5c474d7a2610","unresolved":false,"context_lines":[{"line_number":34,"context_line":"          - compute2"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- nodeset:"},{"line_number":37,"context_line":"    name: openstack-two-plus-one-node-noble"},{"line_number":38,"context_line":"    nodes:"},{"line_number":39,"context_line":"      - name: controller"},{"line_number":40,"context_line":"        label: ubuntu-noble"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"6c2fd510_cf4f8f91","line":37,"updated":"2026-07-02 11:23:02.000000000","message":"The name openstack-two-plus-one-node-noble (and job watcher-tempest-base-two-plus-one-node) implies a 2+1/HA shape, but the nodeset is controller + compute1 + compute2, topologically identical to openstack-three-node-noble. The name does not describe the actual layout.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Avoids a false mental model: contributors reading \u0027two-plus-one\u0027 will expect a topology that does not exist, slowing future debugging and onboarding.\n\n**Recommendation**:\nCollapse to the existing three-node naming (preferred if you reuse the nodeset per the duplication warning), or pick a name reflecting the real shape and express the scope-tests behavioral difference in the job name rather than the nodeset name.","commit_id":"a611fec4330af2d1746491433fcb35d114412094"},{"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":"16754e0f20b393a89ec07f5da9eb5c474d7a2610","unresolved":false,"context_lines":[{"line_number":187,"context_line":"              run_zone_migration_storage_tests: true"},{"line_number":188,"context_line":"              run_bfv_tests: true"},{"line_number":189,"context_line":"              run_skipped_action_tests: true"},{"line_number":190,"context_line":"              run_scope_tests: true"},{"line_number":191,"context_line":"      # tempest variables"},{"line_number":192,"context_line":"      tempest_test_regex: watcher_tempest_plugin.tests\\.(api|scenario)"},{"line_number":193,"context_line":"      # excluding tests with tag \"real_load\""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"81d2b529_054da519","line":190,"updated":"2026-07-02 11:23:02.000000000","message":"run_scope_tests: true is added to the abstract base job, so every non-realdata multinode job now runs scope tests in check/gate. The realdata jobs also inherit it but it is inert there because their tempest_test_regex restricts execution to real_load-tagged tests.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Confirms the intended inheritance before the change stops being [DNM]; surfaces any flaky or environment-sensitive scope test across all multinode jobs at once, rather than after merge.\n\n**Recommendation**:\nConfirm scope tests are green on all inheriting jobs in this [DNM] run. If only some jobs should run them, push the flag down to those child jobs; if all should, the current placement alongside the sibling run_*_tests flags is correct and can stay.","commit_id":"a611fec4330af2d1746491433fcb35d114412094"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"aa1d246bf6966f873f47025981973e357926b685","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6ff45a05_dc657469","updated":"2026-07-02 10:23:30.000000000","message":"Nodeset required by audit_scope tests","commit_id":"a1da0e652703a8ee9204b6b984e3a9689abe23c4"}]}
