)]}'
{"releasenotes/notes/2026.2-prelude-f539788e6f02552d.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":"b296cd73ec41e8f466e92eb447f8277fb1e87339","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    concurrency library, is now deprecated and will be removed in a future"},{"line_number":14,"context_line":"    release."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"    The migration from legacy per-service clients to openstacksdk continues"},{"line_number":17,"context_line":"    across the codebase. Building on the novaclient migration from the previous"},{"line_number":18,"context_line":"    release, the Cinder, Keystone, and Placement integrations now use"},{"line_number":19,"context_line":"    openstacksdk, removing the python-cinderclient and python-keystoneclient"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"0e62c9d2_e8b21c70","line":16,"updated":"2026-09-03 13:08:39.000000000","message":"The new 2026.2 prelude states the Cinder, Keystone, and Placement migrations are \u0027aligning all integrations on OpenStack\u0027s standard client library\u0027. This is technically inaccurate: the Ironic integration still obtains its client through python-ironicclient (watcher/common/clients.py imports ironicclient and builds the client via _get_client_option(\u0027ironic\u0027, \u0027api_version\u0027)), and the Gnocchi datasource still depends on gnocchiclient. Only the Nova, Cinder, Keystone, and Placement integrations use openstacksdk.\n\n**Severity**: WARNING | **Confidence**: 0.85\n\n**Impact**: Operators reading the reno-rendered prelude may conclude the whole codebase (including the baremetal data model) no longer depends on legacy per-service clients, which is wrong and could mislead deployment or upgrade planning (e.g., assuming ironicclient can be dropped from images). Release notes are immutable once shipped, so the inaccuracy cannot be corrected retroactively.\n\n**Suggestion**:\nReword to scope the claim to the migrated services, e.g. \u0027...removing the python-cinderclient and python-keystoneclient dependencies and aligning these OpenStack service integrations on openstacksdk.\u0027 Optionally add \u0027(the Ironic integration continues to use python-ironicclient)\u0027 for clarity.","commit_id":"a689f30195ad42c88d4014adfad27179eb3c6478"},{"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":"cc49da3a44e5bb521a39393ff362f3e032f86d2c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    The migration from legacy per-service clients to openstacksdk continues"},{"line_number":17,"context_line":"    across the codebase. Building on the novaclient migration from the previous"},{"line_number":18,"context_line":"    release, the Cinder, Keystone, and Placement integrations now use"},{"line_number":19,"context_line":"    openstacksdk, removing the python-cinderclient and python-keystoneclient"},{"line_number":20,"context_line":"    dependencies and aligning all integrations on OpenStack\u0027s standard client"},{"line_number":21,"context_line":"    library."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7fe70343_1a63ea49","line":19,"updated":"2026-09-03 19:33:17.000000000","message":"The prelude says the Cinder, Keystone, and Placement migrations are \u0027aligning all integrations on OpenStack\u0027s standard client library\u0027. The claim of full alignment is inaccurate: requirements.txt still declares python-ironicclient\u003e\u003d2.5.0 and gnocchiclient\u003e\u003d7.0.1 (plus python-observabilityclient), so the baremetal and datasource integrations have not moved to openstacksdk.\n\n**Severity**: SUGGESTION | **Confidence**: 0.85\n\n**Impact**: Operators reading the release notes could assume no legacy per-service clients remain, misjudging dependency footprint and packaging for deployments that also use the baremetal data model or gnocchi datasources. The impact is limited to a subordinate clause, hence low severity.\n\n**Recommendation**:\nQualify the sentence, e.g. \u0027aligning the compute, storage, and identity integrations on OpenStack\u0027s standard client library\u0027 or \u0027moving the remaining core integrations to openstacksdk\u0027, leaving the ironic and datasource clients out of the claim.","commit_id":"dd9cc3f9abf5a26845105e2066c30116f191442e"},{"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":"cc49da3a44e5bb521a39393ff362f3e032f86d2c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    New feature capabilities include support for ``default_parameters`` on"},{"line_number":40,"context_line":"    audit templates (API microversion 1.7), allowing operators to pre-configure"},{"line_number":41,"context_line":"    strategy parameter values directly on a template so that audits inherit"},{"line_number":42,"context_line":"    them automatically. The action catalog also grows with two new actions:"},{"line_number":43,"context_line":"    ``delete``, which permanently removes a server instance and its associated"},{"line_number":44,"context_line":"    resources, and ``shelve``, which frees a host\u0027s vCPU and RAM while"},{"line_number":45,"context_line":"    preserving the instance data."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"09f793cc_cf0261f4","line":42,"updated":"2026-09-03 19:33:17.000000000","message":"The prelude states the action catalog \u0027grows with two new actions: ``delete`` ... and ``shelve``\u0027. Neither action exists in the prepared repository: watcher/applier/actions/ contains no shelve or delete module, pyproject.toml [project.entry-points.\"watcher_actions\"] registers only migrate, nop, sleep, change_nova_service_state, resize, change_node_power_state, volume_migrate, and stop, and no other release note or commit in the tree introduces these actions. The statement is therefore unsupported by the code being released.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: If this prelude ships as-is without those actions landing later in the cycle, the published 2026.2 release notes mislead operators into believing Watcher can delete or shelve instances via the action catalog, affecting planning, policy authoring, and strategy expectations. Even if the features are planned, the paragraph currently documents behavior the repository does not have.\n\n**Suggestion**:\nEither land the delete and shelve actions (with their watcher_actions entry points and dedicated reno notes) before the 2026.2 release cut, or remove/defer this paragraph from the prelude until the implementations exist. If the actions are already in flight as separate changes, reference their blueprint or bug so the claim is traceable.","commit_id":"dd9cc3f9abf5a26845105e2066c30116f191442e"}]}
