)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"695018c3e0f4e0a4c6224ea1de00b83db4e365d5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0e06782b_5f4ef913","updated":"2026-08-05 09:59:28.000000000","message":"Suggestion around naming inline","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9dcfca598e95029f307232faa71d65213fa20ba2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f73cf3dc_e4e513c7","updated":"2026-09-01 16:59:57.000000000","message":"Holding off on +2/+W to give gtema time to respond","commit_id":"7cf74120cdc7be8d4ab4963d37aacbb86edac612"}],"openstackclient/network/v2/subnet_onboard.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7d5e65b730c12b5ced7a33eeb99fc3243f8ccdf5","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            parsed_args.network, ignore_missing\u003dFalse"},{"line_number":54,"context_line":"        )"},{"line_number":55,"context_line":"        try:"},{"line_number":56,"context_line":"            client.onboard_network_subnets(subnet_pool, network)"},{"line_number":57,"context_line":"        except Exception as e:"},{"line_number":58,"context_line":"            msg \u003d _(\"Failed to onboard subnets for network \u0027%(n)s\u0027: %(e)s\") % {"},{"line_number":59,"context_line":"                \u0027n\u0027: parsed_args.network,"}],"source_content_type":"text/x-python","patch_set":1,"id":"08a98816_d17e0647","line":56,"updated":"2026-07-03 19:03:03.000000000","message":"pep8: error: \"Proxy\" has no attribute \"onboard_network_subnets\"  [attr-defined]","commit_id":"a03eae6a50affc31ccc8678e5e4973e32d82c705"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"93ae8f9de99ade1ad036bd9d32209625f7a6003b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            parsed_args.network, ignore_missing\u003dFalse"},{"line_number":54,"context_line":"        )"},{"line_number":55,"context_line":"        try:"},{"line_number":56,"context_line":"            client.onboard_network_subnets(subnet_pool, network)"},{"line_number":57,"context_line":"        except Exception as e:"},{"line_number":58,"context_line":"            msg \u003d _(\"Failed to onboard subnets for network \u0027%(n)s\u0027: %(e)s\") % {"},{"line_number":59,"context_line":"                \u0027n\u0027: parsed_args.network,"}],"source_content_type":"text/x-python","patch_set":2,"id":"e0356c44_4a0ffce7","line":56,"updated":"2026-07-07 16:59:50.000000000","message":"pep8: error: \"Proxy\" has no attribute \"onboard_network_subnets\"  [attr-defined]","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"}],"openstackclient/network/v2/subnet_pool.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"add2be4a162e909cd087edfbcafc6de2c536e1fa","unresolved":false,"context_lines":[{"line_number":550,"context_line":"            parsed_args.network, ignore_missing\u003dFalse"},{"line_number":551,"context_line":"        )"},{"line_number":552,"context_line":"        try:"},{"line_number":553,"context_line":"            client.onboard_network_subnets(subnet_pool, network)"},{"line_number":554,"context_line":"        except Exception as e:"},{"line_number":555,"context_line":"            msg \u003d _(\"Failed to onboard subnets for network \u0027%(n)s\u0027: %(e)s\") % {"},{"line_number":556,"context_line":"                \u0027n\u0027: parsed_args.network,"}],"source_content_type":"text/x-python","patch_set":3,"id":"2a925c56_af1dbaf5","line":553,"updated":"2026-08-12 13:30:12.000000000","message":"pep8: error: \"Proxy\" has no attribute \"onboard_network_subnets\"  [attr-defined]","commit_id":"b3987e940cd443a84ef10e86104edbc9ee774f6a"}],"pyproject.toml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"695018c3e0f4e0a4c6224ea1de00b83db4e365d5","unresolved":true,"context_lines":[{"line_number":481,"context_line":"network_segment_range_set \u003d \"openstackclient.network.v2.network_segment_range:SetNetworkSegmentRange\""},{"line_number":482,"context_line":"network_segment_range_show \u003d \"openstackclient.network.v2.network_segment_range:ShowNetworkSegmentRange\""},{"line_number":483,"context_line":"network_service_provider_list \u003d \"openstackclient.network.v2.network_service_provider:ListNetworkServiceProvider\""},{"line_number":484,"context_line":"network_onboard_subnet \u003d \"openstackclient.network.v2.subnet_onboard:NetworkOnboardSubnets\""},{"line_number":485,"context_line":"network_subport_list \u003d \"openstackclient.network.v2.network_trunk:ListNetworkSubport\""},{"line_number":486,"context_line":"network_trunk_create \u003d \"openstackclient.network.v2.network_trunk:CreateNetworkTrunk\""},{"line_number":487,"context_line":"network_trunk_delete \u003d \"openstackclient.network.v2.network_trunk:DeleteNetworkTrunk\""}],"source_content_type":"text/x-toml","patch_set":2,"id":"14600823_f096e8bf","line":484,"updated":"2026-08-05 09:59:28.000000000","message":"We are stuck with this for now (since we don\u0027t want to break existing users) but this isn\u0027t a great name. What we\u0027re actually doing is taking all subnets associated with a network and adding them to a subnet pool, right? Could we instead call this `subnet pool import network` or `subnet pool add network`? If so, the `NetworkOnboardSubnets` class could be a subclass of e.g. `AddSubnetsToSubnetPool` that emits a deprecation warning","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0c5a74a4e36476c7734ce527813fe4f97b13c49b","unresolved":true,"context_lines":[{"line_number":481,"context_line":"network_segment_range_set \u003d \"openstackclient.network.v2.network_segment_range:SetNetworkSegmentRange\""},{"line_number":482,"context_line":"network_segment_range_show \u003d \"openstackclient.network.v2.network_segment_range:ShowNetworkSegmentRange\""},{"line_number":483,"context_line":"network_service_provider_list \u003d \"openstackclient.network.v2.network_service_provider:ListNetworkServiceProvider\""},{"line_number":484,"context_line":"network_onboard_subnet \u003d \"openstackclient.network.v2.subnet_onboard:NetworkOnboardSubnets\""},{"line_number":485,"context_line":"network_subport_list \u003d \"openstackclient.network.v2.network_trunk:ListNetworkSubport\""},{"line_number":486,"context_line":"network_trunk_create \u003d \"openstackclient.network.v2.network_trunk:CreateNetworkTrunk\""},{"line_number":487,"context_line":"network_trunk_delete \u003d \"openstackclient.network.v2.network_trunk:DeleteNetworkTrunk\""}],"source_content_type":"text/x-toml","patch_set":2,"id":"53a82924_382bfd73","line":484,"in_reply_to":"14600823_f096e8bf","updated":"2026-08-12 11:26:22.000000000","message":"let me check it","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"f192405e861bd16a405ff4ba11661eb4e13eba35","unresolved":true,"context_lines":[{"line_number":481,"context_line":"network_segment_range_set \u003d \"openstackclient.network.v2.network_segment_range:SetNetworkSegmentRange\""},{"line_number":482,"context_line":"network_segment_range_show \u003d \"openstackclient.network.v2.network_segment_range:ShowNetworkSegmentRange\""},{"line_number":483,"context_line":"network_service_provider_list \u003d \"openstackclient.network.v2.network_service_provider:ListNetworkServiceProvider\""},{"line_number":484,"context_line":"network_onboard_subnet \u003d \"openstackclient.network.v2.subnet_onboard:NetworkOnboardSubnets\""},{"line_number":485,"context_line":"network_subport_list \u003d \"openstackclient.network.v2.network_trunk:ListNetworkSubport\""},{"line_number":486,"context_line":"network_trunk_create \u003d \"openstackclient.network.v2.network_trunk:CreateNetworkTrunk\""},{"line_number":487,"context_line":"network_trunk_delete \u003d \"openstackclient.network.v2.network_trunk:DeleteNetworkTrunk\""}],"source_content_type":"text/x-toml","patch_set":2,"id":"3d75606b_981f91a9","line":484,"in_reply_to":"22fef07c_2646a86d","updated":"2026-09-01 19:46:42.000000000","message":"Ah so I think I see where @artem.goncharov@gmail.com is coming from. So I think it matters WHAT is being modified. So if its a network property being modified then yes the verb comes last but if it\u0027s an object being attached to another object we tend to have the thing being added at the end.","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0a9f3d079d2a08857e71f563574f6d7f64bfe2b9","unresolved":false,"context_lines":[{"line_number":481,"context_line":"network_segment_range_set \u003d \"openstackclient.network.v2.network_segment_range:SetNetworkSegmentRange\""},{"line_number":482,"context_line":"network_segment_range_show \u003d \"openstackclient.network.v2.network_segment_range:ShowNetworkSegmentRange\""},{"line_number":483,"context_line":"network_service_provider_list \u003d \"openstackclient.network.v2.network_service_provider:ListNetworkServiceProvider\""},{"line_number":484,"context_line":"network_onboard_subnet \u003d \"openstackclient.network.v2.subnet_onboard:NetworkOnboardSubnets\""},{"line_number":485,"context_line":"network_subport_list \u003d \"openstackclient.network.v2.network_trunk:ListNetworkSubport\""},{"line_number":486,"context_line":"network_trunk_create \u003d \"openstackclient.network.v2.network_trunk:CreateNetworkTrunk\""},{"line_number":487,"context_line":"network_trunk_delete \u003d \"openstackclient.network.v2.network_trunk:DeleteNetworkTrunk\""}],"source_content_type":"text/x-toml","patch_set":2,"id":"8a425f15_c376db0a","line":484,"in_reply_to":"3d75606b_981f91a9","updated":"2026-09-02 08:54:28.000000000","message":"thanks for checking. If I understand well the naming is fine than for the new name (subnet pool add network) and as this one (network onboard subnet) is deprecated we can go.","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"be2a390a0e666f7545b3b11a5f23e63a5f60fc8d","unresolved":true,"context_lines":[{"line_number":481,"context_line":"network_segment_range_set \u003d \"openstackclient.network.v2.network_segment_range:SetNetworkSegmentRange\""},{"line_number":482,"context_line":"network_segment_range_show \u003d \"openstackclient.network.v2.network_segment_range:ShowNetworkSegmentRange\""},{"line_number":483,"context_line":"network_service_provider_list \u003d \"openstackclient.network.v2.network_service_provider:ListNetworkServiceProvider\""},{"line_number":484,"context_line":"network_onboard_subnet \u003d \"openstackclient.network.v2.subnet_onboard:NetworkOnboardSubnets\""},{"line_number":485,"context_line":"network_subport_list \u003d \"openstackclient.network.v2.network_trunk:ListNetworkSubport\""},{"line_number":486,"context_line":"network_trunk_create \u003d \"openstackclient.network.v2.network_trunk:CreateNetworkTrunk\""},{"line_number":487,"context_line":"network_trunk_delete \u003d \"openstackclient.network.v2.network_trunk:DeleteNetworkTrunk\""}],"source_content_type":"text/x-toml","patch_set":2,"id":"9ef377c0_7a0179d9","line":484,"in_reply_to":"3da4fe29_693717f8","updated":"2026-09-01 16:59:02.000000000","message":"@artem.goncharov@gmail.com Are you referring to `network onboard subnet` or `subnet pool add network`? If the latter, `add` is pretty common and is explicitly called out in the [HCI docs](https://github.com/openstack/python-openstackclient/blob/master/doc/source/contributor/humaninterfaceguide.rst#add-remove). If the former, note that this is the deprecated alias and it\u0027s being replaced","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"caa18bb390cf19b658d7c42f13defcdcbfa51e62","unresolved":true,"context_lines":[{"line_number":481,"context_line":"network_segment_range_set \u003d \"openstackclient.network.v2.network_segment_range:SetNetworkSegmentRange\""},{"line_number":482,"context_line":"network_segment_range_show \u003d \"openstackclient.network.v2.network_segment_range:ShowNetworkSegmentRange\""},{"line_number":483,"context_line":"network_service_provider_list \u003d \"openstackclient.network.v2.network_service_provider:ListNetworkServiceProvider\""},{"line_number":484,"context_line":"network_onboard_subnet \u003d \"openstackclient.network.v2.subnet_onboard:NetworkOnboardSubnets\""},{"line_number":485,"context_line":"network_subport_list \u003d \"openstackclient.network.v2.network_trunk:ListNetworkSubport\""},{"line_number":486,"context_line":"network_trunk_create \u003d \"openstackclient.network.v2.network_trunk:CreateNetworkTrunk\""},{"line_number":487,"context_line":"network_trunk_delete \u003d \"openstackclient.network.v2.network_trunk:DeleteNetworkTrunk\""}],"source_content_type":"text/x-toml","patch_set":2,"id":"bbcf1d16_0c03405e","line":484,"in_reply_to":"53a82924_382bfd73","updated":"2026-08-12 12:13:04.000000000","message":"actually I think it is nice, the user has clear message, so I can accept this, I don\u0027t know if we have to set some kind of deprecation period for this?","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"13628f427414649b8a988f5ed44e3a7fba7ec674","unresolved":false,"context_lines":[{"line_number":481,"context_line":"network_segment_range_set \u003d \"openstackclient.network.v2.network_segment_range:SetNetworkSegmentRange\""},{"line_number":482,"context_line":"network_segment_range_show \u003d \"openstackclient.network.v2.network_segment_range:ShowNetworkSegmentRange\""},{"line_number":483,"context_line":"network_service_provider_list \u003d \"openstackclient.network.v2.network_service_provider:ListNetworkServiceProvider\""},{"line_number":484,"context_line":"network_onboard_subnet \u003d \"openstackclient.network.v2.subnet_onboard:NetworkOnboardSubnets\""},{"line_number":485,"context_line":"network_subport_list \u003d \"openstackclient.network.v2.network_trunk:ListNetworkSubport\""},{"line_number":486,"context_line":"network_trunk_create \u003d \"openstackclient.network.v2.network_trunk:CreateNetworkTrunk\""},{"line_number":487,"context_line":"network_trunk_delete \u003d \"openstackclient.network.v2.network_trunk:DeleteNetworkTrunk\""}],"source_content_type":"text/x-toml","patch_set":2,"id":"4ccce49c_dc1526ed","line":484,"in_reply_to":"8a425f15_c376db0a","updated":"2026-09-02 09:07:38.000000000","message":"my bad, I have missed we already have a very confusing dual moral of placing action as the second word and not always after the resource. This may look more \"human friendly\", but is at the same time very confusing by introducing controversial conventions.","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"b939d1cd4fea970e9be323d880c970c0a238526d","unresolved":true,"context_lines":[{"line_number":481,"context_line":"network_segment_range_set \u003d \"openstackclient.network.v2.network_segment_range:SetNetworkSegmentRange\""},{"line_number":482,"context_line":"network_segment_range_show \u003d \"openstackclient.network.v2.network_segment_range:ShowNetworkSegmentRange\""},{"line_number":483,"context_line":"network_service_provider_list \u003d \"openstackclient.network.v2.network_service_provider:ListNetworkServiceProvider\""},{"line_number":484,"context_line":"network_onboard_subnet \u003d \"openstackclient.network.v2.subnet_onboard:NetworkOnboardSubnets\""},{"line_number":485,"context_line":"network_subport_list \u003d \"openstackclient.network.v2.network_trunk:ListNetworkSubport\""},{"line_number":486,"context_line":"network_trunk_create \u003d \"openstackclient.network.v2.network_trunk:CreateNetworkTrunk\""},{"line_number":487,"context_line":"network_trunk_delete \u003d \"openstackclient.network.v2.network_trunk:DeleteNetworkTrunk\""}],"source_content_type":"text/x-toml","patch_set":2,"id":"22fef07c_2646a86d","line":484,"in_reply_to":"bbcf1d16_0c03405e","updated":"2026-09-01 18:47:21.000000000","message":"Let\u0027s add both. We\u0027ve got a few commands that are duplicated because we\u0027ve created a better name. @artem.goncharov@gmail.com there\u0027s examples already for routers with `router add gateway` and `router add subnet` which make it clear what we\u0027re adding.","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"dcc06116a13455376c4baf9e049f3af422d8b1b3","unresolved":true,"context_lines":[{"line_number":481,"context_line":"network_segment_range_set \u003d \"openstackclient.network.v2.network_segment_range:SetNetworkSegmentRange\""},{"line_number":482,"context_line":"network_segment_range_show \u003d \"openstackclient.network.v2.network_segment_range:ShowNetworkSegmentRange\""},{"line_number":483,"context_line":"network_service_provider_list \u003d \"openstackclient.network.v2.network_service_provider:ListNetworkServiceProvider\""},{"line_number":484,"context_line":"network_onboard_subnet \u003d \"openstackclient.network.v2.subnet_onboard:NetworkOnboardSubnets\""},{"line_number":485,"context_line":"network_subport_list \u003d \"openstackclient.network.v2.network_trunk:ListNetworkSubport\""},{"line_number":486,"context_line":"network_trunk_create \u003d \"openstackclient.network.v2.network_trunk:CreateNetworkTrunk\""},{"line_number":487,"context_line":"network_trunk_delete \u003d \"openstackclient.network.v2.network_trunk:DeleteNetworkTrunk\""}],"source_content_type":"text/x-toml","patch_set":2,"id":"3da4fe29_693717f8","line":484,"in_reply_to":"bbcf1d16_0c03405e","updated":"2026-09-01 15:39:32.000000000","message":"would be good to follow the convention of action being on the last place, otherwise it is another inconvenient inconsistency.","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"}],"releasenotes/notes/Move-Subnet-Onboard-CLI-to-OSC-f2658e325d204df3.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"695018c3e0f4e0a4c6224ea1de00b83db4e365d5","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    OSC command for ``subnet onboard`` moved from"},{"line_number":5,"context_line":"    ``python-neutronclient``. The following command is now"},{"line_number":6,"context_line":"    available from openstackclient:"},{"line_number":7,"context_line":"    * ``network onboard subnets``"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"32913677_fd722773","line":6,"updated":"2026-08-05 09:59:28.000000000","message":"You need a newline here for this to render properly","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"caa18bb390cf19b658d7c42f13defcdcbfa51e62","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    OSC command for ``subnet onboard`` moved from"},{"line_number":5,"context_line":"    ``python-neutronclient``. The following command is now"},{"line_number":6,"context_line":"    available from openstackclient:"},{"line_number":7,"context_line":"    * ``network onboard subnets``"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3b52f1f7_bfe918cd","line":6,"in_reply_to":"32913677_fd722773","updated":"2026-08-12 12:13:04.000000000","message":"Done","commit_id":"885128d6fcf192f3529e749c792fceedad99008a"}]}
