)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"ace809d22292e2a606a0210e564f4b8edf765219","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3e3c5a4f_e2a84ff4","updated":"2026-09-21 11:00:47.000000000","message":"lgtm, but I think we should change the removal target for noisy_neighbor to match when we\u0027ll actually proceed with the removal","commit_id":"76df67afa1232d6611612facad6fcf2618f38372"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e119d5ce707716985afdf6d7c7c79ede0f277d68","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"70295e69_7520ecff","updated":"2026-09-22 17:44:03.000000000","message":"I will keep W-1 until we discuss in Watcher meeting and sent an email to ML.","commit_id":"695bfe30d10f66f79269ee96cbc40353dc5f2add"}],"doc/source/strategies/index.rst":[{"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":"4b1ac0bcfc8303e4b136486fd52925114a443910","unresolved":false,"context_lines":[{"line_number":62,"context_line":"       * - :doc:`workload_balance`"},{"line_number":63,"context_line":"         - Supported"},{"line_number":64,"context_line":"         - Unit, Integration"},{"line_number":65,"context_line":"       * - :doc:`zone_migration`"},{"line_number":66,"context_line":"         - Supported"},{"line_number":67,"context_line":"         - Unit, Integration"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8156e756_e04a43ff","line":65,"updated":"2026-09-22 18:00:26.000000000","message":"The change promotes the zone_migration row of the strategies status matrix to a plain \u0027Supported\u0027 status and the commit message states the volume-migration split status \u0027is no longer the case\u0027 because volume migration is now tested. However, the strategy\u0027s own page (doc/source/strategies/zone_migration.rst:198-200) still tells users in its \u0027Support caveats\u0027 section: \u0027Currently, Instance migrations are ready for production use while Volume migrations remain experimental.\u0027 After this change the two operator-facing documents directly contradict each other: the matrix, now governed by an explicit legend that defines Supported as continuously verified, says the whole strategy is supported, while the strategy page says half of its functionality is experimental.\n\n**Severity**: WARNING | **Confidence**: 0.85\n\n**Impact**: Operators planning audits that rely on zone_migration volume migrations receive contradictory guidance: the status matrix and its new legend indicate the strategy is fully supported and CI-verified, while the strategy page classifies volume migrations as experimental. This undermines the stated goal of the change (making status labels verifiable against the tree) and can lead to wrong production expectations in either direction.\n\n**Suggestion**:\nIn the same change, update the \u0027Support caveats\u0027 section of doc/source/strategies/zone_migration.rst (lines 198-200) to drop or rewrite the sentence \u0027Instance migrations are ready for production use while Volume migrations remain experimental\u0027 so it agrees with the Supported status and \u0027Unit, Integration\u0027 testing now recorded in the matrix.","commit_id":"695bfe30d10f66f79269ee96cbc40353dc5f2add"}],"doc/source/strategies/noisy_neighbor.rst":[{"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":"667ee23c7cb358e8c16880df03b218bf3f2bbeae","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Noisy neighbor"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":".. deprecated:: 2025.2"},{"line_number":6,"context_line":"   This strategy is deprecated and will be removed in the 2026.2 release."},{"line_number":7,"context_line":"   It relies on Last Level Cache metrics that are no longer available in Nova."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"6e34b678_7c8bc5b0","line":5,"updated":"2026-09-18 19:25:13.000000000","message":"The new banner at doc/source/strategies/noisy_neighbor.rst:5-7 states the strategy \u0027will be removed in the 2026.2 release\u0027. In the prepared repository, tag 17.0.0.0rc1 (Watcher 17.0.0 \u003d OpenStack 2026.2 per releasenotes/notes/2026.2-prelude-f539788e6f02552d.yaml) was created 2026-09-08 and is an ancestor of reviewed HEAD 76df67af (2026-09-18). The NoisyNeighbor class is still present and this change does not remove it; after the rc1 cut, master targets the next release (2027.1, matching this change\u0027s own version\u003d\u00272027.1\u0027 decorators). The 2026.2 release contents are therefore frozen with the strategy still shipped.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Operators planning migration off the strategy are told removal happens in 2026.2, yet the 2026.2 release still ships it, and during 2026.2 its runtime deprecation warning says it will be removed in the very release being run. The contradiction directly undermines the change\u0027s stated purpose of making the documentation describe reality.\n\n**Suggestion**:\nUpdate the banner to the realistic removal release (2027.1) and align the pre-existing removal_version in noisy_neighbor.py in the same patch or a closely following one, or state an explicit deferral; do not ship a removal promise that the reviewed tree already cannot meet.","commit_id":"76df67afa1232d6611612facad6fcf2618f38372"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"ace809d22292e2a606a0210e564f4b8edf765219","unresolved":true,"context_lines":[{"line_number":2,"context_line":"Noisy neighbor"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":".. deprecated:: 2025.2"},{"line_number":6,"context_line":"   This strategy is deprecated and will be removed in the 2026.2 release."},{"line_number":7,"context_line":"   It relies on Last Level Cache metrics that are no longer available in Nova."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"c6f97731_d2647624","line":5,"in_reply_to":"6e34b678_7c8bc5b0","updated":"2026-09-21 11:00:47.000000000","message":"this seems valid, we missed this during 2026.2, we should updated the text to 2027.1 at least","commit_id":"76df67afa1232d6611612facad6fcf2618f38372"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"15592961df6269c56020262aee2319d0d8dcdb01","unresolved":true,"context_lines":[{"line_number":2,"context_line":"Noisy neighbor"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":".. deprecated:: 2025.2"},{"line_number":6,"context_line":"   This strategy is deprecated and will be removed in the 2026.2 release."},{"line_number":7,"context_line":"   It relies on Last Level Cache metrics that are no longer available in Nova."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"f69c25d1_bb54b8d6","line":5,"in_reply_to":"727253b1_8686afb8","updated":"2026-09-21 11:24:45.000000000","message":"either is fine, we could also set 2028.1 to match the other strategies","commit_id":"76df67afa1232d6611612facad6fcf2618f38372"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"6c75028dbcf5a6300ac38b4b8ac09b2283e026d6","unresolved":true,"context_lines":[{"line_number":2,"context_line":"Noisy neighbor"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":".. deprecated:: 2025.2"},{"line_number":6,"context_line":"   This strategy is deprecated and will be removed in the 2026.2 release."},{"line_number":7,"context_line":"   It relies on Last Level Cache metrics that are no longer available in Nova."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"727253b1_8686afb8","line":5,"in_reply_to":"c6f97731_d2647624","updated":"2026-09-21 11:12:33.000000000","message":"We still don\u0027t know when we are going to remove tbh, it will also require us to remove the Goal. So we can update that to 2027.1 or 2027.2, but I still thing that we are going to keep it for some time","commit_id":"76df67afa1232d6611612facad6fcf2618f38372"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e119d5ce707716985afdf6d7c7c79ede0f277d68","unresolved":true,"context_lines":[{"line_number":2,"context_line":"Noisy neighbor"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":".. deprecated:: 2025.2"},{"line_number":6,"context_line":"   This strategy is deprecated and will be removed in the 2026.2 release."},{"line_number":7,"context_line":"   It relies on Last Level Cache metrics that are no longer available in Nova."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"4f93f671_bead2c51","line":5,"in_reply_to":"f69c25d1_bb54b8d6","updated":"2026-09-22 17:44:03.000000000","message":"I moved all to 2027.2, since 2027.1 is a SLURP release we could remove them by 2027.2. Even if we don\u0027t remove them in 2027.2, we can still keep this target release for removal.","commit_id":"76df67afa1232d6611612facad6fcf2618f38372"}],"watcher/decision_engine/strategy/strategies/outlet_temp_control.py":[{"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":"667ee23c7cb358e8c16880df03b218bf3f2bbeae","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"warnings.simplefilter(\u0027always\u0027)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"@removals.removed_class("}],"source_content_type":"text/x-python","patch_set":1,"id":"14a3d3dd_43c8d96f","line":47,"updated":"2026-09-18 19:25:13.000000000","message":"The change adds `warnings.simplefilter(\u0027always\u0027)` at import time in outlet_temp_control.py (line 47), saving_energy.py (line 34) and uniform_airflow.py (line 31). CPython prepends this catch-all entry to the process-global `warnings.filters`, shadowing every filter configured before the import (operator PYTHONWARNINGS or embedding application configuration). watcher/decision_engine/strategy/strategies/__init__.py imports all three modules and watcher/decision_engine/manager.py:44 imports that package when watcher-decision-engine starts, so each decision-engine process mutates global warning state at startup. debtcollector\u0027s @removals.removed_class already emits DeprecationWarning on instantiation or subclassing without any global filter change.\n\n**Severity**: WARNING | **Confidence**: 0.82\n\n**Impact**: After any of these imports, warning filters configured earlier in the process stop matching: operator PYTHONWARNINGS settings and embedding-application filters are overridden, previously suppressed warnings reappear for every library in the process (stderr/log noise), and the effect lasts for the lifetime of the decision-engine service. The same global decision now has four independent implementations that must be edited together.\n\n**Suggestion**:\nDrop the three new `warnings.simplefilter(\u0027always\u0027)` calls; the @removals.removed_class decorators already emit DeprecationWarning when the strategies are instantiated. If deprecations must be surfaced by default, configure warnings once at the service entry point or CI configuration instead of mutating global state per strategy module, and consider removing the noisy_neighbor.py:31 copy in a follow-up.","commit_id":"76df67afa1232d6611612facad6fcf2618f38372"}]}
