)]}'
{".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"},{"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":"c864af14530f3d2386fc405d2e1a359a959433b8","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        /etc/hosts: logs"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"- job:"},{"line_number":135,"context_line":"    name: watcher-tempest-base-three-node"},{"line_number":136,"context_line":"    parent: watcher-tempest-base"},{"line_number":137,"context_line":"    nodeset: openstack-three-node-noble"},{"line_number":138,"context_line":"    abstract: true"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"6cb0c93f_cac4beca","line":135,"updated":"2026-07-06 10:42:25.000000000","message":"min_compute_nodes remains 2 after switching to a three-node nodeset. Defined in parent watcher-tempest-base (line 118) and inherited by all three-node jobs. tempest/watcher-tempest-plugin tests gating on CONF.compute.min_compute_nodes may skip or under-utilize the third compute node.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Scope tests this change exists to enable (2 source nodes + 1 destination) may still skip if they check min_compute_nodes, silently defeating the purpose of the nodeset upgrade.\n\n**Suggestion**:\nOverride min_compute_nodes to 3 in watcher-tempest-base-three-node\u0027s test-config (alongside the existing live_migration and run_* toggles) so the three-node topology is fully advertised to tempest.","commit_id":"b65fb80b5da62e131235998f7d35e2b984ad1a5b"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"f21f35dd85a881ba47e5ba58492e9248b58ffaa1","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        /etc/hosts: logs"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"- job:"},{"line_number":135,"context_line":"    name: watcher-tempest-base-three-node"},{"line_number":136,"context_line":"    parent: watcher-tempest-base"},{"line_number":137,"context_line":"    nodeset: openstack-three-node-noble"},{"line_number":138,"context_line":"    abstract: true"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"2ba40151_b2d1617f","line":135,"in_reply_to":"6cb0c93f_cac4beca","updated":"2026-07-06 12:48:05.000000000","message":"most of the tests only require 2 compute nodes. Only scope tests will require 3 coompute nodes, and that requirement is coded inside the specific set of tests for scope","commit_id":"b65fb80b5da62e131235998f7d35e2b984ad1a5b"},{"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":"c864af14530f3d2386fc405d2e1a359a959433b8","unresolved":false,"context_lines":[{"line_number":134,"context_line":"- job:"},{"line_number":135,"context_line":"    name: watcher-tempest-base-three-node"},{"line_number":136,"context_line":"    parent: watcher-tempest-base"},{"line_number":137,"context_line":"    nodeset: openstack-three-node-noble"},{"line_number":138,"context_line":"    abstract: true"},{"line_number":139,"context_line":"    description: |"},{"line_number":140,"context_line":"      Watcher multinode devstack tempest job base template."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"a1bd9ec6_c296b75e","line":137,"updated":"2026-07-06 10:42:25.000000000","message":"The nodeset: openstack-three-node-noble overrides in watcher-tempest-prometheus-realdata (line 303) and watcher-tempest-aetos-realdata (line 364) are now redundant since their ancestor watcher-tempest-base-three-node sets the same nodeset (this change, line 137).\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Removing the redundant overrides reduces maintenance burden and makes it clear the nodeset is inherited rather than specially chosen per-job, keeping the config DRY.\n\n**Recommendation**:\nRemove the explicit nodeset: openstack-three-node-noble lines from the two realdata jobs, or keep them deliberately if explicit per-job nodeset declaration is the preferred convention.","commit_id":"b65fb80b5da62e131235998f7d35e2b984ad1a5b"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"f21f35dd85a881ba47e5ba58492e9248b58ffaa1","unresolved":false,"context_lines":[{"line_number":134,"context_line":"- job:"},{"line_number":135,"context_line":"    name: watcher-tempest-base-three-node"},{"line_number":136,"context_line":"    parent: watcher-tempest-base"},{"line_number":137,"context_line":"    nodeset: openstack-three-node-noble"},{"line_number":138,"context_line":"    abstract: true"},{"line_number":139,"context_line":"    description: |"},{"line_number":140,"context_line":"      Watcher multinode devstack tempest job base template."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"f4331a24_de42be18","line":137,"in_reply_to":"a1bd9ec6_c296b75e","updated":"2026-07-06 12:48:05.000000000","message":"that is true, removed the override","commit_id":"b65fb80b5da62e131235998f7d35e2b984ad1a5b"}],"/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"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"626222f675ad8cf5def6b42c4058708d0a0fa1a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a9bddc86_b7baef12","updated":"2026-07-07 10:37:21.000000000","message":"recheck","commit_id":"68140367e191b7956dc26566b66053eaf828f571"}]}
